Selenium SOCKS5 прокси с логином: почему Chrome не может
Почему логин SOCKS5 не доходит до прокси из Chrome и как запустить Selenium через небольшой локальный форвардер, который его подставляет.
Почему Chrome не может войти на SOCKS5
В SOCKS5 есть рукопожатие: клиент перечисляет способы входа, которые умеет, а прокси выбирает один. Клиент Chromium перечисляет ровно один — «без аутентификации» — и любой другой выбор прокси считает ошибкой. Поэтому прокси, требующий логин и пароль, отклоняет соединение ещё до загрузки страницы, а данные из адреса никуда не отправляются.
Это ограничение браузера, а не ошибка в вашем коде Selenium или в пароле. Инструменты, которые реализуют вход по логину, например curl, работают с теми же данными, и это самый быстрый способ различить два случая. Общая картина для Chrome и Edge — в статье по ссылке.
Проверьте логин вне браузера первой командой curl ниже. Она должна вывести JSON с выходным IP прокси.
Ожидаемый результат JSON с выходным IP прокси.
Шаг 2
Установите форвардер, умеющий цепочку через SOCKS5 с логином. В примере используется gost, установка — по документации на gost.run.
Шаг 3
Запустите его на 127.0.0.1 на свободном локальном порту, как в команде gost. Проверьте второй командой curl: логин теперь не нужен.
Ожидаемый результат Тот же выходной IP, что на шаге 1.
Шаг 4
Запустите Chrome через Selenium с --proxy-server=socks5://127.0.0.1:ПОРТ, как в примере на Python.
Шаг 5
Откройте в этом браузере https://ipinfo.io/json и сравните IP и страну с шагом 1. По окончании теста остановите форвардер.
Проверка логина и форвардера через curl
# 1) The login itself, outside the browser (socks5h = the proxy resolves the host name)
curl -x socks5h://LOGIN:PASSWORD@HOST:PORT https://ipinfo.io/json
# 2) The local forwarder, with no login
curl -x socks5h://127.0.0.1:1080 https://ipinfo.io/json
Только пример: замените HOST, PORT, LOGIN и PASSWORD значениями из раздела «Мои активы».
Запуск форвардера (пример на gost)
# Listen on 127.0.0.1 without a login, forward to the Proxy302 SOCKS5 endpoint with the login
gost -L socks5://127.0.0.1:1080 -F socks5://LOGIN:PASSWORD@HOST:PORT
Только пример. Прослушивание 127.0.0.1 оставляет логин доступным только с этого компьютера; не слушайте 0.0.0.0.
Selenium (Python) через форвардер
# pip install -U selenium and install gost (see gost.run)
import socket, subprocess, time
from selenium import webdriver
from selenium.webdriver.common.by import By
LOCAL_PORT = 1080
forwarder = subprocess.Popen([
"gost",
"-L", f"socks5://127.0.0.1:{LOCAL_PORT}", # what Chrome connects to, no login
"-F", "socks5://LOGIN:PASSWORD@HOST:PORT", # what the forwarder connects to, with login
])
for _ in range(50): # wait until the local port is open
try:
socket.create_connection(("127.0.0.1", LOCAL_PORT), timeout=0.2).close()
break
except OSError:
time.sleep(0.2)
options = webdriver.ChromeOptions()
options.add_argument(f"--proxy-server=socks5://127.0.0.1:{LOCAL_PORT}")
driver = webdriver.Chrome(options=options)
try:
driver.get("https://ipinfo.io/json")
print(driver.find_element(By.TAG_NAME, "body").text) # the proxy's exit IP
finally:
driver.quit()
forwarder.terminate()
Только пример: замените HOST, PORT, LOGIN и PASSWORD значениями из раздела «Мои активы».
Не открывайте форвардер наружу и следите за DNS
Привязывайте форвардер к 127.0.0.1, а не ко всем интерфейсам: любой, кто достанет до открытого порта, сможет пользоваться вашим логином. По окончании теста останавливайте процесс и не кладите логин в общие скрипты и логи.
С адресом socks5:// Chrome поручает прокси разрешать имена сайтов, но документация Chromium предупреждает, что другие части Chrome могут разрешать имена сами. Если путь DNS важен для теста, добавьте флаг --host-resolver-rules, описанный в этой документации.
Страница ошибки: не удаётся подключиться к прокси-серверу
Проверьте Форвардер не запущен, локальный порт отличается от указанного в --proxy-server или порт занят другой программой.
Решение Выполните вторую команду curl. Если она не проходит, сначала чините форвардер; если проходит — проверьте порт в опциях Selenium.
Когда остановиться Если первая команда curl тоже не проходит, остановитесь: проблема в хосте, порте или логине, а не в форвардере. Смотрите статью про сбой соединения.
Форвардер запускается, но все запросы падают
Проверьте Ошибка в HOST, PORT или логине в адресе -F, либо актив работает только по HTTP.
Решение Сверьтесь с «Мои активы». На proxy.proxy302.com SOCKS5 — порт 3333, HTTP — порт 2222; берите адрес того протокола, под который выдан актив.
Страницы открываются, но ipinfo.io показывает ваш IP
Проверьте Chrome не принял флаг, например потому, что уже был запущен старый процесс Chrome с тем же профилем.
Решение Закройте все процессы Chrome, возьмите новый --user-data-dir и убедитесь, что флаг есть в опциях, переданных в webdriver.Chrome.
Один запуск работает, при повторных всё зависает
Проверьте Процесс предыдущего форвардера всё ещё держит порт.
Решение Вызывайте terminate() в блоке finally, как в примере, или берите новый локальный порт на каждый запуск.
Как это сделать с Proxy302
Чтобы после входа адрес не менялся, возьмите статический ISP IP с протоколом SOCKS5: в течение срока аренды он не меняется, 1 день стоит $0,50, 30 дней — $7,99 (около $0,27 в сутки). SOCKS5 работает на порту 3333 proxy.proxy302.com. Бесплатного теста нет, минимальная покупка — один IP на один день.
Форвардер одинаково работает со всеми продуктами Proxy302. Протокол выбирайте на странице оформления: каждый актив выдаётся с одним протоколом.
Откройте страницу статического ISP, выберите страну и протокол SOCKS5, проверьте стоимость и оплатите с кошелька.
Шаг 2
Откройте «Мои активы» и скопируйте хост, порт, логин и пароль.
Шаг 3
Подставьте их в адрес -F команды форвардера: socks5://LOGIN:PASSWORD@HOST:PORT.
Шаг 4
Запустите пример Selenium и проверьте выход через https://ipinfo.io/json.
Частые вопросы про Selenium и SOCKS5
Поддерживает ли Selenium SOCKS5 с логином и паролем?
В Chrome — нет. SOCKS5-клиент Chromium предлагает только метод «без аутентификации», поэтому логин не доходит до прокси. Используйте HTTP-адрес или локальный форвардер.
Почему socks5://user:pass@host:port в --proxy-server не работает?
Chrome не отправляет логин в рукопожатии SOCKS5, и прокси, который его требует, отклоняет соединение. Запись в адресе не добавляет браузеру способ входа.
Нужно ли менять код Selenium из-за форвардера?
Только адрес прокси: вместо удалённого адреса укажите --proxy-server=socks5://127.0.0.1:ПОРТ. Остальной тест остаётся прежним.
Можно ли использовать форвардер сразу для нескольких браузеров?
Да. Запускайте по форвардеру на каждый прокси на разных локальных портах, либо направьте несколько браузеров на один форвардер, если им нужен один и тот же выход.
HTTP-адрес проще, чем форвардер?
Лишний процесс не нужен, но Chrome должен ответить на запрос логина прокси, а Selenium сам этого не делает. Этот путь описан на странице настройки Selenium.
Selenium прокси с авторизацией в Chrome: HTTP-прокси в ChromeOptions и встроенный в Selenium обработчик BiDi, без расширений. Статические IP дата-центра для тестов.
SOCKS5 на всех линиях: резидентные от $1,50/ГБ, статические ISP и серверные IP — за IP и срок. Порт 3333, логин и пароль — для Telegram, антидетект-браузеров и скриптов.
Read on 13 November 2026: the greeting Chromium sends is 05 01 00 (one method, "no authentication"); a reply that selects a different method is handled as an unexpected-auth error and the connection fails.
Read on 13 November 2026: --proxy-server="socks5://myproxy:8080"; with it the host name of http and https URLs is resolved by the proxy server, not locally; other components of Chrome may issue DNS requests directly; --host-resolver-rules can block local resolution.
Read on 13 November 2026: every -F parameter on the command line adds one hop to the forwarding chain, e.g. gost -L http://:8080 -F https://192.168.1.1:8080; -L opens a local listener, see also the SOCKS page for gost -L socks5://user:pass@:1080.
The page has no example with a login inside -F. The login-in-URL form shown here is the same user:pass@host form used for -L; confirm it with gost --help or the docs of the version you install.
Факты о продуктах и прайс-лист Proxy302
Наблюдение за продуктом · Проверено:
Файл фактов о продуктах, сверен 13 ноября 2026 с консолью, бэкендом и прайс-листом: цены аренды статического ISP за IP (US$, 1 PTC = US$1), цена бюджетной линии динамического резидентного прокси за ГБ, порт HTTP 2222 и порт SOCKS5 3333 на proxy.proxy302.com, какой протокол работает в каком продукте, нет бесплатного теста.
Готовы попробовать?
Создайте аккаунт, пополните баланс и выберите ротируемый резидентный, статический ISP или дата-центр IP — настроить его в браузере можно за несколько минут.