Package: wnpp
Severity: wishlist
Owner: Antonio Cotos
<[email protected]>
X-Debbugs-Cc: [email protected],
[email protected]
- Package name: rust-sping (binary package: sping)
Version: 1.8.0
Upstream Contact: Antonio
Cotos <[email protected]>
- URL:https://github.com/LambdaBytes/sping
- License: MIT
Copyright: 2025-2026
Antonio Cotos
Programming Lang: Rust
Description: terminal-native real-time
connectivity monitor
sping probes one or more hosts and keeps a live view of each connection:
latency, jitter, loss, a quality grade with its trend, and outage timing.
It reads the network context of each target
(interface, source address, gateway). When it watches a single target, it also
probes the local gateway and a reference internet address alongside it, so that
an outage is attributed to where it most likely lies: the target, the upstream
network or the local network.
Features include:
- single-target live
view, multi-target table and batch mode
- ping-compatible classic output and exit codes, and NDJSON output
- unprivileged ICMP sockets on Linux; TCP connect probes (--tcp PORT)
- destination unreachable reported with the router that sent it
- experimental outage diagnosis: other IP family, TCP 443/80, trace
- sping --ip: the host's addresses, sources and gateway at a glance
Network traffic beyond the target:
While monitoring a
single target, sping also pings the local gateway and a reference address,
1.1.1.1 by default (--wan-probe), every 3 seconds.
Only "sping --ip --external" contacts a STUN server (stun.cloudflare.com by
default, or the one given);
"sping --ip" alone sends nothing.
Why this package is useful, and how it relates to
other packages: iputils-ping and
fping report each reply; gping draws latency as a graph;
prettyping colours ping's output; mtr combines traceroute and ping.
sping keeps one live summary per target
and interprets it: it tells a target that stopped answering apart from a local
or upstream outage, and says when the connection recovers.
Packaging and maintenance:
I am the upstream
author. I intend to package it within the Debian Rust Team, in debcargo-conf,
and I am looking for a sponsor. Every dependency is already in unstable
(socket2 0.5 through rust-socket2-0.5). The package will ship the sping binary
with its man page and bash, zsh and fish completions.
