Install Speedtest-cli On a CentOS / RHEL / Fedora Linux To Check Internet Speed

Tutorial details Difficulty Easy (rss) Root privileges Yes Requirements Python Time 2m

ADVERTISEMENTS



Install Speedtest-cli on a Linux

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.

The speedtest-cli written in Python. So make sure Python installed and working correctly:

python --version

python3 --version

lsb_release -a



Step 1: Install python

Type the following yum command to install Python on a CentOS/RHEL/Scientific Linux:

$ sudo yum install python

CentOS / RHEL 8 user type the following command to install Python 3 or 2:

$ sudo yum install python3

$ sudo yum install python2

Run the following dnf command to install Python on a Fedora Linux v22+:

$ sudo dnf install python

$ sudo dnf install pytho3

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



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:



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" /> <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:



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.

Concolusion

You learned how to install speedtest-cli command line interface for testing internet bandwidth using speedtest.net on a CentOS/RHEL/Fedora Linux. For more information see this page here.