Skip to content
flexdineshPublic

About

a cli to check network connectivity

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

checksy

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.

Install

Stable Homebrew install:

brew install flexdinesh/tap/checksy

Homebrew 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/checksy

Alternative 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.0

Stable versions are published only through the manual Release workflow.

Usage

# 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 --version

The 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 checksy

NO_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.

Checks

checksy runs these checks concurrently:

  • HTTP reachability to https://connectivitycheck.gstatic.com/generate_204, expecting 204.
  • Ping-style reachability to 1.1.1.1 and 8.8.8.8, using ICMP when available and TCP-connect fallback when unprivileged.
  • DNS resolution of one.one.one.one through 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.

Development

See docs/development.md.

The ICMP fallback decision is documented in docs/adr/0001-icmp-with-tcp-fallback.md.

Releases

Releases are created from main. See docs/release.md.

About

a cli to check network connectivity

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages