mlab-speed-test
v1.0.0
Published
Test your download and upload speed using speed.measurementlab.net
Downloads
67
Maintainers
Readme
MLab Speed Test
Test your download and upload speed using speed.measurementlab.net
Getting started
To get started with this library, you need to install it and add it to your project.
Installation
# npm
npm install mlab-speed-test --save
# yarn
yarn add mlab-speed-test
Library Usage
API Reference available at https://pichillilorenzo.github.io/mlab-speed-test/.
import {MLabSpeedTest} from 'mlab-speed-test';
// or
const {MLabSpeedTest} = require('mlab-speed-test');
const speedTest = new MLabSpeedTest();
speedTest.on('server-chosen', (serverInfo) => {
console.log(serverInfo.location);
});
speedTest.on('download-complete', downloadData => {
const downloadSpeed = downloadData.LastClientMeasurement ? downloadData.LastClientMeasurement.MeanClientMbps.toFixed(2) : '0';
console.log(downloadSpeed + 'Mb/s');
});
speedTest.on('upload-complete', uploadData => {
const uploadSpeed = uploadData.LastServerMeasurement ?
(uploadData.LastServerMeasurement.TCPInfo.BytesReceived / uploadData.LastServerMeasurement.TCPInfo.ElapsedTime * 8).toFixed(2) : '0';
console.log(uploadSpeed + 'Mb/s');
});
const exitCode = await speedTest.run();
CLI Usage
Usage: mlab-speed-test [options]
Examples:
mlab-speed-test -a -p
mlab-speed-test -a -p --json
Options:
-p, --accept-privacy-policy Accept M-Lab's Privacy Policy (https://www.measurementlab.net/privacy/) (default: false)
-a, --autostart Run speed test on command start. Requires --accept-privacy-policy (default: false)
--json Output data in json format (default: false)
--pretty If json should be pretty formatted (default: false)
-h, --help display help for command
CLI Usage Example
Example 1
mlab-speed-test -a -p
Example output:
M-Lab's Speed Test
⊠ Privacy Policy ( https://www.measurementlab.net/privacy/ )
Test Server: 🖥 Milan, IT
⠸ 65.98 Mb/s ↓ / 17.04 Mb/s ↑
Latency: 26 ms
Loss: 1.81%
Restart (enter) - Stop (delete)
Decline Privacy Policy (a) - Quit (ctrl + q)
Example 2
mlab-speed-test -ap --json --pretty
Example output:
{
"privacyPolicyAccepted": true,
"running": true,
"isDone": false,
"downloadSpeed": "64.80",
"downloadUnit": "Mb/s",
"downloadCompleted": true,
"downloadProgress": 1,
"uploadSpeed": "16.97",
"uploadUnit": "Mb/s",
"uploadCompleted": false,
"uploadProgress": 0.6515323619008064,
"latencyUnit": "ms",
"lossUnit": "%",
"location": {
"city": "Milan",
"country": "IT"
},
"latency": "51",
"loss": "6.57"
}
Contributors
Any contribution is appreciated. You can get started with the steps below:
Fork this repository (learn how to do this here).
Clone the forked repository.
Make your changes and create a pull request (learn how to do this) .
I will attend to your pull request and provide some feedback.
License
This repository is licensed under the ISC License.
This project is strongly inspired by the fast-cli package.