Как проверить прокси на работоспособность: 5 способов за минуту
Прокси перестал отвечать — и непонятно, дело в нём, в вашей программе или в самом сайте. Разобраться можно за минуту, не гадая: достаточно одной команды в терминале и понимания, что означает ответ. Ниже — пять способов проверки от самого быстрого до массового, и таблица ошибок, по которой видно, кто именно виноват.
Как проверить прокси на работоспособность одной командой
Самый прямой способ проверить прокси на работоспособность — отправить через него запрос к сервису, который возвращает ваш IP. Если в ответе пришёл адрес прокси, а не ваш домашний, — прокси живой и трафик через него идёт.
Прокси обычно выдают строкой вида ip:port:логин:пароль. Для curl её нужно переписать в URL-форму: http://логин:пароль@ip:port.
curl -x http://user123:pass456@185.10.20.30:8080 https://ifconfig.co/json
Ответ придёт JSON-объектом с полями ip, country, city и asn_org — так вы сразу проверяете и связь, и страну выхода. Для SOCKS5 схема другая:
curl --proxy socks5h://user123:pass456@185.10.20.30:8080 https://ifconfig.co/json
Обратите внимание на букву h в socks5h: она означает, что имена доменов резолвит прокси, а не ваш компьютер. Без неё DNS-запросы уходят мимо прокси — ваш провайдер видит, какие сайты вы открываете, а сайт может заметить несовпадение региона DNS и IP. Для любой работы с учётными записями используйте только socks5h.
Чтобы сразу увидеть скорость ответа и HTTP-код, добавьте форматированный вывод:
curl -x http://user123:pass456@185.10.20.30:8080 \
-o /dev/null -s -w "code=%{http_code} time=%{time_total}\n" \
https://ifconfig.co/json
Нормальный ответ выглядит как code=200 time=0.6. Время больше 3–4 секунд на простом запросе — повод проверить прокси на другом узле или сменить гео.
В Windows 10 и 11 curl есть по умолчанию (C:\Windows\System32\curl.exe), так что обе команды выше работают в cmd и PowerShell без установки чего-либо дополнительного.
Онлайн-чекеры: когда терминала нет под рукой
Онлайн-чекеры принимают список ip:port:логин:пароль и показывают статус, страну и пинг. Способ удобный, но у него две особенности. Проверка идёт с сервера чекера, а не с вашего компьютера: прокси может отвечать чекеру и не отвечать вам — например, если включена привязка по IP и вашего адреса нет в белом списке. И вы отдаёте логин с паролем стороннему сайту. Для разовой проверки чужого списка это терпимо, для своих рабочих прокси лучше локальная команда.
Проверка в браузере и антидетект-браузере
Ручная проверка через браузер показывает то, чего не видит curl: как прокси ведёт себя на реальных сайтах с JavaScript и куками.
В Firefox: Настройки → Основные → прокрутить вниз до Параметры сети → Настроить → Ручная настройка прокси. Впишите IP и порт, для SOCKS отметьте SOCKS v5 и обязательно поставьте галку Отправлять DNS-запросы через прокси при использовании SOCKS 5. Логин и пароль Firefox спросит отдельным окном при первом запросе.
Chrome собственных настроек прокси не имеет — он берёт системные. Поэтому для проверки в Chrome удобнее расширение вроде Proxy SwitchyOmega либо отдельный профиль в антидетект-браузере.
В Dolphin Anty, AdsPower и Octo Browser у каждого профиля есть кнопка Check proxy — она показывает IP, страну и статус подключения до запуска профиля. Это правильное место для проверки: браузер тестирует прокси ровно теми настройками, с которыми потом пойдёт в работу. Подробнее о связке прокси и антидетекта — в разделе про работу с антидетект-браузерами.
Что означают ошибки при проверке
Половина «неработающих» прокси на самом деле работают — просто отвечают не то, что ожидает пользователь. Вот как расшифровать ответ.
| Что вы видите | Что это значит | Что делать |
|---|---|---|
curl: (7) Failed to connect | Порт закрыт или узел недоступен | Проверить порт в строке, затем обратиться в поддержку |
curl: (5) Could not resolve proxy | Опечатка в адресе прокси | Сверить строку посимвольно |
curl: (28) Operation timed out | Соединение висит без ответа | Повторить с --connect-timeout 10; если стабильно — узел перегружен |
HTTP 407 | Логин или пароль не приняты | См. разбор ошибки 407 |
HTTP 429 | Прокси жив, лимитирует целевой сайт | Снизить частоту запросов, добавить прокси в ротацию |
HTTP 403 от сайта, 200 от ifconfig.co | Прокси работает, но адрес не нравится сайту | Сменить гео или взять другой прокси |
HTTP 502 / 504 | Прокси не смог достучаться до сайта | Проверить тот же прокси на другом домене |
Ключевое правило: всегда проверяйте прокси двумя запросами — на нейтральный сервис вроде ifconfig.co и на ваш целевой сайт. Расхождение между ними сразу показывает, проблема в прокси или в отношении сайта к конкретному адресу.
Массовая проверка списка
Когда прокси десятки, перебирать вручную бессмысленно. Положите список в файл proxies.txt по строке на прокси в формате ip:port:логин:пароль и запустите:
cat proxies.txt | while IFS=: read ip port user pass; do
out=$(curl -s --max-time 10 \
-x "http://$user:$pass@$ip:$port" https://ifconfig.co/ip)
echo "$ip:$port -> ${out:-FAIL}"
done
Проверка идёт последовательно, по 1–3 секунды на прокси; для сотни адресов быстрее запускать параллельно через xargs -P 20. Строки с FAIL — и есть список, с которым надо разбираться.
Особенность проверки IPv6-прокси
С IPv6-прокси чекеры дают результат, который на первый взгляд выглядит как ошибка: один сервис показывает один адрес, другой — совсем другой. Это нормальное поведение, а не поломка.
Дело в том, что запрос до сайта идёт по тому протоколу, который сайт поддерживает. Если чекер доступен только по IPv4, соединение уйдёт по IPv4 и вы увидите адрес выходного узла. Если чекер умеет IPv6 — увидите ваш IPv6-адрес из пула. Поэтому для проверки IPv6-прокси берите сервис с поддержкой обоих протоколов, например ifconfig.co или api64.ipify.org, и не судите по IPv4-only чекеру.
Отдельно: если IPv6-адрес нужно вписать прямо в URL, он берётся в квадратные скобки — http://user:pass@[2a03:4000::1]:8080. Без скобок curl примет двоеточия внутри адреса за разделитель порта и вернёт ошибку разбора URL.
В ModJus прокси приходят в Telegram-боте строкой ip:port:логин:пароль, на одном адресе работают сразу HTTP и SOCKS5 — так что проверить можно любой из команд выше, меняя только схему. Цена одна для всех 50 стран — 10 ₽ за прокси на 30 дней, поэтому при проблемах с конкретным гео дешевле взять соседнее, чем воевать с забаненным адресом. Пошаговые настройки для браузеров и программ собраны в инструкции по настройке.
Короткий алгоритм на каждый день
Последовательность из трёх шагов закрывает почти все случаи:
curl -x http://логин:пароль@ip:port https://ifconfig.co/json— прокси вообще жив и в нужной стране?- Тот же запрос на ваш целевой сайт с
-o /dev/null -w "%{http_code}\n"— сайт пускает этот адрес? - Если первый шаг дал ответ, а второй — 403 или 429, прокси исправен и менять надо не его, а тактику: снизить частоту, добавить ротацию, взять другое гео.
Разница между «прокси не работает» и «сайт не пускает» — это разница между запросом в поддержку и правкой собственного скрипта. Две команды curl отвечают на этот вопрос надёжнее любого чекера.