All Projects → giggio → Speedtest

giggio / Speedtest

Licence: mit
A way to run speed tests on Docker.

Programming Languages

rust
11053 projects

Projects that are alternatives of or similar to Speedtest

speedtest
A self-hosted, lightweight HTML5 speed test implemented in JavaScript, based on Web Workers and XMLHttpRequest.
Stars: ✭ 154 (+113.89%)
Mutual labels:  speedtest
docker-internet-speedtest-dashboard
Docker based Internet Speedtest Dashboard powered by InfluxDB, Chronograf, and Speedtest-CLI
Stars: ✭ 15 (-79.17%)
Mutual labels:  speedtest
Speed Test Lib
☁️ JSpeedTest : speed test client library for Java/Android
Stars: ✭ 273 (+279.17%)
Mutual labels:  speedtest
speed-cloudflare-cli
📈 Measure the speed and consistency of your internet connection using speed.cloudflare.com
Stars: ✭ 99 (+37.5%)
Mutual labels:  speedtest
SpeedTest-php
a speedtest php site
Stars: ✭ 28 (-61.11%)
Mutual labels:  speedtest
open-rmbt
RTR-NetTest Open Source repository
Stars: ✭ 30 (-58.33%)
Mutual labels:  speedtest
speedInspectorRPI
A docker image with a cronjob running speedtest, audit your internet connection/ISP
Stars: ✭ 12 (-83.33%)
Mutual labels:  speedtest
Yet Another Bench Script
YABS - a simple bash script to estimate Linux server performance using fio, iperf3, & Geekbench
Stars: ✭ 348 (+383.33%)
Mutual labels:  speedtest
Nano-SpeedTest
Webapp to test speed of Nano Transactions
Stars: ✭ 26 (-63.89%)
Mutual labels:  speedtest
internet-speed-testing
Library for measure your internet speed. [for android app]
Stars: ✭ 40 (-44.44%)
Mutual labels:  speedtest
zabbix-template-speedtest
Speedtest template for zabbix
Stars: ✭ 28 (-61.11%)
Mutual labels:  speedtest
CloudflareSpeedTest
🌩「自选优选 IP」测试 Cloudflare CDN 延迟和速度,获取最快 IP (IPv4 / IPv6)!另外也支持其他 CDN / 网站 IP ~
Stars: ✭ 5,092 (+6972.22%)
Mutual labels:  speedtest
speedtest
Simple bandwidth test in browser javascript
Stars: ✭ 41 (-43.06%)
Mutual labels:  speedtest
speedy
Test, track, monitor and analyze your internet speed.
Stars: ✭ 35 (-51.39%)
Mutual labels:  speedtest
Speed Test
Test your internet connection speed and ping using speedtest.net from the CLI
Stars: ✭ 3,654 (+4975%)
Mutual labels:  speedtest
netcheck
A shell script to check and log when your internet connection goes down.
Stars: ✭ 138 (+91.67%)
Mutual labels:  speedtest
vultr-pingtest
⌚ Test Latency from all Vultr VPS Locations
Stars: ✭ 40 (-44.44%)
Mutual labels:  speedtest
Nench
VPS benchmark script — based on the popular bench.sh, plus CPU and ioping tests, and dual-stack IPv4 and v6 speedtests by default
Stars: ✭ 611 (+748.61%)
Mutual labels:  speedtest
Speedtest
Command line client for speedtest.net written in Go
Stars: ✭ 361 (+401.39%)
Mutual labels:  speedtest
speedtest-for-digitalocean
Run speed tests for all DigitalOcean datacenters faster than ever.
Stars: ✭ 40 (-44.44%)
Mutual labels:  speedtest

Speed test

Docker Stars Docker Pulls ImageLayers

This app runs a speed test and saves the history in .json files and an aggregate .csv file. It can also alert you with an e-mail if it finds that the bandwidth is bellow an specified value.

This can be run on Linux for AMD64 and ARMv7.

Upstream Links

Quick Start

You need to mount a volume to /data, and the files will be saved there. Run it like this:

docker run --rm -ti -v `pwd`/data:/data giggio/speedtest run

After running will have a .json file with a date/time structure (e.g. 202011212124.json) and a speed.csv file.

Add a cron

To have a history a good idea is to add a cron job (with crontab -e) like this:

0 */3 * * * docker run --rm -ti -v /path/to/my/data:/data giggio/speedtest run

Detailed commands

There are two commands: run and alert. The former runs the speed test, the second alerts you for a bandwidth bellow specification.

All commands have a -v option for verbose output, and you can get help by running docker run --rm giggio/speedtest --help.

Running a speed test

To view available args run:

docker run --rm giggio/speedtest run --help

This command has a simulated argument, which will make it simply drop some results into the data folder. It is useful to help you setup your infrastructure without having to wait for a full speed test to run and also does not use any bandwidth. It simply saves the files.

Alerting

To view available args run:

docker run --rm giggio/speedtest alert --help

This command will send you an e-mail using SMTP. You have to supply the values like server, port, sender and destination e-mail addresses etc. Authentication information is optional, but most mail servers will require it.

It also has a simulate argument. It will not send the email, but simply write to the terminal on stdout what it would send through in an e-mail.

It will take the last 8 results (customizable with --count) and average them.

You need to supply expected the upload and download bandwidth, and you may optionally supply a threshold to when the e-mail should be sent (defaults to 20%).

Background

This project was previosly made up of a few bash scripts and a Node.js tool to measure the results. This new version is written in Rust and is using the official CLI from Ookla. It is much faster (Rust <3) and, due to using the official Ookla CLI, more acurate. The container is also much smaller, simply containing the binaries, written from scratch, without any distro files.

Ookla's tool does not support a some of the information that the Node.js tool supported (server latitude, longitude, distance and server ping). It still supplies the most important values, like upload and download bandwidth, ping latency, ISP, server host, city and country. The columns in the CSV file that had that information are now null and will be eventually removed.

Also, the .json files format is now in a different format from before.

Contributing

Questions, comments, bug reports, and pull requests are all welcome. Submit them at the project on GitHub.

Bug reports that include steps-to-reproduce (including code) are the best. Even better, make them in the form of pull requests.

Author

Giovanni Bassi

License

Licensed under the MIT license.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].