Установка speedtest-cli для проверки скорости интернета в Unix/Linux

Установка speedtest-cli для проверки скорости интернета в Unix/Linux

Утилита speedtest-cli — это скрипт, который написан на Python. Он измеряет скорость интернет-трафика в двух направлениях (аплоад и даунлоад) используя инфраструктуру speedtest.net для измерения скорости. Для данной программы необходимо установить Python 2.4-3.4 или выше.

Установка speedtest-cli для проверки скорости интернета в Unix/Linux

Есть несколько способов установить speedtest-cli:

  • Первый способ —  предполагает использование пакета python-pip.
  • Второй способ — загрузить сценарий Python, сделать его исполняемым и запустить.
  • Третий способ — использовать пакетный менеджер.
  • Четвертый способ — скачать speedtest-cli используя Github.

Все команды я буду выполнять от суперпользователя, по этому — я залогинюсь под ним:

$ sudo su

Вводим пароль от пользователя root и получаем его права.

-=1=- Установка speedtest-cli используя pythin-pip

И так, для начала выполняем установку python-pip, если не знаете как это сделать — вот статья:

Установка pip/setuptools/wheel в Unix/Linux

И, выполняем установку speedtest-cli пакета:

# pip install speedtest-cli

Для обновления speedtest-cli, используйте:

# pip install speedtest-cli --upgrade

-=2=- Установка speedtest-cli используя Python скрипт

Сначала загрузите скрипт python из github с помощью команды wget, распакуйте загруженный файл (master.zip):

$ cd /usr/local/src && wget https://github.com/sivel/speedtest-cli/archive/master.zip && unzip master.zip

После извлечения архива, перейдите в speedtest-cli-master папку и сделайте исполняемый файл:

$ cd speedtest-cli-master/
$ chmod 755 speedtest_cli.py

Затем переместите исполняемый файл в /usr/bin директорию:

$ sudo mv speedtest_cli.py /usr/bin/

Вот еще один вариант:

# cd /usr/local/src && wget -O speedtest-cli https://raw.githubusercontent.com/sivel/speedtest-cli/master/speedtest.py
# chmod +x speedtest-cli

Или:

# cd /usr/local/src && curl -Lo speedtest-cli https://raw.githubusercontent.com/sivel/speedtest-cli/master/speedtest.py
# chmod +x speedtest-cli

-=3=- Установка speedtest-cli используя пакетный менеджер.

Если вы используйте Debian/Ubuntu ОС, выполните:

# apt install speedtest-cli

Если вы используйте CentOS/Fedora/RHEL ОС, выполните:

# yum install speedtest-cli

Если вы используйте Mac OS X, выполните:

Для начала, устанавливаем HomeBrew:

Установка HomeBrew на Mac OS X

И выполняем установку:

$ brew install speedtest_cli

-=4=- Установка speedtest-cli используя Github

Используем:

$ pip install git+https://github.com/sivel/speedtest-cli.git

Или

$ git clone https://github.com/sivel/speedtest-cli.git

И выполняем установку:

# python speedtest-cli/setup.py install

Или можно запустить следующую команду:

$ curl -s  https://raw.githubusercontent.com/sivel/speedtest-cli/master/speedtest.py | python -

Использование speedtest-cli для проверки скорости интернета в Unix/Linux

В зависимости каким методом установки вы воспользовались, будет зависеть запуск speedtest-cli утилиты:

  • speedtest-cli
  • speedtest_cli.py

1. Чтобы проверить скорость загрузки и выгрузки своего интернет-соединения, запустите команду speedtest-cli без каких-либо аргументов, как показано ниже:

$ speedtest_cli.py

2. Для вывода информации в байтах (вместо битов), используйте:

$ speedtest_cli.py --bytes

3. Поделитесь своей пропускной способностью с друзьями или семьей. Вам предоставляется ссылка по завершению проверки:

# speedtest-cli --share

Конечно, вы можете комбинировать оба варианта:

$ speedtest-cli --share --bytes

4. Вам не нужна дополнительная информация (кроме Ping, Download и upload), то для этого используйте:

$ speedtest_cli.py --simple

