Network Control Center

RouteWatch

Six offices, ten targets, one grid that names whose network is at fault.

Free right now — no account, no card

Get RouteWatch free Windows & Mac · one file, nothing to install

Preview

1 interface design, then a screenshot of it running. Drag, scroll or use the arrows.

Interface design RouteWatch, 1 of 1
Screenshot RouteWatch running on Windows today

Free while we’re in preview

Get RouteWatch

Six offices, ten targets, one grid that names whose network is at fault.

The Mac button is for Apple Silicon. On an older Intel Mac, get this one instead.

One file, both ways. Double-click it for the window. Run the same file from a command prompt with arguments and it behaves as the command-line tool, because the engine is inside it. Nothing else to download and nothing to keep beside it.

Early preview. The window has been built and run, but not yet on a real Windows PC or Mac, so expect rough edges. The engine underneath it is fully tested.

  • One file — no installer
  • Reaches only what you point it at
  • Source code published below

Free while in preview. It isn’t signed yet, so Windows or macOS will ask you to confirm the first time you open it. At launch, RouteWatch is included in every plan along with the rest of the range.

Rows, columns, cells

A probe agent at each office measures TCP connect latency to the same list of targets and writes a JSON report. Collect those files however you already move files around, then routewatch matrix merges them into a grid: sites down the side, targets across the top.

The shape of the slowness is the answer. A slow row means that site’s own uplink. A slow column means the target itself, because everybody sees it. One hot cell means only the path between those two endpoints. routewatch decomposes the grid by Tukey median polish and names which of the three it is, in words, every time it prints one.

X is a measurement that was taken and failed. . is a measurement never taken at all. Those are kept apart deliberately.

The honest part

TCP connect, not ICMP, because raw sockets need root. Readings run higher than ping and aren’t comparable with it, and a server that’s slow to accept looks exactly like a slow link from here.

It can’t see which hop is slow either. There’s no traceroute and no per-hop timing, only the two ends. And a site that stops reporting is simply absent from the grid rather than marked failed, because collecting the files was never its job.

Reading on the job itself

Advanced & technical details Command-line builds, source code, checksums and a recorded session — for developers and IT teams

A working command-line build of the probe and matrix engine: TCP connect latency with percentile statistics, a site-by-target grid, and a median-polish diagnosis that separates “this site is slow to everything” from “everyone is slow to this service”. It measures end to end, so it names the bad link rather than the bad hop; per-hop analysis is on the roadmap.

Naming status

Working name only — brand verdict **AVOID** (Very High). Collision: RouteWatch®. Rename completely.

What it draws on

Existing paid software whose best ideas shaped this program: GlassWire Premium, NetLimiter, PingPlotter Professional, NetWorx.

Command line

There is nothing extra to install. The program you download is the command-line tool as well: give it arguments instead of double-clicking it and it runs as one, with its output on your terminal. The standalone builds below are the same engine on its own, for machines where you would rather not ship a window at all.

routewatch 1.0.0 - multi-site latency matrix

USAGE
    routewatch <command> [flags]

COMMANDS
    probe     Agent command: measure TCP connect latency to every target and
              write this site's report file
    matrix    Merge every site's report into one grid (rows = reporting sites,
              columns = targets) and say whether a SITE, a TARGET or a single
              LINK is the problem
    worst     Rank the worst site->target links across all reports
    help      Show this help

WHY A MATRIX
    One machine can only tell you that it is slow. Several vantage points
    measuring the same targets can tell you WHOSE fault it is: a whole slow row
    means that site's uplink, a whole slow column means the target itself, and a
    single hot cell means the path between just those two.

TARGET LIST (JSON)
    {
      "targets": [
        {"name": "dc-east", "addr": "10.0.0.10:443"},
        {"name": "dc-west", "addr": "10.1.0.10:443"}
      ]
    }
    A bare JSON array of target objects is also accepted, and "target" works as
    an alias for "addr".

EXAMPLES
    routewatch probe  --site hq --targets targets.json --out reports/hq.json
    routewatch matrix reports/hq.json reports/branch.json
    routewatch matrix --dir reports --metric p95
    routewatch worst  --dir reports --top 3 --json

Run "routewatch <command> --help" for per-command flags.

Recorded from the shipped binary, not written by hand.

Source

Every file the program is built from:

console.go · console_test.go · guided.go · main.go

SHA-256 checksums · build instructions & scope notes · full build plan