Nettest is a high-performance server and client for network speed measurement, written in Rust. The tool supports modern communication protocols and provides real-time accurate measurements with beautiful visualization.
π Complete Documentation: https://specure.github.io/nettest/docs
- Multithreading - Handle multiple clients simultaneously
- Asynchronous architecture - Efficient resource utilization
- Connection queue - Smart load distribution between workers
- TCP connections - Direct connection for maximum performance
- WebSocket - Browser client support
- TLS/SSL - Secure connections
- Interactive speed graphs - Real-time download and upload visualization
- Beautiful UI - Modern, responsive interface
- Live measurements - See your network performance in real-time
- Configurable number of workers
- Configurable ports and addresses
- SSL/TLS certificate support
Experience real-time network measurements with beautiful visualization
π Launch Measurement InterfaceDownload the latest builds from the GitHub Releases page.
Note:
- Download the appropriate archive for your architecture and distribution
- Extract:
- Linux/macOS:
tar -xzf nettest-<distribution>-<arch>.tar.gz- Windows: Extract the ZIP file
- Run:
- Linux/macOS:
./nettest -s(server) or./nettest -c <address>(client)- Windows:
nettest.exe -s(server) ornettest.exe -c <address>(client)
# Debug build
cargo build
# Release build with optimizations
cargo build --releaseThe project includes automated builds via GitHub Actions:
- Ubuntu builds: Latest and LTS versions with native compilation
- Debian builds: Multiple versions (11, 12) for maximum compatibility
- macOS builds: Apple Silicon and Intel architectures
- Windows builds: x86_64 and ARM64 architectures
# Basic run
nettest -s# TCP client
nettest -c <SERVER_ADDRESS>
# WebSocket client
nettest -c <SERVER_ADDRESS> -ws
# TLS client
nettest -c <SERVER_ADDRESS> -tls| Parameter | Description | Default |
|---|---|---|
-l |
TCP listen address and port | 5005 |
-L |
TLS listen address and port | 443 |
-c |
Path to SSL certificate (PEM format) | - |
-k |
Path to SSL key file (PEM format) | - |
-udp |
UDP port for VoIP/packet loss tests | 5004 |
-u |
Drop privileges to specified user | - |
-d |
Run as daemon in background | false |
-t |
Number of worker threads | - |
-log |
Log level (info, debug, trace) | - |
| Parameter | Description | Default |
|---|---|---|
-c |
Server address | auto-discover |
-tls |
Use TLS connection | false |
-ws |
Use WebSocket connection | false |
-t |
Number of threads | 3 |
-p |
TCP/TLS port | 5005 |
-g |
Generate graphs | false |
-legacy |
Use legacy PUT command (skip VoIP/packet loss) | false |
-log |
Log level (info, debug, trace) | - |
Direct TCP connection for maximum performance:
Client <ββTCPββ> Server
Browser client support:
Client <ββWebSocketββ> Server
Secure connections:
Client <ββTLSββ> Server
Nettest is optimized for high performance:
- Multithreading: One server can support multiple clients
- Asynchronous processing: Efficient CPU and memory usage
- Smart queue: Automatic load distribution between workers
- Minimal latency: Optimized architecture for accurate measurements
- Live speed change visualization
- Detailed upload and download statistics
- Interactive charts with smooth animations
- Download speed - Real-time download performance
- Upload speed - Real-time upload performance
- Ping - Network round-trip time (median)
- Jitter - VoIP quality metric (RFC 3550), requires server v2.0+
- Packet Loss - UDP packet loss rate (RFC 6673), requires server v2.0+
Note: Jitter and Packet Loss tests use UDP port
5004by default.
Open this port on the server firewall:iptables -A INPUT -p udp --dport 5004 -j ACCEPT
- Rust: 1.70+ (latest stable)
- Linux/macOS/Windows: Support for all major platforms
- Source code: Apache License 2.0 (LICENSE.txt)
Nettest - Your reliable tool for network speed measurement! π

