Tray switch
Green when the exit IP matches the pinned IP, red when it doesn’t. Left-click toggles the tunnel.
singbox-watch
Tray switch + fail-closed kill-switchA Windows tray controller, watchdog and fail-safe toolkit for a sing-box tunnel with a static exit IP. Two small Rust binaries: proxy-tray.exe and singbox-watch.exe.
Read this first: by design, the kill-switch closes claude.exe and Claude Code’s node.exe whenever the tunnel is off or the exit IP is wrong. See What gets killed.
01
Run the downloaded file and follow the wizard.
This is the project’s own one-file installer.
sing-box.exe, else %USERPROFILE%\singbox-watch. No admin needed.expected-exit-ip.txt if none exists.singbox-watch-setup-1.0.0.exe --silent [--dir <path>]
singbox-watch-setup-1.0.0.exe --uninstall [--silent]
singbox-watch-setup-1.0.0.exe --extract <dir>
build-installer.cmd
cd singbox-watch-mac && xattr -dr com.apple.quarantine . && ./install.sh02
From the project’s README.
Green when the exit IP matches the pinned IP, red when it doesn’t. Left-click toggles the tunnel.
Turning the proxy off first kills every matched app with a native path. Measured under 100 ms.
An always-on-top red “TUNNEL BYPASSED” banner when the exit IP changes unexpectedly.
If a matched app starts while the tunnel is down, it is suspended until the tunnel is up and the exit IP is verified.
A hidden per-minute task brings back the tray app, the banner watcher and the tunnel. A crashed tunnel heals in under a minute.
proxy-tray.exe --doctor prints a full health report: exit IP, processes, tasks, autostart, WebRTC policy.
03
sing-box-tun).