5. Посмотреть сервера которые использует speedtest.net на основе физического расстояния ( км ):

$ speedtest_cli.py --list

6. На последнем этапе сформирован огромный список серверов, отсортированных по расстоянию. Как получить желаемый результат? Скажем, я хочу видеть только сервер speedtest.net, расположенный в Мумбаи (Индия):

$ speedtest-cli --list | grep -i Kiev

7. Проверьте скорость подключения к определенному серверу. Используйте идентификатор сервера, сгенерированный в примере 5 и в примере 6:

$ speedtest_cli.py --server [server_ID]

Как указать идентификатор сервера для тестирования?

Во-первых, возьмите список серверов, введите:

$ cd /usr/local/src && wget http://www.speedtest.net/speedtest-servers.php

Чтобы просмотреть идентификатор сервера, введите:

$ more speedtest-servers.php

Чтобы выполнить поиск идентификатора сервера, введите:

$ grep 'name' speedtest-servers.php
$ grep 'country' speedtest-servers.php

Рассмотрим пример:

$ grep 'Kiev' speedtest-servers.php

Вывод:

<server url="http://speedtest01.life.com.ua/speedtest/upload.php" lat="50.4500" lon="30.5233" name="Kiev" country="Ukraine" cc="UA" sponsor="lifecell" id="3230"  url2="http://speedtest02.life.com.ua/speedtest/upload.php" host="speedtest01.life.com.ua:8080" />
<server url="http://speedtest.volia.net/speedtest/upload.php" lat="50.4500" lon="30.5233" name="Kiev" country="Ukraine" cc="UA" sponsor="Volia" id="2518"  url2="http://speedtest2.volia.com/speedtest/upload.php" host="speedtest.volia.net:8080" />
<server url="http://speedtest.cosmonova.net/speedtest/upload.php" lat="50.4500" lon="30.5233" name="Kiev" country="Ukraine" cc="UA" sponsor="Cosmonova" id="5447"  url2="http://speedtest.cosmonova.net.ua/speedtest/upload.php" host="speedtest.cosmonova.net:8080" />
<server url="http://st1.utelecom.com.ua/speedtest/upload.php" lat="50.4500" lon="30.5233" name="Kiev" country="Ukraine" cc="UA" sponsor="PROSTO" id="6088"  url2="http://st12.utelecom.com.ua/speedtest/upload.php" host="st1.utelecom.com.ua:8080" />
<server url="http://speedtest.lanet.ua/speedtest/upload.php" lat="50.4500" lon="30.5233" name="Kiev" country="Ukraine" cc="UA" sponsor="Lanet Network" id="5477"  url2="http://speedtest.la.net.ua/speedtest/upload.php" host="speedtest.lanet.ua:8080" />
<server url="http://kiev.speedtest.triolan.com.ua/speedtest/upload.php" lat="50.4500" lon="30.5233" name="Kiev" country="Ukraine" cc="UA" sponsor="Triolan" id="6010"  url2="http://kiev2.speedtest.triolan.com.ua/speedtest/upload.php" host="kiev.speedtest.triolan.com.ua:8080" />
<server url="http://sp1.ip.net.ua/speedtest/upload.php" lat="50.4500" lon="30.5233" name="Kiev" country="Ukraine" cc="UA" sponsor="Ipnet" id="6312"  url2="http://sp2.ip.net.ua/speedtest/upload.php" host="sp1.ip.net.ua:8080" />
<server url="http://www.speedtest1.kyivstar.ua/speedtest/upload.php" lat="50.4500" lon="30.5233" name="Kiev" country="Ukraine" cc="UA" sponsor="Kyivstar" id="6446"  url2="http://www.speedtest2.kyivstar.ua/speedtest/upload.php" host="www.speedtest.kyivstar.ua:8080" />
<server url="http://speedtest1.under.net.ua/speedtest/upload.php" lat="50.4500" lon="30.5233" name="Kiev" country="Ukraine" cc="UA" sponsor="UnderNet" id="6195"  url2="http://speedtest2.under.net.ua/speedtest/upload.php" host="speedtest1.under.net.ua:8080" />
<server url="http://xmon.x.ua/speedtest_plugin/speedtest/upload.php" lat="50.4500" lon="30.5233" name="Kiev" country="Ukraine" cc="UA" sponsor="x.ua - CDN" id="5072"  url2="http://xmon1.x.ua/speedtest_plugin/speedtest/upload.php" host="xmon.x.ua:8080" />
<server url="http://sp1.dataline.ua/speedtest/upload.php" lat="50.4500" lon="30.5233" name="Kiev" country="Ukraine" cc="UA" sponsor="Dataline" id="8478"  url2="http://sp2.dataline.ua/speedtest/upload.php" host="speedtest.dataline.ua:8080" />
<server url="http://st.uniteddc.net.ua/speedtest/upload.php" lat="50.4500" lon="30.5233" name="Kiev" country="Ukraine" cc="UA" sponsor="United Network Of Ukraine" id="7743"  url2="http://st.uniteddc.net/speedtest/upload.php" host="st.uniteddc.net.ua:8080" />
<server url="http://sp1.infocom.ua/speedtest/upload.php" lat="50.4500" lon="30.5233" name="Kiev" country="Ukraine" cc="UA" sponsor="Infocom" id="9264"  url2="http://sp2.infocom.ua/speedtest/upload.php" host="sp1.infocom.ua:8080" />
<server url="http://kyiv.speedtest.vegatele.com/speedtest/upload.php" lat="50.4500" lon="30.5233" name="Kiev" country="Ukraine" cc="UA" sponsor="Vega (Farlep-Invest)" id="6578"  url2="http://host-kv.speedtest.vegatele.com/speedtest/upload.php" host="kyiv.speedtest.vegatele.com:8080" />
<server url="http://speedtest.ukrtelecom.ua/speedtest/upload.php" lat="50.4500" lon="30.5233" name="Kiev" country="Ukraine" cc="UA" sponsor="JSC Ukrtelecom" id="831"  url2="http://speedtest1.ukrtelecom.ua/speedtest/upload.php" host="speedtest.ukrtelecom.ua:8080" bigsamples="0" />
<server url="http://sp1.o3.ua/upload.php" lat="50.4500" lon="30.5233" name="Kiev" country="Ukraine" cc="UA" sponsor="o3" id="9332"  url2="http://sp2.o3.ua/upload.php" host="sp1.o3.ua:8080" />

