Як перевірити, чи робочий проксі (з готовим скриптом)
Проксі корисний лише тоді, коли він живий, приховує вашу справжню IP і достатньо швидкий для задачі. Розбираємо п'ять способів перевірити всі три пункти — разом із готовим чекером на bash і Python, який можна запустити просто зараз.
Що насправді означає «робочий проксі»
Це три окремі перевірки, а не одна.
Про проксі кажуть «працює», ніби це один факт із відповіддю «так» чи «ні». Це не так: проксі може пройти одну перевірку й провалити дві інші, і кожен провал ламає своє завдання. Нормальна перевірка відповідає на три питання.
- Чи він живий? Запит крізь нього справді завершується чи висить до таймауту? Безкоштовні проксі особливо швидко відмирають — часто за кілька годин.
- Чи він анонімний? Сайт бачить IP проксі — чи проксі зливає вашу справжню через заголовки? Прозорий проксі, який передає вашу справжню IP-адресу, для приватності гірший за ніщо.
- Чи він достатньо швидкий? Живий проксі, який додає кілька секунд затримки, годиться для разової перевірки й безнадійний для скрапінгу в обсязі.
Якщо треба швидко перевірити один проксі, вставте його в чекер проксі s4m. Якщо ж у вас цілий список — наприклад, відфільтровані записи з безкоштовного публічного списку проксі, — використайте скрипти нижче й перевірте все пакетно.
П'ять способів перевірити проксі
Від одного кліку до пакетного скрипта.
Скористайтеся онлайн-чекером
Найшвидший варіант: вставте HOST:PORT в інструмент /tools/proxy-checker/ і отримайте живість, час відповіді та рівень анонімності. Ідеально для одного проксі чи швидкої вибіркової перевірки — нічого встановлювати не треба.
Перевірте один проксі через curl
Одна команда показує, чи він живий і яку вихідну IP бачить світ: зробіть curl крізь проксі до сервісу, що повертає вашу IP, і порівняйте відповідь зі своєю справжньою адресою. Збігаються — проксі прозорий і зливає вас.
Перевірте рівень анонімності
Зверніться до ендпоінта, який відображає ваші заголовки. Високоанонімний (elite) проксі не надсилає ні Via, ні X-Forwarded-For, що видали б ваше походження; анонімний ховає вашу IP, але повідомляє, що він проксі; прозорий передає вашу справжню IP-адресу. Це відповідає фільтрам elite/anonymous/transparent у безкоштовному списку.
Виміряйте затримку
Для масової роботи самої живості замало. Заміряйте час запиту (скрипти нижче друкують мілісекунди) і викидайте все, що для вашого завдання надто повільне. Дивіться також окремий посібник про чесний вимір затримки проксі.
Автоматизуйте весь список скриптом
Для десятків чи тисяч проксі пройдіться циклом по файлу й запишіть живий/мертвий, вихідну IP та затримку. Чекери на bash і Python нижче роблять саме це — скопіюйте, збережіть і запустіть.
Чекер проксі на bash
Збережіть як proxy-check.sh, покладіть по одному HOST:PORT на рядок у proxies.txt (за замовчуванням SOCKS5), потім: bash proxy-check.sh proxies.txt
#!/usr/bin/env bash
# proxy-check.sh — test proxies for liveness, latency and anonymity.
# Usage: bash proxy-check.sh proxies.txt (one HOST:PORT per line, SOCKS5)
set -u
TARGET="https://api.ipify.org"
TIMEOUT=8
myip=$(curl -s --max-time "$TIMEOUT" "$TARGET")
echo "your real IP: $myip"
echo "-------------------------------------------"
while IFS= read -r proxy; do
[ -z "$proxy" ] && continue
start=$(date +%s.%N)
out=$(curl -s --max-time "$TIMEOUT" --socks5-hostname "$proxy" "$TARGET")
code=$?
end=$(date +%s.%N)
if [ $code -ne 0 ] || [ -z "$out" ]; then
printf '%-22s DEAD\n' "$proxy"
continue
fi
ms=$(awk "BEGIN{printf \"%d\", ($end-$start)*1000}")
if [ "$out" = "$myip" ]; then
printf '%-22s ALIVE %5sms TRANSPARENT (leaks your IP!)\n' "$proxy" "$ms"
else
printf '%-22s ALIVE %5sms OK exit=%s\n' "$proxy" "$ms" "$out"
fi
done < "$1"Чекер проксі на Python
Збережіть як proxy_check.py і запустіть: pip install "requests[socks]" && python3 proxy_check.py proxies.txt
#!/usr/bin/env python3
"""proxy_check.py — validate proxies for liveness, latency and anonymity.
Usage: python3 proxy_check.py proxies.txt (one HOST:PORT per line)
Requires: pip install "requests[socks]"
"""
import sys, time, requests
TARGET = "https://api.ipify.org"
TIMEOUT = 8
def real_ip():
return requests.get(TARGET, timeout=TIMEOUT).text.strip()
def check(proxy, my_ip):
proxies = {"http": f"socks5h://{proxy}", "https": f"socks5h://{proxy}"}
t0 = time.perf_counter()
try:
exit_ip = requests.get(TARGET, proxies=proxies, timeout=TIMEOUT).text.strip()
except Exception:
return f"{proxy:22} DEAD"
ms = int((time.perf_counter() - t0) * 1000)
if exit_ip == my_ip:
return f"{proxy:22} ALIVE {ms:5}ms TRANSPARENT (leaks your IP!)"
return f"{proxy:22} ALIVE {ms:5}ms OK exit={exit_ip}"
def main():
my_ip = real_ip()
print("your real IP:", my_ip)
print("-" * 43)
with open(sys.argv[1]) as fh:
for line in fh:
p = line.strip()
if p:
print(check(p, my_ip))
if __name__ == "__main__":
main()Як читати результати
Що означають DEAD, TRANSPARENT і OK.
Обидва скрипти друкують ті самі три вердикти. DEAD означає, що запит так і не завершився — проксі лежить, заблокований або не вклався в таймаут; викидайте. TRANSPARENT означає, що проксі відповів, але вихідна IP збігається з вашою справжньою: він передає вашу адресу далі й не дає ніякої анонімності. OK з іншою вихідною IP та прийнятним показником у мілісекундах — це те, що варто лишити.
Повторюйте перевірки з тайм-аутами та повторними спробами. Наш список безкоштовних проксі показує збережені результати перевірок. Каталог зберігає історичні записи, зокрема позначені як непрацюючі. Збережений успішний результат не гарантує з’єднання зараз. Перегляньте стан і час перевірки та перевірте адресу перед використанням. Пов’язані послуги: датацентрові проксі s4m. Автентифікація або оплата не гарантує доступність чи прийняття запиту цільовим сервісом. Пов’язані теми: як ми вимірюємо затримку.
Відповіді на питання
Як зрозуміти, що проксі зливає мою справжню IP-адресу?
Надішліть крізь проксі запит до сервісу, який повертає вашу IP, і порівняйте відповідь зі справжньою адресою. Якщо вони однакові, проксі прозорий і передає вашу адресу далі — скрипти вище позначають це як TRANSPARENT. Нормальний проксі повертає іншу вихідну IP.
Чим відрізняються elite, anonymous і transparent проксі?
Elite (високоанонімний) проксі ховає вашу IP і не видає, що взагалі використовується проксі. Anonymous ховає IP, але заголовками повідомляє, що це проксі. Transparent передає вашу справжню IP повністю. У безкоштовному списку можна фільтрувати саме за цими рівнями.
Чому проксі з безкоштовного списку так швидко помирають?
Більшість із них — хости, випадково залишені відкритими; щойно власник перезавантажує машину, ставить оновлення чи помічає трафік, вони зникають — часто за кілька годин. Тому списки треба перевіряти безперервно, а не довіряти разовому знімку, — і тому для роботи, яка не має права зламатися, існують платні серверні проксі.
Чи можна використати скрипт і для HTTP-проксі?
Так. У прикладах припускається SOCKS5 (socks5h), який ще й резолвить DNS віддалено. Для HTTP-проксі змініть схему на http:// (curl -x http://HOST:PORT або http:// у словнику proxies в Python) і вкажіть HTTP-порт проксі, наприклад 3128.
Годі няньчити мертві проксі
Використовуйте тайм-аути, повторні спроби й перевірки працездатності. Автентифікація або оплата не гарантує доступність чи прийняття запиту цільовим сервісом. Перегляньте стан і час перевірки та перевірте адресу перед використанням.
Цю сторінку знаходять за запитами
- як перевірити, чи робочий проксі (з готовим скриптом)
- авторизація проксі для початківців
- безкоштовний авторизація проксі
- авторизація проксі
- безкоштовні проксі проти платних
- VPN для віддаленої роботи
- http проксі
- vpn kill switch
- http проксі підписка
- як налаштувати проксі для парсингу
- проксі для парсингу
- список безкоштовних проксі без реєстрації
- wireguard порівняння
- що таке openvpn
- завантажити налаштування проксі
- VPN для україни
- що таке socks5 проксі
- як використовувати проксі з Python requests
Реальні пошукові фрази, на які відповідає ця сторінка — за посиланнями відкриються матеріали, що розкривають тему глибше.