checksy is a small Go CLI that runs a fixed set of connectivity checks against public targets and shows a compact verdict table so you can see whether the internet is working, and where it looks broken.
Stable Homebrew install:
brew install flexdinesh/tap/checksyHomebrew builds checksy from source, installing Go as a build dependency. Existing cask installs must be migrated once:
brew uninstall --cask checksy
brew update
brew install flexdinesh/tap/checksyAlternative stable install with Go:
@latest resolves to the newest stable SemVer tag, such as v0.1.0. There is no moving latest Git tag.
# Install the latest stable release.
go install github.com/flexdinesh/checksy/cmd/checksy@latest
# Install a specific stable release.
go install github.com/flexdinesh/checksy/cmd/checksy@v0.1.0Stable versions are published only through the manual Release workflow.
# Check internet connectivity and show the verdict table.
checksy
# Run silently for scripts and exit 0 when internet is up, 1 when down.
checksy --exit-code
# Use a custom per-check timeout.
checksy --timeout 2s
# Show measurement methods, full failure text, and raw trace details.
checksy --verbose
# Show help.
checksy --help
# Show the installed version.
checksy --versionThe terminal report puts the internet verdict first, followed by checks and
network facts. Colors follow your terminal's palette; terminals that expose
COLORFGBG receive matching light/dark shades. Override shades when needed:
CHECKSY_THEME=light checksy
CHECKSY_THEME=dark checksyNO_COLOR=1 disables styling. Piped output stays free of ANSI escapes. Narrow
terminals wrap checks and stack network facts; --verbose adds full details
below the compact report. Argument errors appear on stderr with a recovery hint.
checksy runs these checks concurrently:
- HTTP reachability to
https://connectivitycheck.gstatic.com/generate_204, expecting204. - Ping-style reachability to
1.1.1.1and8.8.8.8, using ICMP when available and TCP-connect fallback when unprivileged. - DNS resolution of
one.one.one.onethrough the system resolver. - Public egress IP discovery through Cloudflare's
/cdn-cgi/trace.
The internet verdict is driven by the HTTP connectivity check. Ping and DNS rows are diagnostics; they explain what looks broken, but they do not flip the exit code.
See docs/development.md.
The ICMP fallback decision is documented in docs/adr/0001-icmp-with-tcp-fallback.md.
Releases are created from main. See docs/release.md.