«Прокси работает» — слишком слабый критерий. Адрес может подключаться, но передавать сайту ваш реальный IP в заголовках, разрешать домены через DNS провайдера или упираться в капчу на первой же странице. Всё это выясняется через неделю работы, когда возвращать деньги уже поздно. Ниже — проверка, которая занимает пятнадцать минут и делается сразу после покупки.
Базовая проверка: узнать, какой адрес приходит на сервер. Простейший способ — запрос к сервису, возвращающему IP, через нужный прокси:
# HTTP-прокси с авторизацией по логину
curl -x http://user:pass@1.2.3.4:8000 https://api.ipify.org
# SOCKS5 с удалённым разрешением DNS
curl -x socks5h://user:pass@1.2.3.4:1080 https://api.ipify.org
В ответе должен быть адрес прокси и ни в коем случае не ваш собственный. Сравните с тем, что тот же запрос выдаёт без ключа -x. Совпадение означает, что прокси не применился: чаще всего перепутан порт или программа его игнорирует.
Адрес может подменяться, а факт проксирования — нет. Прокси-серверы умеют добавлять служебные заголовки, и по ним сайт понимает, что перед ним посредник. Отправьте запрос на сервис, который возвращает полученные заголовки, и поищите четыре имени.
| Заголовок | Что означает | Насколько критично |
|---|---|---|
X-Forwarded-For |
Передаёт исходный адрес клиента | Критично: реальный IP уходит на сайт |
X-Real-IP |
То же самое, другое имя | Критично |
Via |
Сообщает о прохождении через прокси | Раскрывает факт проксирования |
Forwarded |
Стандартизованный вариант первых двух | Критично |
По этому признаку прокси делят на три уровня: прозрачный — передаёт всё, анонимный — скрывает ваш адрес, но признаётся, что он прокси, элитный — не отправляет ничего лишнего. Для работы с площадками нужен третий вариант, первые два бессмысленны.
Две самые частые дыры, которые не видны в проверке адреса.
DNS-утечка. Трафик идёт через прокси, а доменные имена разрешаются напрямую через сервер вашего провайдера. Сайт видит адрес прокси, но провайдер знает список доменов, которые вы открывали. В SOCKS5 лечится схемой socks5h вместо socks5 — буква h означает, что имена разрешает удалённая сторона. В браузерных профилях — соответствующей настройкой в антидетекте.
WebRTC-утечка. Технология видеосвязи запрашивает у системы её собственные адреса, и страница может прочитать локальный, а иногда и внешний IP в обход прокси. Проверяется на любом сервисе теста WebRTC: в поле должен быть адрес прокси либо пусто. Отключается настройкой браузера или профиля антидетекта.
Порядок проверки важен: сначала убеждаемся, что адрес подменяется, и только потом ищем утечки. Если прокси вообще не применился, тест на утечки покажет «всё чисто» — просто потому, что утекать нечему, вы и так работаете напрямую.
Пиковая скорость — самый переоценённый параметр. Для парсинга и мониторинга гораздо важнее предсказуемость: одинаковое время ответа и отсутствие обрывов на длинной серии.
# задержка и время загрузки на 20 одинаковых запросах
for i in $(seq 20); do
curl -x http://user:pass@1.2.3.4:8000 -o /dev/null -s \
-w "%{http_code} %{time_total}\n" https://example.com
done
Смотрите на три вещи: разброс времени (если он трёхкратный, канал перегружен), долю кодов ответа, отличных от 200, и наличие таймаутов. Двадцать успешных запросов с близким временем — хороший знак; чередование быстрых ответов и обрывов означает, что на адресе есть соседи или канал нестабилен.
Серверные IPv4-прокси с гарантией полосы и без соседей на адресе — проверьте на тестовом доступе.
Получить тестТехнически исправный прокси может быть бесполезен, если адрес уже испорчен предыдущими арендаторами. Проверка простая: откройте через него именно те сайты, ради которых покупали. Появилась капча на первом же запросе, ошибка 403 или требование подтвердить, что вы человек — адрес с историей.
Вручную имеет смысл проверять один-два адреса. Когда куплен пул на сто портов, нужен скрипт: он за минуту покажет, какие адреса живы, какие отдают чужой IP и какие отвечают слишком медленно.
import concurrent.futures as cf, requests, time
def check(line):
proxies = {"http": line, "https": line}
t = time.perf_counter()
try:
ip = requests.get("https://api.ipify.org",
proxies=proxies, timeout=10).text.strip()
return line, ip, round(time.perf_counter() - t, 2)
except Exception as e:
return line, f"ERROR: {type(e).__name__}", None
with open("proxies.txt") as f:
lines = [l.strip() for l in f if l.strip()]
with cf.ThreadPoolExecutor(20) as ex:
for line, ip, sec in ex.map(check, lines):
print(f"{ip:<18} {sec}\t{line}")
Дальше смотрите на результат в двух разрезах. Во-первых, уникальность адресов: если в столбце с IP значения повторяются, часть портов ведёт на один и тот же выход, и пул на деле меньше заявленного. Во-вторых, распределение времени: пара медленных портов среди сотни — норма, треть медленных — повод писать в поддержку. Сохраните вывод в файл: при первом же споре с продавцом он окажется весомее любых описаний словами.
X-Forwarded-For, X-Real-IP, Via, Forwarded.Пройдите этот список в первый же день, пока действует срок возврата. Через неделю продавец справедливо предположит, что адрес испортили вы, и будет по-своему прав.
Как проверить прокси на анонимность?
Отправьте запрос на сервис, возвращающий заголовки, и убедитесь, что среди них нет X-Forwarded-For, Via, X-Real-IP и Forwarded.
Что такое утечка DNS?
Имена доменов разрешаются в обход прокси, через сервер провайдера. Для SOCKS5 лечится схемой socks5h.
Как проверить скорость прокси?
Замерьте время на серии одинаковых запросов и смотрите на разброс и долю ошибок, а не на пиковую скорость.
Как понять, что адрес испорчен?
Откройте через него целевые сайты: капча, 403 или требование подтверждения на первом запросе говорят об истории адреса.
Что проверить сразу после покупки?
Подключение, подменённый IP, отсутствие заголовков и утечек, скорость, стабильность и открытие целевых сайтов.