Skip to content

emaxi/bandwidth-checker

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

⚡ Bandwidth Checker ⚡

preview image

 

Some ISPs promise money back if your bandwidth goes below a certain level.

This project includes two automated methods of testing download speed.

  • Speedtest's CLI.
  • Headless Chromium browser via Netflix's fast.com.

A Node server displays a scatter graph of the recent bandwidth results via Chart.js.

I run my own setup on a Raspberry Pi connected to my router via ethernet.

 

Install

Client

cd client

pip install requests

Speedtest CLI:

pip install speedtest-cli

Headless browser:

pip install selenium

Server

cd server

npm install

 

Run

Client

Setup a cron job to run either version.

Speedtest CLI:

python clitest.py 'https://server-location/save' 'password'

Where the arguments are:

  • Path to the endpoint to save the results.
  • Password for that endpoint.

Headless browser:

python browsertest.py '/usr/lib/chromium-browser/chromedriver' 'https://server-location/save' 'password'

Where the arguments are:

  • Path to the ChromeDriver executable (watch out for version clashes).
  • Path to the endpoint to save the results.
  • Password for that endpoint.

Server

Setup password:

Unix Bash (Linux, Mac, etc.):
$ export PASSWORD=hello

Windows CMD:
> set PASSWORD=hello

Windows PowerShell:
> $env:PASSWORD = "hello"

npm start

Visit the root path / to view bandwidth results.

Bandwidth results are stored by the client via /save

About

⚡ Bandwidth Checker ⚡ test and graph your internet bandwidth over time. 🍓 Originally design to work on a Raspberry Pi but is now multiplatform!

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 41.4%
  • HTML 40.7%
  • JavaScript 17.9%