Expand description
§netspeed-cli
A command-line internet bandwidth tester using speedtest.net servers.
§Overview
This crate provides both a library and a binary (netspeed-cli) for
measuring download speed, upload speed, latency, jitter, and latency
under load. It connects to speedtest.net’s server infrastructure to
perform real-world bandwidth tests.
§Modules
cli— Command-line argument parsing with clapcommon— Shared utilities (bandwidth calculation, formatting, validation)config— Configuration merging (CLI args + config file)download— Multi-stream download bandwidth measurementupload— Multi-stream upload bandwidth measurementerror— Unified error typesformatter— Output formatting (detailed, simple, JSON, CSV)history— Persistent test result historyhttp— HTTP client creation and IP discoveryprogress— Terminal progress bars and spinnersservers— Server discovery, distance calculation, and selectiontest_runner— Test orchestration with template method patterntypes— Shared data structures (Server, TestResult, etc.)
Modules§
- bandwidth_
loop - Shared bandwidth measurement loop for download/upload tests.
- cli
- common
- Common shared utilities used across download, upload, formatting, and progress modules.
- config
- download
- Multi-stream download bandwidth measurement.
- error
- formatter
- Output formatting for speed test results.
- history
- http
- orchestrator
- Orchestrates the full speed test lifecycle.
- progress
- Terminal progress bars and spinners for test feedback.
- servers
- test_
runner - Test runner orchestration for download and upload bandwidth tests.
- types
- upload
- Multi-stream upload bandwidth measurement.