Network Control Center

LinkGuard

Probe the link every 30 seconds for a month, then write four lines about it.

Free right now — no account, no card

Get LinkGuard 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 LinkGuard, 1 of 1
Screenshot LinkGuard running on Windows today

Free while we’re in preview

Get LinkGuard

Probe the link every 30 seconds for a month, then write four lines about it.

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, LinkGuard is included in every plan along with the rest of the range.

A log of transitions, not a heap of samples

Probe a target every five seconds for a week and, if it never fails, LinkGuard writes exactly one line for it. A line goes in only when a target is seen for the first time, or when it genuinely flips between up and down. That’s what keeps the file small enough to keep forever and meaningful enough to compute against.

The arithmetic

report reads the ledger and gives you uptime percentage, outage count, total downtime, longest outage and mean time to recovery, per target and across the whole set. The definitions are written down because availability numbers mean nothing without them. An outage still running counts toward downtime and is excluded from MTTR, since you cannot average a recovery that hasn’t happened.

Cron is a first-class way to run it

watch --once reads the existing ledger, recovers each target’s last known state, runs one round and exits. Repeated single rounds drive the same state machine as one long-running process. Every record is fsynced as it’s written.

No ping

ICMP needs a raw socket and elevation. LinkGuard uses TCP connect, HTTP GET and DNS resolution instead, which proves the service is answering rather than that a network stack is alive. There’s no alerting either.

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 CLI prototype of the connectivity watchdog: it probes TCP, HTTP and DNS targets concurrently with a real timeout, and writes only STATE TRANSITIONS to an append-only ledger, so the file stays a history rather than a sample dump. From that it computes uptime percentage, outage count, longest outage and mean time to recovery — all hand-verified. ICMP ping needs raw-socket privileges and is deliberately not implemented.

Recorded session

Recorded terminal session showing LinkGuard running
A real recorded session — LinkGuard’s actual output, captured by running the shipped binary.

Naming status

Working name only — brand verdict **AVOID** (Very High). Collision: LinkGuard. 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.

linkguard 1.0.0 - connectivity watchdog with an append-only outage ledger

USAGE
    linkguard <command> [flags]

COMMANDS
    watch     Probe targets on a schedule; append UP<->DOWN transitions to a ledger
    probe     One-shot health check of every target (no ledger is written)
    report    Availability statistics computed from a ledger
    help      Show this help

TARGET TYPES
    tcp       Dial host:port; UP when the connection is established
    http      GET a URL; UP when the status matches expected_status (default any 2xx)
    dns       Resolve a hostname; UP when at least one address is returned

CONFIG FILE (JSON)
    {
      "targets": [
        {"name": "api",   "type": "http", "target": "http://127.0.0.1:8080/", "expected_status": 200},
        {"name": "db",    "type": "tcp",  "target": "127.0.0.1:5432"},
        {"name": "resolv","type": "dns",  "target": "localhost"}
      ]
    }
    A bare JSON array of target objects is also accepted.

EXAMPLES
    linkguard probe  --config targets.json
    linkguard watch  --config targets.json --ledger link.jsonl --once
    linkguard watch  --config targets.json --ledger link.jsonl --interval 30s
    linkguard report --ledger link.jsonl --json

Run "linkguard <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