A modern network speed test CLI built with Bun and TypeScript.
English | 简体中文
- 🚀 High-performance speed testing powered by Bun runtime
- ✨ Multiple test servers support:
- Cloudflare (download & upload)
- LibreSpeed (download & upload)
- Ookla (TODO)
- Custom file URL (download only) 1
- 🧵 Concurrent testing with configurable threads
- 📊 Comprehensive metrics:
- TCP/ICMP/HTTP latency
- Download/Upload speeds
- Jitter analysis
- 🎨 Beautiful CLI interface with real-time progress
- 🛡️ Full TypeScript type support, Biome constrained code style.
| Server Type | Upload | Download | Latency | Remarks |
|---|---|---|---|---|
| Speedtest.net | 🔶 | 🔶 | 🔶 | Development |
| LibreSpeed | ✅ | ✅ | ✅ | |
| Cloudflare Speed | ✅ | ✅ | ✅ | speed.cloudflare.com |
| Single File | ❌ | ✅ | ✅ | Not support upload test |
| Looking Glass | 🔶 | ✅ | ✅ | Development |
| Taierspeed | 🔶 | 🔶 | 🔶 | Development |
| Speedtest.cn | 🔶 | 🔶 | 🔶 | Development |
Download the latest binary compressed package from Releases
chmod +x aqua-speed
./aqua-speed./aqua-speed.exe docker run -it ghcr.io/alice39s/aqua-speed:latest# Linux & macOS
curl -fsSL https://bun.sh/install | bash
# Windows
powershell -c "irm bun.sh/install.ps1 | iex"
# Windows (Package Manager)
scoop install bungit clone https://github.com/Alice39s/aqua-speed.gitbun installbun run start# Run with defaults (Cloudflare server, 4 threads)
aqua-speed
# Test against LibreSpeed server
aqua-speed --type LibreSpeed
# Test with custom file URL
aqua-speed -s https://example.com/testfile.dataqua-speed [options]
Options:
-s, --server <url> Speed test server URL
--sn <name> Speed test server name
-t, --thread <number> Number of concurrent connections
--timeout <seconds> Test timeout in seconds
--debug Debug mode
--type <type> Test type (SingleFile|LibreSpeed|Cloudflare)Test Results:
Latency:
TCP: min = 1.25 ms, avg = 2.19 ms, max = 3.38 ms
ICMP: min = 1.00 ms, avg = 1.00 ms, max = 1.00 ms
HTTP: min = 97.74 ms, avg = 100.71 ms, max = 103.68 ms
Speed:
Download: min = 570.55 Mbps, avg = 1.17 Gbps, max = 1.36 Gbps
Upload: min = 601.25 Mbps, avg = 1.20 Gbps, max = 1.39 Gbps
Test Information:
Server: speed.cloudflare.com
Time: 2024/12/25 12:00:00
Permission denied
chmod +x aqua-speed- Low speeds
- Reduce threads:
-t 2 - Test with different servers
Enable debug logging for detailed information:
./aqua-speed --debug# Install dependencies
bun install
# Run in development
bun run dev
# Run tests
bun test
# Build binary
bun run build:binaryThis project uses Biome for code formatting and linting (using biome format and biome check):
# Format code
bun run format
# Lint code
bun run lintSee CHANGELOG.md for more details.
See Roadmap.md for more details.
- Fork repository
- Create feature branch
- Commit changes
- Run tests
- Submit pull request
Please ensure:
- Tests pass
- Code follows Biome standards
- Commit messages are clear
- Documentation is updated
- Bun - JavaScript runtime & toolkit
- LibreSpeed - Open source speed test
- All contributors
Footnotes
-
Recommended to specify a file of at least 10MB. ↩
