https://github.com/mamantoha/speedtest-ng
A command-line tool for testing internet speed using Speedtest.net, written in Crystal.
https://github.com/mamantoha/speedtest-ng
cli crystal speedtest
Last synced: 2 months ago
JSON representation
A command-line tool for testing internet speed using Speedtest.net, written in Crystal.
- Host: GitHub
- URL: https://github.com/mamantoha/speedtest-ng
- Owner: mamantoha
- License: mit
- Created: 2025-02-24T09:06:50.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-10-30T10:29:39.000Z (5 months ago)
- Last Synced: 2025-10-30T12:26:58.438Z (5 months ago)
- Topics: cli, crystal, speedtest
- Language: Crystal
- Homepage:
- Size: 1.63 MB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
speedtest-ng
A command-line tool for testing internet speed using Speedtest.net.
[](https://github.com/mamantoha/speedtest-ng/actions/workflows/crystal.yml)
[](https://github.com/mamantoha/speedtest-ng/releases)
[](https://snapcraft.io/speedtest-ng)
[](https://github.com/mamantoha/speedtest-ng/blob/master/LICENSE)
## Installation
[](https://snapcraft.io/speedtest-ng)
Precompiled executables are available for Linux, macOS and Windows from [Releases](https://github.com/mamantoha/speedtest-ng/releases) page.
### Build from source
Clone the repository:
```sh
git clone https://github.com/mamantoha/speedtest-ng
cd speedtest-ng
```
Build the project:
```sh
shards build --release
```
## Usage
```sh
speedtest-ng --help
Usage: speedtest-ng [options]
--no-download Do not perform download test
--no-upload Do not perform upload test
--single Only use a single connection (simulates file transfer)
--list Display a list of speedtest.net servers sorted by distance
--server SERVER Specify a server ID to test against
--secure Use HTTPS instead of HTTP when communicating with speedtest.net operated servers
--download-time SECONDS Set download test time limit in seconds (default: 20)
--upload-time SECONDS Set upload test time limit in seconds (default: 20)
-v, --version Show the version number and exit
-h, --help Show this help message and exit
```

## Contributing
1. Fork it ()
2. Create your feature branch (`git checkout -b my-new-feature`)
3. Commit your changes (`git commit -am 'Add some feature'`)
4. Push to the branch (`git push origin my-new-feature`)
5. Create a new Pull Request
## Contributors
- [Anton Maminov](https://github.com/mamantoha) - creator and maintainer