A CLI tool for running https://speed.aussiebroadband.com.au in a headless environment built with nodejs
Chrome is required as a main dependencie as I'm using puppeteer-core and it requires it preinstalled.
Setup
Install nodejs 8.5.0+
Clone & Install dependencies
git clone https://github.com/lukealford/abb-speedtest-cli.git
npm install -g
Run using abb-speedtest
-----------Results-----------
Date: 4/12/2019 6:10:06 pm
Server Melbourne
Ping 29 ms
Jitter 4 ms
Download 47.5 Mbps
Upload 17.5 Mbps
-----------------------------
Usage: abb-speedtest [options]
Runs a speedtest using speed.aussiebroadband.com.au
Options:
-V, --version output the version number
-l, --location [Sydney] [optional] use specific server location
-q, --quiet [optional] silences the progress console output messages (errors still outputed)
-h, --hide [optional] disables result reporting to ABB
-j, --json [optional] return json
-c, --csv [optional] return csv format
-d, --dcsv [optional] return csv format in speedtest-cli shape (non-save flow only)
-s, --save [optional] saves format to user\Documents\abb-speedtests
-o, --output [optional] overwrites output location
-h, --help output usage information
"chrome-launcher": "^0.10.5",
"commander": "^2.20.0",
"puppeteer-core": "^1.14.0",
"request": "^2.88.0",
"store": "^2.0.12"
Instead of installing all components directly, you can also build a Docker container like this:
docker build --tag=abb-speedtest .
Then to run it:
docker run --rm abb-speedtest
# Optionally, include parameters like this:
docker run --rm abb-speedtest --json
# You can also set the Docker container timezone manually like this:
docker run --rm -e TZ=Australia/Perth abb-speedtest
In these cases, you do not need to install any dependencies, apart from having a working Docker system.