Skip to content

SID-Technologies/Vigil

Repository files navigation

Vigil

Continuous network reliability monitor with a desktop UI. Pings your router, anycast DNS, and real call-quality endpoints (Teams, Zoom, Outlook) on a fixed interval. Samples Wi-Fi signal. Detects outages. Generates the receipts you hand your ISP or property manager when they tell you the network is fine.

Lives in the system tray. Works on macOS, Windows, and Linux.

Vigil — from the Roman Vigiles, Rome's night watch. Built because an ISP and a managed property couldn't give a straight answer.

Screenshots

Dashboard — is the network ok right now?

Live RTT chart over the last 15 minutes, per-target status tiles, and a status banner that turns red the moment three consecutive failures land.

Vigil dashboard — live RTT and per-target tiles

Outages — the receipts

Every detected outage with exact start/end timestamps, duration, consecutive-failure count, and error-code breakdown. This is the page you screenshot when your ISP says "everything's fine."

Vigil outages timeline with timestamps and error breakdown

History — time-range explorer

Pick any window from 1 hour to 30 days. RTT trend, uptime %, p50/p95/p99 latency, and per-target stats. Generate CSV / JSON / HTML reports from any view.

Vigil history view with RTT trend and per-target stats

Install

Grab the latest release from github.com/sid-technologies/vigil/releases/latest.

macOS

Mac Download
Apple Silicon (M1 / M2 / M3 / M4) Vigil_<version>_aarch64.dmg
Intel Vigil_<version>_x64.dmg

Open the .dmg, drag Vigil to Applications, launch. That's it — builds are signed and notarized, so Gatekeeper just opens them.

Windows

Download Vigil_<version>_x64_en-US.msi, run the installer.

SmartScreen may show "Windows protected your PC" the first time. Click More info → Run anyway. Windows code-signing is on the roadmap; until then, the warning is expected.

Linux

Pick whichever fits your distro:

# Debian / Ubuntu / Mint / Pop!_OS
sudo dpkg -i vigil_<version>_amd64.deb
sudo apt-get install -f   # only if dpkg complains about deps

# Fedora / RHEL / openSUSE
sudo rpm -i Vigil-<version>-1.x86_64.rpm

# Anything else (Arch, NixOS, etc.)
chmod +x Vigil_<version>_amd64.AppImage
./Vigil_<version>_amd64.AppImage

ICMP probes use unprivileged sockets — works without sudo on Ubuntu/Fedora out of the box. On locked-down distros, add yourself to net.ipv4.ping_group_range.

Auto-update

Once installed, Vigil checks for updates on launch. When a new version ships, the sidebar shows v<current> → v<new>. Click it to install — Vigil downloads, verifies the signature, and relaunches itself.

First launch

  1. The dashboard begins probing immediately — every 2.5 seconds, 13 default targets (router + Google/Cloudflare DNS + Teams/Zoom/Outlook + STUN). Within seconds you'll see "Last cycle: 13/13 ok" if everything's healthy.
  2. Vigil lives in the tray — close the window and it keeps probing in the background. Right-click the tray icon for Show / Hide / Open data folder / Launch on login / Quit.
  3. Outages auto-detect — three consecutive failures of the same target trigger an outage event. Lose Wi-Fi for ten seconds and the dashboard goes red.
  4. Generate a report any time — History page → Generate report. Pick CSV / JSON / HTML, choose a folder. The HTML report is a self-contained dashboard you can email to your ISP.

Data lives in:

  • macOS: ~/Library/Application Support/dev.vigil.desktop/
  • Windows: %APPDATA%\dev.vigil.desktop\
  • Linux: ~/.local/share/dev.vigil.desktop/

The tray menu has an "Open data folder" shortcut.

Keyboard shortcuts

Press Shift+? from anywhere in the app to see the full shortcut overlay. The essentials:

  • ⌘1⌘5 (Ctrl+… on Windows / Linux) — jump between Dashboard, History, Outages, Targets, Settings
  • ⌘S — save Settings
  • Esc — close any modal

What's where

cmd/vigil-sidecar/        Entry point for the Go sidecar
internal/                 Sidecar internals (probes, monitor, aggregator, IPC, storage)
pkg/                      Reusable Go packages (errors, log, buildinfo)
db/ent/schema/            Ent schemas (single source of truth for the SQLite layout)
apps/desktop/             Tauri shell + React frontend
packages/configs/         Tamagui config, theme controller, fonts
scripts/                  Build + release helpers
.github/workflows/        CI + release pipelines

The desktop app is a Tauri 2.x shell wrapping a Go sidecar over stdio JSON-RPC. The sidecar owns the probe loop, SQLite, aggregation, and outage detection. The shell handles tray, window lifecycle, and the auto-updater. See CLAUDE.md for the full architecture, conventions, and release runbook.

Development

Prerequisites

Quick start

# Install JS deps
pnpm install

# Generate Ent code (only needed first time / after schema changes)
make gen-ent

# Build the Go sidecar for the host platform and drop it where Tauri expects it
make build-sidecar

# Run the desktop app in dev mode (Vite + Tauri)
make desktop-dev

Make targets

Run make help to see them all. The frequently-used ones:

  • make gen-ent — Run Ent codegen after editing schemas in db/ent/schema/.
  • make build-sidecar — Cross-compile the Go sidecar for the host platform.
  • make desktop-dev — Start Vite + Tauri in dev mode (depends on build-sidecar).
  • make desktop-build — Production bundle (.dmg / .msi / AppImage).
  • make desktop-icons — Regenerate all Tauri icon sizes from apps/desktop/app-icon.png.
  • make lint — Run all linters via pre-commit.
  • make test — Run Go tests.

Contributing

Issues and PRs welcome. A few ground rules:

  • Keep the watchman voice — Vigil reports state matter-of-factly. No alarm-emoji panic, no gamification, no condescension.
  • Sidecar logs go to a file in the OS app-data dir. Stdout is reserved for IPC; never fmt.Println from the sidecar.
  • Probe defaults are conservative on purpose (2.5 s cadence, 2 s timeout). Don't tighten them without a reason — Vigil's job is to not be the thing degrading the network.
  • See CLAUDE.md for architecture, conventions, and the release runbook.

License

MIT. See LICENSE.

Credits

Built and maintained by SID Technologies. Vigil is one of SID's open-source tools — see also Pilum (multi-cloud deployment CLI).

About

Continuous network reliability monitor that watches when your ISP and property manager won't. Pings, DNS, STUN, and Wi-Fi — every outage timestamped for the conversation that follows.

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors