3.3 KiB
3.3 KiB
Python решения
Эта папка зарезервирована для Python реализации решений, но в данном проекте основной фокус на bash-утилиты для диагностики и тестирования сетевого доступа.
Почему только bash?
Задача этого проекта — быстрая и портативная диагностика:
- Сравнение методов доступа к GitHub репозиторию (HTTPS, SSH, GitHub CLI)
- Измерение скорости загрузки между разными серверами
- Демонстрация влияния HTTP-сжатия на скорость передачи
Для этих задач bash-скрипты идеальны:
- Не требуют установки зависимостей (только
curl,bc) - Работают на любой Unix-системе out of the box
- Быстрая диагностика и отладка
Почему не Python?
Любое Python решение в итоге:
- Использует
curlчерез обертку (типаplumbum,subprocess) — тогда это просто Python-обертка над bash - или портебует Реализации собственного HTTP-клиена, что уже никак не будет "быстрым решением" и, вдобавок, потеряется функциональность:
- HTTPS с самоподписанными сертификатами
- SFTP, WebDAV, SMB и другие протоколы
- Пулинг соединений, redirect handling
- Прокси, cookies, headers, auth методы
Python-библиотеки (requests, httpx) хороши для приложений, но для простой диагностики они избыточны и требуют:
- Установку пакетов (
pip,poetryи т.п.) - Управление версиями зависимостей
- Дополнительный код для разбора результатов
- дополнительные 120-240 мс на каждый запрос из-за интерпретатора Python, что критично для замеров скорости
Вывод: Bash + curl = минимум зависимостей + максимум функциональности + прямой доступ к инструментам системы.
Мой Python код
Если вас интересуют примеры моего Python кода, смотрите другие репозитории:
Содержимое проекта
├── bash/ # Bash утилиты и скрипты
│ ├── speed_test.sh # Измерение скорости интернета
│ ├── compare_modes.sh # Сравнение методов доступа к GitHub
│ ├── compare_servers.sh # Сравнение скорости серверов
│ └── USAGE.md # Документация
└── python/ # Зарезервировано для будущих решений