Об этом проекте
CloudflareSpeedTest (CFST) — это открытая консольная утилита для тестирования сети, предназначенная главным образом для отбора из множества публичных IP-диапазонов Cloudflare CDN IP, более подходящих для конкретной сетевой среды. В описании проекта отмечается, что IP-адреса, которые Cloudflare назначает посетителям из материкового Китая, часто имеют высокую задержку, большие потери пакетов и низкую скорость, а вручную выбирать подходящие адреса из огромного количества IP нереально, поэтому инструмент решает эту задачу с помощью автоматического тестирования скорости. Помимо Cloudflare, поддерживается тестирование задержки для других CDN или сайтов с несколькими IP-адресами разрешения, но адрес для тестирования скорости загрузки необходимо указывать самостоятельно.
Основные возможности
- Тестирование задержки: по умолчанию используется режим TCPing, также можно переключиться на режим протокола HTTP с помощью -httping; HTTPing считывает заголовки ответа и может определять доступность по коду состояния HTTP.
- Тестирование скорости загрузки: после сортировки по задержке тестирование скорости загрузки выполняется последовательно начиная с IP с наименьшей задержкой; по умолчанию процесс останавливается после проверки 10 IP.
- Сортировка и вывод результатов: сначала выполняется фильтрация с сортировкой по задержке, затем сортировка по скорости загрузки; по умолчанию в терминале отображаются 10 самых быстрых IP, а результаты записываются в файл result.csv.
- Поддержка адресов: одновременно поддерживаются IPv4 и IPv6, возможно смешанное тестирование; IP-диапазоны могут браться из встроенного файла, пользовательского файла или параметров командной строки.
- Определение кода региона: при HTTPing или тестировании скорости загрузки текущий код региона IP получается из заголовков ответа; поддерживаются Cloudflare, AWS CloudFront, Fastly, Gcore, CDN77, Bunny и другие CDN, а также фильтрация по региону с помощью -cfcolo.
Часто используемые параметры
- -n число потоков тестирования задержки, -t число проверок одного IP, -dn количество IP для тестирования скорости загрузки, -dt длительность тестирования скорости загрузки одного IP.
- -tp указать порт тестирования, -url указать адрес тестирования.
- -tl верхний предел средней задержки, -tll нижний предел средней задержки, -tlr верхний предел потери пакетов, -sl нижний предел скорости загрузки.
- -p количество отображаемых результатов, -f указать файл IP-диапазонов, -ip напрямую указать IP-диапазон, -o указать файл вывода результатов.
- -dd отключить тестирование скорости загрузки, -allip протестировать каждый IPv4-адрес в IP-диапазоне, -debug выводить отладочный журнал.
Способ использования
Предоставляются предварительно скомпилированные исполняемые файлы для Windows, Linux и macOS. В Windows можно запускать двойным щелчком, также возможна установка через scoop; в Linux/macOS нужно запускать в терминале и предоставить права на выполнение. В документации также описаны способы запуска с параметрами в CMD, PowerShell и через ярлык, а также замечания об относительных и абсолютных путях.
Примечания
В проекте явно указано, что Cloudflare CDN запрещено использовать в качестве прокси; при использовании прокси поверх CDN риски несёт сам пользователь; инструмент не подходит для выбора оптимальных IP Cloudflare WARP, использующего протокол UDP. HTTPing по своей сути является сетевым сканированием; при запуске на сервере рекомендуется снижать параллелизм, чтобы не вызвать временные ограничения со стороны оператора или CDN. Разные результаты тестирования скорости каждый раз — нормальное явление, поскольку в каждом IP-диапазоне IP для тестирования выбираются случайным образом.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.