Назад |
24.07.2026, 10:40:12 |
22
# Проверка скорости интернета
# https://www.speedtest.net/ru/apps/cli
import subprocess, json
from datetime import datetime
def formatDate(date):
utc = datetime.fromisoformat(date)
return utc.strftime('%d.%m.%Y, %H:%M:%S')
print('Начинаю сканировать...')
print()
result = subprocess.run(
['speedtest.exe', '-f', 'json'],
capture_output=True,
text=True,
encoding='utf-8'
)
data = json.loads(result.stdout)
print('-' * 10, 'Пинг', '-' * 10)
print(f'Задержка: {data['ping']['latency']:.3f} мс')
print(f'Джиттер: {data['ping']['jitter']:.3f} мс')
print(f'Минимум: {data['ping']['low']:.3f} мс')
print(f'Максимум: {data['ping']['high']:.3f} мс')
print()
print('-' * 10, 'Загрузка', '-' * 10)
print(f'Скорость: {data['download']['bandwidth']*8/1_000_000:.2f} Мбит/с')
print(f'Передано: {data['download']['bytes']:,} байт')
print(f'Время: {data['download']['elapsed']} мс')
print(f'IQM: {data['download']['latency']['iqm']:.3f} мс')
print(f'Минимум: {data['download']['latency']['low']:.3f} мс')
print(f'Максимум: {data['download']['latency']['high']:.3f} мс')
print(f'Джиттер: {data['download']['latency']['jitter']:.3f} мс')
print()
print('-' * 10, 'Выгрузка', '-' * 10)
print(f'Скорость: {data['upload']['bandwidth']*8/1_000_000:.2f} Мбит/с')
print(f'Передано: {data['upload']['bytes']:,} байт')
print(f'Время: {data['upload']['elapsed']} мс')
print(f'IQM: {data['upload']['latency']['iqm']:.3f} мс')
print(f'Минимум: {data['upload']['latency']['low']:.3f} мс')
print(f'Максимум: {data['upload']['latency']['high']:.3f} мс')
print(f'Джиттер: {data['upload']['latency']['jitter']:.3f} мс')
print()
print('-' * 10, 'Сеть', '-' * 10)
print(f'Потери пакетов: {data['packetLoss']} %')
print(f'Провайдер: {data['isp']}')
print()
print('-' * 10, 'Интерфейс', '-' * 10)
print(f'Локальный IP: {data['interface']['internalIp']}')
print(f'Внешний IP: {data['interface']['externalIp']}')
print(f'Имя интерфейса: {data['interface']['name'] or '(не указано)'}')
print(f'MAC-адрес: {data['interface']['macAddr']}')
print(f'VPN: {'Да' if data['interface']['isVpn'] else 'Нет'}')
print()
print('-' * 10, 'Сервер', '-' * 10)
print(f'ID: {data['server']['id']}')
print(f'Название: {data['server']['name']}')
print(f'Хост: {data['server']['host']}')
print(f'IP: {data['server']['ip']}')
print(f'Порт: {data['server']['port']}')
print(f'Город: {data['server']['location']}')
print(f'Страна: {data['server']['country']}')
print()
print('-' * 10, 'Результат', '-' * 10)
print(f'Дата: {formatDate(data['timestamp'])}')
print(f'Ссылка: {data['result']['url']}')