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.

 

 

Leave a Reply

Your email address will not be published. Required fields are marked *