LambdaBytes / sping
git clone https://github.com/LambdaBytes/sping.git
v1.7.1 · 1d ago
A modern, cross-platform ping with real-time diagnostics, network context, quality scoring, and multi-target monitoring.
—
stars, 24h
—
stars, 7 days
+117
stars, 30 days · #1,965
117
★ total
7
forks · 0 open issues
Star history starts 2026-10-20; the chart appears after the second daily snapshot.
LanguageRust
LicenseMIT
Created2026-09-30 (20d ago)
Last push1d ago
Watchers1
OwnerUser
GitHub topics
Links
README excerpt
A modern ping for humans. Terminal-native, real-time connectivity monitor that doesn't just measure packets — **it interprets network context**. **Status:** functional and in active use, with a frozen JSON contract. Linux, macOS and Windows; x86_64, aarch64 and armv7 (Raspberry Pi). Answers three questions at once: 1. **Does the target respond?** — RTT, TTL, jitter, loss, quality score, trend 2. **Do I have network from this interface?** — gateway reachable, WAN reachable 3. **What type of problem is it?** — correlated diagnostics, automatic [code] ## What's new in 1.7.1 - **`--diagnose`** (experimental): when the target stops answering, sping probes further on its own (the other address family, TCP 443 and 80, a bounded traceroute) and says what still answers; see Diagnose. - **The name's lookups as evidence**: a lookup that fails while the WAN reference answers, or that gives no address of the family probed. - **Context changes while monitoring**: `context changed 00:03 ago: interface eth0 → wlan0`, for the interface, source, prefix, default gateway and target class. - **Fix**: an IPv6 target routed through an interface without IPv6 reads `no IPv6 source`, not `lo ::1/128`. Every change, version by version: CHANGELOG.md. ## Multi-target dashboard [code] [code] The table is live and needs a terminal: with stdout a file or a pipe, sping prints only each target's summary at the end (`-c N` stops it). Batch mode (`--batch`, below) prints per-host results or JSON. ## Install | Method | Command | Platforms | Man page and completions | |--------|---------|-----------|--------------------------| | Homebrew | `brew install LambdaBytes/tap/sping` | macOS | yes | | Scoop | `scoop install lambdabytes/sping`, once the bucket is added (see below) | Windows x86_64 | no | | crates.io | `cargo install sping` | Linux, macOS, Windows, with Rust 1.88+ | no | | Pre-built binary | from the Releases page | Linux, macOS, Windows | no | | Debian / Ubuntu package | `.deb` from the Releases page | Debian 12, Ubuntu 22.04, Raspberry Pi OS (Bookworm) or later | yes | | From source | `cargo build --release` | Linux, macOS, Windows, with Rust 1.88+ | no | ### Homebrew From v1.6.0 on. Builds from source and installs the binary, the man page and the shell completions: [code] ### Scoop From v1.6.0 on. Installs the release's Windows binary, the one listed in its `SHA256SUMS`: [code] `scoop update sping` moves it to a newer release. ### From crates.io Requires Rust 1.88+. Installs the binary only (no man page or shell completions): [code] ### Pre-built binaries Download from the Releases page: | Platform | Asset | |----------|-------| | Linux x86_64 | `sping-vX.Y.Z-linux-x86_64` | | Linux aarch64 | `sping-vX.Y.Z-linux-aarch64` | | Linux x86_64, static | `sping-vX.Y.Z-linux-x86_64-musl` | | Linux aarch64, static | `sping-vX.Y.Z-linux-aarch64-musl` | | Windows x86_64 | `sping-vX.Y.Z-windows-x86_64.exe` | | macOS Apple Silicon | `sping-vX.Y.Z-macos-arm64` | | Debi