Net Health
Overview
Net Health is a lightweight, cross-platform desktop app that monitors your internet connectivity in real time. It probes a chain of well-known DNS servers via TCP and reports a green / yellow / red status so you always know whether your connection is healthy, degraded, or down — without opening a browser.
Features
- One-click monitoring — Start and stop the ping cycle with a single button.
- Live status badge — Colour-coded indicator updates every poll cycle.
- Per-server latency — See response times for each DNS server in the fallback chain.
- System tray integration — Status visible from the menu bar even when the window is hidden.
- Launch at login — Optionally start Net Health automatically when you log in to macOS.
- Configurable polling — Poll interval (5–60 s), latency threshold, and red-debounce count are all adjustable.
- Debounce logic — Requires consecutive failures before turning red, preventing false alarms from brief blips.
How It Works
On every poll cycle the app dials TCP :53 against a fallback chain of DNS servers:
Google (8.8.8.8), Cloudflare (1.1.1.1), Google secondary (8.8.4.4),
Cloudflare secondary (1.0.0.1), Quad9 (9.9.9.9), and OpenDNS (208.67.222.222).
No special OS permissions are needed — TCP to port 53 works on any network.
- 🟢 Green — Primary server (8.8.8.8) responded within 150 ms.
- 🟡 Yellow — Primary failed or was slow (>150 ms) but a fallback responded.
- 🔴 Red — All servers failed for 2 or more consecutive cycles.
The backend is written in Go and exposed to the frontend through Wails v2, which compiles the whole app into a single native binary with a React/TypeScript UI rendered in the OS's native WebView.
Tech Stack
- Go — Core monitoring engine, configuration persistence, and system-tray control.
- Wails v2 — Bridges Go backend to the frontend; packages everything into a native desktop app.
- React + TypeScript — Frontend UI, built with Vite for fast hot-reload during development.