ndt7-client
A Rust client library and CLI for ndt7, the network speed test protocol developed by M-Lab.
ndt7 measures download and upload throughput using WebSocket connections to M-Lab's global server infrastructure, providing TCP-level metrics (latency, retransmission) alongside application-level throughput.
Library usage
use ClientBuilder;
use Origin;
async
CLI usage
Install:
Run a speed test:
Options:
--list-servers List available M-Lab servers and exit
--server Interactive server picker (via locate API)
--server <hostname> Select a specific server (via locate API)
--server <host:port> --no-locate
Connect directly, bypassing locate API
--service-url <url> Full service URL with access token
--format human|json Output format (default: human)
--no-download Skip download test
--no-upload Skip upload test
--quiet Show summary only
--ipv4 Force IPv4 connections
--ipv6 Force IPv6 connections
--no-verify Skip TLS certificate verification
--no-tls Use unencrypted WebSocket
References
- M-Lab - Measurement Lab
- ndt7 protocol spec
- ndt7-client-go - Go reference implementation
License
Apache-2.0