Nothing is green by default
Healthy rows stay quiet. No check means unknown, never up.
v0.8.1 · MIT · self-hosted
From where, via which path, reaching what — and on what evidence.
Self-hosted network and service monitoring, read in the terminal. One Go binary, no dependencies, and nothing turns green until a check passes.
go install github.com/WhitenWhiten/topophany/cmd/topo@latest
01 The terminal UI
A recording of topo preview: the real TUI, on synthetic evidence.
Press x and home loses the line to the transit host in Los Angeles. Only confirmed failures turn red.
1–9 chapters space pause. Or run topo preview yourself.
02 Semantics
Nothing turns green without a passing check. What nobody monitors stays unknown.
Healthy rows stay quiet. No check means unknown, never up.
A failure seen from one place is a fault on that path, not a server outage.
An answer from the CDN proves the edge. Only a response it says it fetched proves the origin.
✖ INCIDENTVLESS+Reality entryBandwagonHost · Los Angeles
Incidents show their evidence. Anything more is marked as a hypothesis.
03 Architecture
topo is the client, the collector and the observer. No CGO, no database, no external modules.
observers
collectors
clients
topo workera laptop at hometopo workera server in Tokyotopo serve --observerthe collector's own baselinetopo servejournal A · fsync before ACKtopo servejournal B · independenttopothe TUI, with failovertopo --jsona snapshot for scriptsWorkers send to both and buffer while one is away.
No remote config API, no remote shell. Topology is local JSON you review.
When a quota fills, probing stops with an error rather than dropping evidence.
04 Probes
Native probes, proxy chains, and read-only adapters for tools you already run.
05 Install
Prebuilt archives, or one go install.
go install github.com/WhitenWhiten/topophany/cmd/topo@latestNeeds Go 1.26.9 or newer.
Linux, macOS and Windows, amd64 and arm64, with SHA256SUMS.txt.
git clone https://github.com/WhitenWhiten/topophany
cd topophany
go build -trimpath -o topo ./cmd/topoA built-in demo. Press x to break something.
topo previewServes a demo on 127.0.0.1:7447.
topo init --dir ./demo
topo serve --config ./demo/topology.json \
--auth ./demo/auth.json \
--data ./demo/collector-data \
--observer demoIn another terminal.
topo --credentials ./demo/credentials.json