Так же, можно показать только ID сервера(ов):

$ grep 'Kiev' speedtest-servers.php | egrep -o 'id="[0-9]{4}"'

Примеры результатов:

id="3230"
id="2518"
id="5447"
id="6088"
id="5477"
id="6010"
id="6312"
id="6446"
id="6195"
id="5072"
id="8478"
id="7743"
id="9264"
id="6578"
id="9332"

Далее используйте идентификатор сервера 6088:

$ speedtest-cli --server 6088

И получаем:

Retrieving speedtest.net configuration...
Retrieving speedtest.net server list...
Testing from TerraTransit (31.187.70.238)...
Hosted by PROSTO (Kiev) [2171.68 km]: 80.402 ms
Testing download speed........................................
Download: 181.86 Mbit/s
Testing upload speed..................................................
Upload: 43.13 Mbit/s

8. Создание лога с помощью speedtest-cli

Speedtest-cli можно запустить как cronjob, чтобы получить лог-файл с тестом скорости интернет-соединения. Откройте crontab с помощью следующей команды:

$ crontab -e

И добавьте эту строку (я предполагаю, что speedtest_cli.py установлен в /usr/local/bin) в crontab:

30 00 * * * /usr/local/bin/speedtest-cli >> /tmp/speedlog.txt

Сохраните изменения и выйдите из редактора crontab. Это проведет тест скорости в 0:30 каждый день и добавит результат в файл /tmp/speedlog.txt.

9. Чтобы проверить версию утилиты, используйте:

$ speedtest_cli.py --version

10. Для дополнительной информации ( помощи), используйте:

$ speedtest_cli.py --help

На этом у меня все, статья «Установка speedtest-cli для проверки скорости интернета в Unix/Linux» завершена.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.