How To Install Speedtest-cli On a CentOS / RHEL / Scientific / Fedora Linux To Check Internet Speed
I
do not want to use Adobe flash based speed testing site due to security concern on my desktop. How do I install Speedtest-cli on a CentOS Linux or Fedora Linux or Red Hat Enterise Linux (RHEL) for checking the Internet speed?
Adobe Flash vulnerabilities are a major security issue for Linux users and speedtest.net use Adobe Flash. But, you can check the Internet speed with Python based CLI tool called Speedtest-cli. In this quick tutorial you will learn how to install speedtest-cli on a CentOS/RHE/Fedora/Scientific Linux desktop server or or laptop computer.
Step 1: Install python
Type the following yum command to install Python on a CentOS/RHEL/Scientific Linux:
$ sudo yum install python
Type the following dnf command to install Python on a Fedora Linux v22+:
$ sudo dnf install python
Step 2: Download speedtest_cli.py
Type the following wget command to grab the speedtest_cli.py client:
$ wget -O speedtest-cli https://raw.githubusercontent.com/sivel/speedtest-cli/master/speedtest.py
$ chmod +x speedtest-cli
Fig.01: Grab speedtest_cli.py
Step 3: Check the Internet speed
Simply type the following command:
$ ./speedtest-cli
OR
$ python speedtest-cli
Sample outputs:
Retrieving speedtest.net configuration…
Retrieving speedtest.net server list…
Testing from nixcraft Dutch Holdings BV (5.151.xx.yyy)…
Selecting best server based on latency…
Hosted by SoftLayer Technologies, Inc. (Amsterdam) [6.45 km]: 2.317 ms
Testing download speed………………………………….
Download: 925.88 Mbit/s
Testing upload speed…………………………………………..
Upload: 105.69 Mbit/s
To see speed values in bytes instead of bits pass the –bytes option:
$ ./speedtest-cli –bytes
To generate and provide a URL to the speedtest.net share results image pass the –share option:
$ ./speedtest-cli –share
Of course, you can combine both the options:
$ ./speedtest-cli –share –bytes
Sample outputs:
Gif.01: Speedtest_cli.py in action
How do I specify a server ID to test against?
First, grab a server list, enter:
$ wget http://www.speedtest.net/speedtest-servers.php
To view a server ID, enter:
$ more speedtest-servers.php
To search a server ID, enter:
$ grep city-name speedtest-servers.php
$ grep country-name speedtest-servers.php
$ grep Tampa, FL speedtest-servers.php
<server url= http://speedtest1.hivelocity.net/speedtest/upload.php lat= 27.9709 lon= -82.4646 name= Tampa, FL country= United States cc= US sponsor= Hivelocity Hosting id= 2137 host= speedtest1.hivelocity.net:8080 />
<server url= http://speedtestnet.rapidsys.com/speedtest/upload.php lat= 27.9709 lon= -82.4646 name= Tampa, FL country= United States cc= US sponsor= Rapid Systems id= 1296 host= speedtestnet.rapidsys.com:8080 />
OR just display a server ID:
$ grep Tampa, FL speedtest-servers.php | egrep -o id= [0-9]{4}
Sample outputs:
id= 2137
id= 1296
Next use the server ID 2137:
$ ./speedtest-cli –server 2137
Sample outputs:
Fig.02: speedtest-cli in action
Not a fan of speedtest.net?
No worries. Try wget, lftp or specilized tool like iperf on a Linux to test the Internet or Intranet speed from the command line.