See every network,
from inside your own.
FourEyes is a self-hosted active-monitoring platform — the self-hosted answer to ThousandEyes. Lightweight Go probe nodes run network, path, BGP, DNS, web, browser, transaction, and voice tests, and stream results to a single server with a fast React UI.
Two eyes are enough.
- ✓ One server, one node binary
- ✓ Outbound-only probes
- ✓ No per-test billing
# 1. install + run the server (auto-approves local nodes)
curl -fsSL https://github.com/metajar/foureyes/releases/latest/download/install.sh | sh -s -- --component server
foureyes --dev-certs
FOUREYES_AUTO_APPROVE=true foureyes
# 2. enroll a probe node (token from the UI)
curl -fsSL https://github.com/metajar/foureyes/releases/latest/download/install.sh | sh -s -- \
--component node --token=4E-... --server=host:8443
# open the UI
open https://localhost:8444 What if monitoring wasn't a tax?
Commercial network-monitoring tools bill per test unit, lock you into opaque licensing, and pile on UI clutter. FourEyes is the opposite: a single self-hosted server, probe nodes that weigh nothing, a proto-defined API, and a UI that shows you what matters.
Run the server
One Go binary. SQLite by default — no external database, no container required.
Enroll a node
A probe node dials out over mTLS with an enrollment token. It works behind NAT.
Define a test
Pick a probe type, point it at a target. Results stream back sub-second.
Everything you'd actually use
Nine probe types, correlation, GitOps, dashboards, and an observability export — all in the box.
HTTP & web
Availability, full httptrace timing breakdown, status, redirects, TLS expiry.
Path / ICMP
Ping latency + loss (unprivileged) and hop-by-hop traceroute visualization.
BGP
Receive-only session monitoring — FSM state, RIB-in counts, UPDATE tally.
DNS
Resolution against any server, with DNSSEC and full record-type coverage.
Browser page-load
Headless Chromium Navigation Timing, paint metrics, resource & byte costs.
Transactions
Closed step-list flows — navigate, click, fill, wait, assert. No RCE channel.
Voice / SIP
SIP signaling health (OPTIONS/REGISTER with digest auth). Signaling-only.
Agent-to-agent
Node-to-node loss & latency; auto-mesh keeps every pair wired automatically.
Dashboards & sharing
Composable widget boards and token-gated, frozen incident snapshots.
Alerting
Threshold + N-of-M with mandatory hysteresis; live alert stream.
GitOps
Declare tests, alerts, and dashboards as YAML; apply / diff / export.
Signed self-update
ed25519-verified, atomic node updates with jittered fleet rollouts.
A quickstart you can actually finish
From a clean install to live results in minutes. Download and run the server (it auto-approves local nodes for dev), then enroll a probe with a token. Open the UI. That's it.
Read the full quickstart →curl -fsSL .../install.sh | sh -s -- --component server
foureyes --dev-certs
FOUREYES_AUTO_APPROVE=true foureyes curl -fsSL .../install.sh | sh -s -- \
--component node --token=4E-... --server=host:8443 Start seeing your network today
Free, self-hosted, and yours. Five minutes to first results.