Internet connection measurement for developers
Speedtest CLI brings the trusted technology and global server network behind Speedtest to the command line. Built for software developers, system administrators and computer enthusiasts alike, Speedtest CLI is the first official Linux-native Speedtest application backed by Ookla®.
With Speedtest CLI, you can easily:
- Measure internet connection performance metrics like download, upload, latency and packet loss natively without relying on a web browser
- Test the internet connection of your Linux desktop, a remote server or even lower-powered devices such as the Raspberry Pi® with the Speedtest Server Network™
- Set up automated scripts to collect connection performance data, including trends over time
- Use Speedtest in your programs by wrapping it in the programming language of your choice
- View test results via CSV, JSONL or JSON
Install Options
macOSUbuntu/DebianFedora/Centos/RedhatFreeBSD
brew tap teamookla/speedtestbrew updatebrew install speedtest --force
Download Speedtest CLI
Speedtest CLI is maintained by the Ookla team. For assistance, please direct all inquiries to support@ookla.com.
macOS
Download for macOS
Installing via brew will ensure you are always running the most up-to-date version of Speedtest CLI. You should update brew as frequently as possible.
Linux
Download for Linux
Available for: i386, x86_64, arm32, arm32hf, and arm64.
FreeBSD
Download for FreeBSD
Available for x86_64 only.
Our mission at Ookla is to make the internet better and faster for everyone by providing data and insights on real-world internet performance and quality. With billions of tests and coverage scans worldwide, we meet you where you are with apps for the devices you use most.
Quickly run Speedtest.net test from the command line
This PowerShell script runs Speedtest.net’s Speedtest CLI from the command line. No need to browse to a website or unzip files, it does it all for you. Arguments are passed through to the CLI, so you arguments as you normally would.
Note
This package nor its author are affiliate with Ookla or Speedtest.net. It is simply a wrapper around their CLI.
How it works
- Scrapes Speedtest CLI download page for the latest version
- Downloads the latest version
- Unzips the file
- Runs the speedtest.exe file
- Cleans up the files
License Information
Warning
Your use of this script constitutes acceptance of EULA, Terms of Use, and the Privacy Policy. The script will automatically accept these on your behalf via CLI using --accept-license and --accept-gdpr. Please do not use the script if you do not agree.
License information is available by running the speedtest.exe without any arguments (not this script but the actual executable). Text may not appear for users in the United States.
You may only use this Speedtest software and information generated
from it for personal, non-commercial use, through a command line
interface on a personal computer. Your use of this software is subject
to the End User License Agreement, Terms of Use and Privacy Policy at
these URLs:
https://www.speedtest.net/about/eula
https://www.speedtest.net/about/terms
https://www.speedtest.net/about/privacy
Ookla collects certain data through Speedtest that may be considered
personally identifiable, such as your IP address, unique device
identifiers or location. Ookla believes it has a legitimate interest
to share this data with internet providers, hardware manufacturers and
industry regulators to help them understand and create a better and
faster internet. For further information including how the data may be
shared, where the data may be transferred and Ookla's contact details,
please see our Privacy Policy at:
http://www.speedtest.net/privacy
Please note this package nor its author are affiliate with Ookla or Speedtest.net. It is simply a wrapper around their CLI.
Usage
The URL asheroto.com/speedtest always redirects to the latest code-signed release of the script.
PowerShell
Simply run this command with PowerShell.
irm asheroto.com/speedtest | iex
Due to the nature of how PowerShell works, passing arguments to the script is a bit harder. To do it as a one-line command, you can run this:
iex "& { $(iwr asheroto.com/speedtest) } --servers"
Or if you download the latest version, you can run it like this:
Command Prompt
You can also run this command with Command Prompt by having it run PowerShell.
powershell -c "irm asheroto.com/speedtest | iex"
Due to the nature of how PowerShell works, passing arguments to the script is a bit harder. To do it as a one-line command, you can run this:
powershell -c "iex ""& { $(iwr asheroto.com/speedtest) } --servers"""
Or if you download the latest version, you can run it like this:
powershell -c ".\speedtest.ps1"
Parameters
You can use --help to see the parameters available in the Speedtest CLI.
Speedtest by Ookla is the official command line client for testing the speed and performance of your internet connection. Version: speedtest 1.2.0.84 Usage: speedtest [<options>] -h, --help Print usage information -V, --version Print version number -L, --servers List nearest servers -s, --server-id=# Specify a server from the server list using its id -I, --interface=ARG Attempt to bind to the specified interface when connecting to servers -i, --ip=ARG Attempt to bind to the specified IP address when connecting to servers -o, --host=ARG Specify a server, from the server list, using its host's fully qualified domain name -p, --progress=yes|no Enable or disable progress bar (Note: only available for 'human-readable' or 'json' and defaults to yes when interactive) -P, --precision=# Number of decimals to use (0-8, default=2) -f, --format=ARG Output format (see below for valid formats) --progress-update-interval=# Progress update interval (100-1000 milliseconds) -u, --unit[=ARG] Output unit for displaying speeds (Note: this is only applicable for ΓÇÿhuman-readableΓÇÖ output format and the default unit is Mbps) -a Shortcut for [-u auto-decimal-bits] -A Shortcut for [-u auto-decimal-bytes] -b Shortcut for [-u auto-binary-bits] -B Shortcut for [-u auto-binary-bytes] --selection-details Show server selection details -v Logging verbosity. Specify multiple times for higher verbosity --output-header Show output header for CSV and TSV formats Valid output formats: human-readable (default), csv, tsv, json, jsonl, json-pretty Machine readable formats (csv, tsv, json, jsonl, json-pretty) use bytes as the unit of measure with max precision Valid units for [-u] flag: Decimal prefix, bits per second: bps, kbps, Mbps, Gbps Decimal prefix, bytes per second: B/s, kB/s, MB/s, GB/s Binary prefix, bits per second: kibps, Mibps, Gibps Binary prefix, bytes per second: kiB/s, MiB/s, GiB/s Auto-scaled prefix: auto-binary-bits, auto-binary-bytes, auto-decimal-bits, auto-decimal-bytes
This is the Windows app named speedtest-cli whose latest release can be downloaded as v2.1.3.zip. It can be run online in the free hosting provider OnWorks for workstations.
Download and run online this app named speedtest-cli with OnWorks for free.
Follow these instructions in order to run this app:
— 1. Downloaded this application in your PC.
— 2. Enter in our file manager https://www.onworks.net/myfiles.php?username=XXXXX with the username that you want.
— 3. Upload this application in such filemanager.
— 4. Start any OS OnWorks online emulator from this website, but better Windows online emulator.
— 5. From the OnWorks Windows OS you have just started, goto our file manager https://www.onworks.net/myfiles.php?username=XXXXX with the username that you want.
— 6. Download the application and install it.
— 7. Download Wine from your Linux distributions software repositories. Once installed, you can then double-click the app to run them with Wine. You can also try PlayOnLinux, a fancy interface over Wine that will help you install popular Windows programs and games.
Wine is a way to run Windows software on Linux, but with no Windows required. Wine is an open-source Windows compatibility layer that can run Windows programs directly on any Linux desktop. Essentially, Wine is trying to re-implement enough of Windows from scratch so that it can run all those Windows applications without actually needing Windows.
SCREENSHOTS
speedtest-cli
DESCRIPTION
Command line interface for testing internet bandwidth using speedtest.net. It is not a goal of this application to be a reliable latency reporting tool. Latency reported by this tool should not be relied on as a value indicative of ICMP style latency. It is a relative value used for determining the lowest latency server for performing the actual speed test against. Speedtest CLI brings the trusted technology and global server network behind Speedtest to the command line. Measure internet connection performance metrics like download, upload, latency and packet loss natively without relying on a web browser. Test the internet connection of your Linux desktop, a remote server or even lower-powered devices such as the Raspberry Pi with the Speedtest Server Network. Set up automated scripts to collect connection performance data, including trends over time.
Features
- This application is written in Python
- Speedtest.net has migrated to using pure socket tests instead of HTTP based tests
- Different versions of Python will execute certain parts of the code faster than others
- CPU and Memory capacity and speed will play a large part in inconsistency between Speedtest.net and even other machines on the same network
- View test results via CSV, JSONL or JSON
- Speedtest-cli works with Python 2.4-3.7
Programming Language
Python
This is an application that can also be fetched from https://sourceforge.net/projects/speedtest-cli.mirror/. It has been hosted in OnWorks in order to be run online in an easiest way from one of our free Operative Systems.
Download Windows & Linux apps
- Linux apps
- Windows apps
-
1
- Eclipse Tomcat Plugin
- The Eclipse Tomcat Plugin provides
simple integration of a tomcat servlet
container for the development of java
web applications. You can join us for
discussio… - Download Eclipse Tomcat Plugin
-
2
- WebTorrent Desktop
- WebTorrent Desktop is for streaming
torrents on Mac, Windows or Linux. It
connects to both BitTorrent and
WebTorrent peers. Now there’s no
need to wait for… - Download WebTorrent Desktop
-
3
- GenX
- GenX is a scientific program to refine
x-ray refelcetivity, neutron
reflectivity and surface x-ray
diffraction data using the differential
evolution algorithm…. - Download GenX
-
4
- pspp4windows
- PSPP is a program for statistical
analysis of sampled data. It is a free
replacement for the proprietary program
SPSS. PSPP has both text-based and
graphical us… - Download pspp4windows
-
5
- Git Extensions
- Git Extensions is a standalone UI tool
for managing Git repositories. It also
integrates with Windows Explorer and
Microsoft Visual Studio
(2015/2017/2019). Th… - Download Git Extensions
-
6
- eSpeak: speech synthesis
- Text to Speech engine for English and
many other languages. Compact size with
clear but artificial pronunciation.
Available as a command-line program with
many … - Download eSpeak: speech synthesis
- More »
Linux commands
-
1
- aarch64-linux-gnu-gdc-5
- gdc — A GCC-based compiler for the D
language … - Run aarch64-linux-gnu-gdc-5
-
2
- aarch64-linux-gnu-gdc
- gdc — A GCC-based compiler for the D
language … - Run aarch64-linux-gnu-gdc
-
3
- crlutil
- crlutil — List, generate, modify, or
delete CRLs within the NSS security
database file(s) and list, create,
modify or delete certificates entries in
a particul… - Run crlutil
-
4
- crm
- Use crm online using onworks.net
services. … - Run crm
-
5
- g.tempfilegrass
- g.tempfile — Creates a temporary file
and prints it�s file name. KEYWORDS:
general, support, scripts … - Run g.tempfilegrass
-
6
- g.versiongrass
- g.version — Displays GRASS GIS version
info. Optionally also prints build or
copyright information. KEYWORDS:
general, support, citing, copyright,
version, lic… - Run g.versiongrass
- More »
Ookla’s Speedtest CLI is a command-line tool that allows users to check their internet connection speed directly from the terminal. It provides a quick and reliable way to measure download and upload speeds, as well as ping latency. In this guide, we will cover how to install and use Ookla’s Speedtest CLI on three major operating systems: Windows, Ubuntu (Linux), and macOS.
Why Use Speedtest CLI?
Using Ookla’s Speedtest CLI provides several advantages, especially for those who work in a terminal environment:
Automation: You can integrate speed tests into scripts or schedule regular checks to monitor network performance.
Flexibility: The CLI allows you to choose specific servers for testing and provides detailed output.
No GUI Required: Ideal for headless servers or remote systems where a graphical interface is unavailable.
Now, let’s walk through the installation and usage process for each platform.
Installing Speedtest CLI on Windows
For Windows users, installing Speedtest CLI is straightforward. Follow these steps to get started.
Step 1: Download the Speedtest CLI for Windows
Open your browser and visit the official Speedtest CLI download page.
Scroll down to the Windows section.
Download the Windows 64-bit or 32-bit binary depending on your system architecture.
Step 2: Install Speedtest CLI
Once the file is downloaded:
Extract the ZIP file to a folder of your choice.
Open Command Prompt or PowerShell.
Step 3: Add Speedtest CLI to the System Path (Optional)
To use Speedtest CLI globally from any directory, add its location to the system’s environment variables:
Right-click on This PC or My Computer and select Properties.
Click Advanced system settings.
Under System Properties, click Environment Variables.
In the System Variables section, find Path and click Edit.
Add the folder path where you extracted the Speedtest CLI binary.
Now you can run the Speedtest CLI from any command line window.
Step 4: Run Speedtest CLI
To check your internet speed, simply type:
speedtest
This will run a speed test using the nearest server.
Installing Speedtest CLI on Ubuntu
For Linux users, including Ubuntu, Ookla provides a package repository that simplifies the installation process.
Step 1: Install Required Dependencies
Before you can install the Speedtest CLI, ensure that your system is up to date:
sudo apt update
sudo apt upgrade
Step 2: Add Ookla’s Official Repository
To add the official Speedtest repository to your Ubuntu system:
sudo apt install curl gnupg
curl -s https://packagecloud.io/install/repositories/ookla/speedtest-cli/script.deb.sh | sudo bash
This command adds the necessary repository and GPG key to verify the packages.
Step 3: Install Speedtest CLI
Once the repository is added, you can install the Speedtest CLI using the following command:
sudo apt install speedtest
Step 4: Run Speedtest CLI
After the installation is complete, run a speed test by typing:
speedtest
You will see the download, upload, and ping results displayed in your terminal.
Installing Speedtest CLI on macOS
macOS users can install the Speedtest CLI using Homebrew, a package manager for macOS.
Step 1: Install Homebrew (if not already installed)
If you don’t have Homebrew installed, you can install it by running:
/bin/bash -c “$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)”
Follow the on-screen instructions to complete the installation.
Step 2: Install Speedtest CLI via Homebrew
Once Homebrew is installed, you can install Speedtest CLI by typing:
brew install speedtest-cli
This will download and install the tool.
Step 3: Run Speedtest CLI
To check your internet speed, simply run:
speedtest
The CLI will connect to the nearest server and provide your internet speed metrics.
Advanced Usage and Options
The Speedtest CLI offers several advanced options that allow you to customize the testing process. Here are some useful commands:
Specify a Server
If you want to test against a specific server rather than the nearest one, you can use the –server flag:
speedtest –server
To get a list of available servers and their IDs, run:
speedtest –servers
Output in JSON Format
For automation or logging purposes, you may want to output the results in JSON format. Use the –format option:
speedtest –format=json
Display Help
To see all available options, run:
speedtest –help
Conclusion
Ookla’s Speedtest CLI is a versatile tool that allows you to check your internet connection speed from the command line. Whether you’re using Windows, Ubuntu, or macOS, the installation process is quick and straightforward. Once installed, you can easily test download and upload speeds, as well as latency, all from your terminal. The advanced options also make it a powerful tool for network monitoring and automation.
By following this guide, you’ll be able to install and start using Speedtest CLI on your preferred operating system, helping you monitor and troubleshoot your internet connection efficiently.
Post Views: 452
Сервис проверки скорости интернет-соединения Speedtest by Ookla в представлении не нуждается. Это известный и авторитетный инструмент, располагающий большим количеством серверов по всему миру. Можно без преувеличения сказать, что каждый системный администратор его хоть раз, да использовал. Говоря о Speedtest обычно, мы имеем ввиду одноименный сайт, который позволяет выполнить тестирование, но существует и вариант теста для командной строки, который позволяет использовать его на серверах и в сценариях мониторинга.
Онлайн-курс по устройству компьютерных сетей
На углубленном курсе «Архитектура современных компьютерных сетей» вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.
Браузерные приложения всем хороши — не требуют установки, просты в использовании, наглядны, но только вот что делать, если вы работаете на сервере без графической оболочки или хотите использовать предлагаемые приложением функции в скриптах или сценариях? В этих случаях не обойтись без вариантов приложения для интерфейса командной строки — CLI (Command Line Interface).
Speedtest предоставляет такую возможность, приложение для командной строки можно получить на официальном сайте, доступны версии для Windows, Linux, macOS и FreeBSD. Далее мы будем рассматривать версию для Linux-дистрибутивов основанных на Debian, но это касается только установки, использование утилиты во всех поддерживаемых системах одинаково.
В Linux нам доступно два варианта использования утилиты: установить ее через пакетный менеджер или скачать архив с бинарным файлом. Первый вариант является более предпочтительным, так как правилами хорошего тона в Linux является установка ПО из репозиториев, хотя опытные администраторы могут просто использовать бинарный файл. Этим и хорош Linux — каждый может настраивать систему именно так, как нравится, а не так, как задумал кто-то там.
Инструкции по установке приведены на официальной странице, но мы все равно повторим их здесь. Установку следует производить с правами суперпользователя или используя sudo. Здесь таятся некоторые различия. С правами root нам достаточно выполнить:
curl -s https://install.speedtest.net/app/cli/install.deb.sh | bash
А через sudo:
curl -s https://install.speedtest.net/app/cli/install.deb.sh | sudo bash
Почему именно так? Потому что первая команда производит скачивание скрипта и в повышении прав не нуждается. А при использовании конвейера в Linux повышение прав не наследуется, т.е. все последующие команды будут выполнены с правами пользователя, без учета sudo. Поэтому sudo надо использовать именно перед командой, требующей повышения прав, а не в начале строки.
После выполнения указанных команд в систему будет подключен новый репозиторий и будет произведено обновление списка пакетов, после чего нужно будет просто установить утилиту командой:
apt install speedtest
Пользоваться ей очень просто, если мы запустим ее без аргументов, то будет выполнен тест с автоматическим выбором ближайшего сервера и выводом результатов в терминал:
speedtest
Для того, чтобы получить список ближайших серверов наберите команду:
speedtest -L
Обратите внимание на колонку ID, потому что в утилите командной строки требуется использовать именно идентификатор сервера.
Выяснив необходимый идентификатор можно выполнить тест с данным узлом используя для указания сервера опцию -s или —server-id, например, для Ростелекома:
speedtest -s 3260
Но возможности Speedtest этим не ограничиваются, утилита способна выводить информацию в различных форматах: несколько вариантов JSON, CSV и TSV (CSV с разделителем Tab). Для этого используйте ключ -f или —format:
speedtest -s 3260 -f json-pretty
И если JSON вполне удобочитаемый формат, то CSV/TSV просто выводит строку чисел без расшифровки, чтобы правильно их интерпретировать можно использовать опцию добавляющую заголовки колонок —output-header:
Имейте ввиду одну особенность: вывод команд с указанием формата выводит скорость в байтах, чтобы получить привычные Mб/с полученное значение следует разделить на 125 000.
Как можно заметить, информация в нужном формате продолжает выводиться в терминал, чтобы направить ее в файл используйте:
speedtest -s 3260 -f tsv > ~/speedtest.tsv
Данная команда перенаправит вывод в файл speedtest.tsv в домашней директории пользователя и перезапишет его.
Если вы хотите дополнять файл, собирая в него информацию, то немного измените команду:
speedtest -s 3260 -f tsv >> ~/speedtest.tsv
Полученную информацию можно использовать самым разнообразным образом, скажем подключив к системе мониторинга Zabbix, где для этого имеются готовые плагины, либо, не имея иных инструментов, выполнив анализ в табличном редакторе:
Надеемся, что данный материал окажется вам полезен, а копилка администратора пополнится еще одним полезным инструментом.
Онлайн-курс по устройству компьютерных сетей
На углубленном курсе «Архитектура современных компьютерных сетей» вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.
