A live terminal GUI for internet speed and connection monitoring, built on Rich.
Most speed test tools only tell you the number at the moment you ran them. TraceTrk is built around a different idea: watch what your connection is actually doing right now, for the real programs using it, instead of just pinging a synthetic target once and calling it done.
TraceTrk has three modes, run as tracetrk <mode>:
- surfing (default) — a one-off download / upload / ping test.
- gaming — a continuous ping/jitter/packet-loss monitor against a fixed
target (default
1.1.1.1:443), for watching a connection in real time during a game or call. - traffic — live delay and packet loss for your machine's real active
connections. Run
tracetrk trafficwith no arguments and it scans whatever is currently connected to something (Steam, Discord, a browser, a torrent client, ...) and opens an interactive checkbox menu to pick which ones to watch. Nothing is cached or preset: close an app and reopen it and the menu reflects that. Each watched connection also shows reverse-DNS hostname and rough geolocation (city/country) for where its traffic is actually going.
Every run (except when --no-save is passed) is saved to a local history
you can review with tracetrk --history, including a sparkline of your
download trend over time.
The idea started from noticing that Steam's in-game network overlay
doesn't show real-time packet loss and isn't much help diagnosing a bad
connection. TraceTrk's traffic mode grew out of wanting to see delay and
loss for your actual live traffic, filtered to whichever real programs
are running, rather than a synthetic ping to some arbitrary target.
Clone the repo and install its dependencies:
git clone https://github.com/St3inberg/tracetrk.git ~/.local/share/tracetrk
pip install -r ~/.local/share/tracetrk/requirements.txtThen add a launcher on your PATH, e.g. ~/.local/bin/tracetrk:
#!/usr/bin/env bash
exec env PYTHONPATH="$HOME/.local/share/tracetrk:$PYTHONPATH" python3 -m tracetrk "$@"chmod +x ~/.local/bin/tracetrkMake sure ~/.local/bin is on your PATH.
tracetrk # surfing mode: one-off speed test
tracetrk gaming # continuous ping/jitter/loss monitor
tracetrk gaming --target 8.8.8.8 --port 443 --interval 0.5
tracetrk traffic # pick programs interactively
tracetrk traffic --program steam --program discord
tracetrk traffic --list-programs # list connected programs, then exit
tracetrk --history # show saved results
tracetrk --json # surfing mode: print raw JSON, no GUI
tracetrk --no-save # don't record this run to history
tracetrk help # full option list
- Python 3
richspeedtest-cliquestionary
Geolocation lookups for traffic mode use the free
ip-api.com batch API and are cached locally to avoid
repeat lookups.
Licensed under the Apache License 2.0.