Skip to content
St3inbergPublic

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Latest commit

 

History

9 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TraceTrk

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.

Modes

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 traffic with 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.

Origin

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.

Installation

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

Then 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/tracetrk

Make sure ~/.local/bin is on your PATH.

Usage

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

Requirements

Geolocation lookups for traffic mode use the free ip-api.com batch API and are cached locally to avoid repeat lookups.

License

Licensed under the Apache License 2.0.

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages