https://github.com/specure/nettest
The new version of the high-performance server and client for network speed measurement. The tool supports modern communication protocols and provides real-time accurate measurements.
https://github.com/specure/nettest
cli nettest network speedtest
Last synced: 3 months ago
JSON representation
The new version of the high-performance server and client for network speed measurement. The tool supports modern communication protocols and provides real-time accurate measurements.
- Host: GitHub
- URL: https://github.com/specure/nettest
- Owner: specure
- License: apache-2.0
- Created: 2025-05-06T06:34:29.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2026-02-23T13:02:52.000Z (4 months ago)
- Last Synced: 2026-02-23T21:21:47.810Z (4 months ago)
- Topics: cli, nettest, network, speedtest
- Language: Rust
- Homepage: https://nettest.net
- Size: 41.1 MB
- Stars: 7
- Watchers: 2
- Forks: 3
- Open Issues: 10
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
# π Nettest - Network Speed Measurement

## Overview
**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](https://specure.github.io/nettest/docs)
## β¨ Key Features
### π **High Performance**
- **Multithreading** - Handle multiple clients simultaneously
- **Asynchronous architecture** - Efficient resource utilization
- **Connection queue** - Smart load distribution between workers
### π **Multi-Protocol Support**
- **TCP connections** - Direct connection for maximum performance
- **WebSocket** - Browser client support
- **TLS/SSL** - Secure connections
### π **Real-Time Visualization**
- **Interactive speed graphs** - Real-time download and upload visualization
- **Beautiful UI** - Modern, responsive interface
- **Live measurements** - See your network performance in real-time
### π§ **Flexible Configuration**
- Configurable number of workers
- Configurable ports and addresses
- SSL/TLS certificate support
## πΊοΈ Interactive Servers Map
π Interactive Measurement Interface
Experience real-time network measurements with beautiful visualization
π Launch Measurement Interface
## π Quick Start
### Download
Download the latest builds from the [GitHub Releases](https://github.com/specure/nettest/releases) page.
> **Note**:
> 1. Download the appropriate archive for your architecture and distribution
> 2. Extract:
> - Linux/macOS: `tar -xzf nettest--.tar.gz`
> - Windows: Extract the ZIP file
> 3. Run:
> - Linux/macOS: `./nettest -s` (server) or `./nettest -c
` (client)
> - Windows: `nettest.exe -s` (server) or `nettest.exe -c ` (client)
### Build
#### Local Build
```bash
# Debug build
cargo build
# Release build with optimizations
cargo build --release
```
#### GitHub Actions
The 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
### Run Server
```bash
# Basic run
nettest -s
```
### Run Client
```bash
# TCP client
nettest -c
# WebSocket client
nettest -c -ws
# TLS client
nettest -c -tls
```
## βοΈ Configuration
### Server Parameters
| 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) | - |
| `-u` | Drop privileges to specified user | - |
| `-d` | Run as daemon in background | `false` |
| `-log` | Log level (info, debug, trace) | - |
### Client Parameters
| Parameter | Description | Default |
|-----------|-------------|---------|
| `-c` | Server address | `127.0.0.1` |
| `-tls` | Use TLS connection | `false` |
| `-ws` | Use WebSocket connection | `false` |
| `-t` | Number of threads | `3` |
| `-p` | Port number | `8080` |
| `-g` | Generate graphs | `false` |
| `-log` | Log level (info, debug, trace) | - |
## π Protocols
### TCP Mode
Direct TCP connection for maximum performance:
```
Client <ββTCPββ> Server
```
### WebSocket Mode
Browser client support:
```
Client <ββWebSocketββ> Server
```
### TLS Mode
Secure connections:
```
Client <ββTLSββ> Server
```
## β‘ Performance
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
## π Visualization
### Real-Time Speed Graphs
- Live speed change visualization
- Detailed upload and download statistics
- Interactive charts with smooth animations
### Metrics
- **Download speed** - Real-time download performance
- **Upload speed** - Real-time upload performance
- **Latency** - Network response time
## π Requirements
### System Requirements
- **Rust**: 1.70+ (latest stable)
- **Linux/macOS/Windows**: Support for all major platforms
## π License
- **Source code**: Apache License 2.0 ([LICENSE.txt](LICENSE.txt))
## π Documentation
- [RMBT Protocol Specification](https://www.netztest.at/doc/)
---
**Nettest** - Your reliable tool for network speed measurement! π