An open API service indexing awesome lists of open source software.

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.

Awesome Lists containing this project

README

          

# 🌐 Nettest - Network Speed Measurement

![Network Speed Measurement](Gemini_Generated_Image_skkcnfskkcnfskkc.png)

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

![Nettest Demo](nettest-tcp.gif)

πŸ“š **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! πŸš€