# Speedtest TUI
A terminal-based network speed test tool with real-time gauges and graphs.
[](https://crates.io/crates/speedtest-tui)
[](https://opensource.org/licenses/MIT)
<img src="/assets/speedtest-tui.png" alt="Speedtest TUI Screenshot" />
## Features
- Real-time animated speedometer with auto-scaling
- Live speed graph visualization
- Network diagnostics (DNS, ping, interface info)
- Test history with CSV export
- 4 themes (Dark, Light, Ocean, Neon)
- CLI mode with JSON/CSV output
## Installation
```bash
cargo install speedtest-tui
```
Or build from source:
```bash
git clone https://github.com/hadihaider055/speedtest-tui
cd speedtest-tui
cargo build --release
./target/release/speedtest-tui
```
## Usage
### Interactive Mode
```bash
speedtest-tui
```
### CLI Mode
```bash
speedtest-tui --simple # Text output
speedtest-tui --json # JSON output
speedtest-tui --csv # CSV output
```
### Diagnostics
```bash
speedtest-tui diagnose # Full diagnostics
speedtest-tui ping google.com # Ping test
speedtest-tui dns google.com # DNS lookup
speedtest-tui interfaces # Network interfaces
```
## Keyboard Shortcuts
| `s` / `Enter` | Start test |
| `p` | Select provider |
| `h` | View history |
| `d` | Diagnostics |
| `e` | Export to CSV |
| `t` | Change theme |
| `?` | Help |
| `q` / `Esc` | Quit |
## Configuration
Config file: `~/.speedtest-tui/config.toml`
```toml
[general]
default_provider = "cloudflare"
test_duration_seconds = 15
[theme]
name = "dark"
```
## License
MIT License - see [LICENSE](LICENSE)
---
Made with ❤️ by [Hadi Haider](https://linkedin.com/in/hadi-haider)