Socks5Proxy

Настройка SOCKS5/HTTP прокси для разных языков и инструментов

Руководство по подключению Socks5Proxy содержит рабочие примеры настройки SOCKS5 и HTTP-прокси для 7 инструментов: Python requests, Node.js, cURL, Selenium, Puppeteer, Playwright и Scrapy.

Python requestsМы собрали методы подключения HTTP-прокси и SOCKS5-прокси (socks5h) в Python requests, аутентификацию, ротацию списков, повторные попытки и управление сессиями с примерами кода.Node.jsМы собрали методы подключения HTTP-прокси через ProxyAgent и SOCKS5-прокси через socks-proxy-agent для Node.js fetch(undici), а также код для ротации списков.cURLМетоды подключения к HTTP прокси (-x) и SOCKS5 (--socks5-hostname) через cURL: аутентификация, измерение времени ответа, скрипт для массовой проверки списка.SeleniumМы собрали методы подключения HTTP- и SOCKS5-прокси в Selenium для Chrome и Firefox, причины использования IP-авторизации в Chrome и настройки для параллельного запуска нескольких браузеров.PuppeteerМы собрали методы подключения HTTP/SOCKS5-прокси через --proxy-server и передачи имени пользователя и пароля через page.authenticate в Puppeteer, а также разделения IP по браузерам.PlaywrightМы собрали методы подключения HTTP/SOCKS5-прокси через proxy-опцию в Playwright, использования разных IP для контекстов и примеры на Python и Node.js.ScrapyМы собрали методы подключения прокси в Scrapy через HttpProxyMiddleware и meta proxy, ротирующий downloader middleware для смены IP между запросами и настройки скорости.

Какие данные нужны для подключения к прокси?

Каждая строка списка содержит IP, HTTP-порт, SOCKS5-порт, логин и пароль. Список доступен в консоли, для скачивания в разных форматах и через API.

Все примеры в этом руководстве используют IP 198.51.100.23, HTTP-порт 8000, SOCKS5-порт 1080, логин spx_user и пароль spx_pass. Диапазон 198.51.100.0/24 зарезервирован для документации и не подключается, поэтому замените значения на свои из списка прокси.

Доступны два метода аутентификации: имя пользователя и пароль или IP-авторизация, при которой вы регистрируете до 10 IPv4-адресов вашего сервера в панели управления и подключаетесь только по ip:port. IP-авторизация удобна для инструментов, которые не поддерживают ввод пароля (например, аргументы запуска Chrome).

ПунктПример значенияОписание
IP198.51.100.23Адрес прокси-сервера
HTTP-порт8000Подключение HTTP и HTTPS (CONNECT)
Порт SOCKS51080TCP-соединение SOCKS5
Имя пользователяspx_userАутентификация по имени пользователя и паролю
Парольspx_passАутентификация по имени пользователя и паролю

Как подключиться: HTTP или SOCKS5?

Для большинства задач, связанных с запросами веб-страниц и API, достаточно HTTP-порта. HTTPS-адреса также передаются через CONNECT в зашифрованном виде, и прокси не изменяет содержимое.

SOCKS5 передает не только HTTP, но и TCP-соединения, а также позволяет выполнять разрешение доменных имен на стороне прокси. В Python используйте socks5h, в cURL - --socks5-hostname, чтобы DNS-запросы вашего сервера не раскрывались внешним системам. У каждого IP есть оба порта, поэтому вы можете выбрать подходящий для вашего инструмента.

Как получить список через код?

API-ключи создаются в разделе API-ключей панели управления и показываются только один раз - сохраните их в безопасном месте. Добавляйте ключ в заголовок Authorization: Bearer для каждого запроса. Ниже приведен пример Python для получения списка SOCKS5 в формате user:pass@ip:port. В руководствах описано, как подключить этот список к инструментам.

import requests

API = "https://socks5proxy.io/api/v1"
KEY = "YOUR_API_KEY"

# Download the proxy list as plain text, one proxy per line
r = requests.get(
    API + "/proxies/download",
    params={"format": "user:pass@ip:port", "protocol": "socks5"},
    headers={"Authorization": "Bearer " + KEY},
    timeout=30,
)
r.raise_for_status()
proxies = [line.strip() for line in r.text.splitlines() if line.strip()]
print(len(proxies), "proxies loaded")

С какого руководства начать?

Выберите руководство под ваш язык и инструменты. Все руководства включают проверку подключения, устранение ошибок и распределение IP.

  • Python requests: простое подключение HTTP/SOCKS5 и ротация списков
  • Node.js: ProxyAgent (HTTP) и socks-proxy-agent (SOCKS5)
  • cURL: проверка соединения и измерение времени ответа в командной строке
  • Selenium: Chrome и IP-авторизация, настройка Firefox
  • Puppeteer: --proxy-server и page.authenticate
  • Playwright: прокси для браузеров и контекстов
  • Scrapy: meta proxy и ротирующий middleware для каждого запроса

Какой формат списка выбрать?

Разные инструменты поддерживают разные форматы, поэтому при скачивании списка можно выбрать подходящий. Большинство библиотек принимают адреса в формате http://user:pass@ip:port или socks5://user:pass@ip:port. Если в программе поля разделены (IP, порт, логин, пароль), удобнее использовать формат ip:port:user:pass.

При авторизации по IP выберите формат ip:port. Для таблиц и документов удобен CSV. Можно получить отдельные списки для HTTP и SOCKS5 - отличаются только порты.

ФорматПримерПодходящие места
ip:port:user:pass198.51.100.23:8000:spx_user:spx_passРазделённые настройки в Каннах
user:pass@ip:portspx_user:spx_pass@198.51.100.23:8000Сборка адреса в коде
http://user:pass@ip:porthttp://spx_user:spx_pass@198.51.100.23:8000requests, cURL, Scrapy
socks5://user:pass@ip:portsocks5://spx_user:spx_pass@198.51.100.23:1080Библиотека SOCKS5
ip:port198.51.100.23:8000Авторизация по IP, аргументы запуска браузера
CSVip,http_port,socks_port,user,pass,countryТаблицы расчетов, управление документами

Как безопасно хранить данные прокси?

Не храните логины, пароли и API-ключи прокси в репозитории кода. Используйте переменные окружения или секреты. Если данные случайно попали в репозиторий, создайте новый API-ключ в консоли, чтобы старый перестал работать.

Если сервер использует фиксированный IP, IP авторизация - самый безопасный способ. Даже если список утечет, подключение с незарегистрированных IP будет невозможно. Можно добавить до 10 разрешенных IP, и их можно изменить в любое время.

Если в команде несколько человек, вместо общего файла списка лучше использовать API для каждого участника. Это упрощает управление, а также позволяет отслеживать историю получения списка в случае проблем.

Что проверять при проблемах с подключением?

Сначала проверьте работу прокси одной строкой cURL. Ответ 407 означает неверные имя пользователя или пароль, а при использовании IP-авторизации убедитесь, что IP сервера, отправляющего запросы, есть в списке разрешённых. Если соединение таймаутит, проверьте порт (например, HTTP 8000, SOCKS5 1080 - они могут различаться).

Если проблема не решена, вы можете обратиться в службу поддержки в панели управления. Укажите использованную строку, инструмент и сообщение об ошибке - это ускорит проверку.

Гид по настройке прокси в Python, Node.js, Selenium | Socks5Proxy