Попробовать
Назад к блогу

Что такое SOCKS5-прокси: как работает, как настроить и где применяется

Что такое SOCKS5-прокси: как работает, как настроить и где применяется

SOCKS5 — протокол-посредник: программа просит прокси связаться с нужным хостом и портом, прокси устанавливает связь со своего IP и затем гоняет байты туда и обратно, не интересуясь их смыслом. Содержимое ему безразлично, поэтому один и тот же сервер обслужит вкладку браузера, клиент PostgreSQL, торрент или мессенджер. Подходит всё, что построено на TCP, а при поддержке на обоих концах — и UDP.

Ниже — что на самом деле происходит внутри SOCKS5-сессии, с какими задачами протокол справляется и какие ему не по профилю, как включить его в Windows, macOS, браузерах, на смартфоне и в терминале, как убедиться, что всё работает, и что взвесить перед покупкой.

SOCKS5-прокси

SOCKS5-прокси с логином и паролем для браузеров, программ и скриптов

Попробовать

Идея простыми словами

Вспомните старую телефонную станцию. Приложение звонит оператору, называет номер, и оператор соединяет линии. На станции разговор никто не слушает, не правит и не записывает. Собеседник на другом конце видит только номер станции — в нашем случае IP-адрес прокси.

Отсюда несколько черт:

  • Безразличие к протоколам. Веб, почта, передача файлов, удалённые консоли, игры и мессенджеры идут одним и тем же путём.
  • Ноль инструментов для контента. Фильтры по URL, подмена заголовков и кэш страниц — епархия HTTP-прокси, а не SOCKS.
  • Своего шифрования нет. HTTPS-страницы остаются зашифрованными благодаря сайту; SOCKS5 от себя ничего не добавляет.
  • Порт 1080 по традиции. IANA закрепила его за SOCKS, но платные сервисы обычно выдают собственные номера портов.

VPN забирает каждый пакет, который отправляет операционная система. SOCKS5 подключают точечно: программа пойдёт через прокси, только если указать его именно в ней.

Что происходит внутри SOCKS5-сессии

RFC 1928 задаёт распорядок из пяти шагов, который повторяется для каждого соединения:

  1. Программа открывает TCP-канал к хосту и порту прокси.
  2. Она называет схемы входа, которые знает, а сервер останавливается на одной из них.
  3. Если выбран вход по логину и паролю, клиент присылает оба значения и ждёт ответа «да» или «нет».
  4. Затем приходит команда с адресом цели. CONNECT заказывает исходящий TCP-канал, BIND — входящий, UDP ASSOCIATE — ретранслятор датаграмм. Цель записывается как IPv4, IPv6 или имя хоста.
  5. Сервер возвращает успех либо точный код ошибки, и начинается обмен данными.

Разбор по байтам и сравнение с предыдущим поколением протокола — в материале SOCKS4 и SOCKS5.

Сильные стороны и слепые зоны

С чем справляетсяЧто не входит в его задачи
Ретрансляция произвольных TCP-протоколовШифрование отправляемых данных
UDP — при условии, что его реализовали клиент и серверПодключение программ, которые SOCKS не поддерживают
Доступ к узлам по IPv4 и IPv6Лечение медленного или переполненного сервера
Разрешение имён хостов силами проксиФильтрация, кэширование и правка страниц
Пропуск по логину и паролюАнонимность на сайте, где вы вошли в аккаунт

Последняя строка заслуживает внимания. Смена IP не стирает cookie, сессии аккаунтов и отпечаток браузера, а по ним вас по-прежнему узнают. Если нагрузка — в основном веб-страницы и протокол ещё не выбран, посмотрите, как соотносятся два семейства, в статье SOCKS5 и HTTP-прокси.

Как пускают на сервер: учётные данные или список разрешённых IP

Обычно провайдер даёт два варианта входа:

  • Логин и пароль, которые проверяются во время SOCKS5-рукопожатия. Работают из любой сети — удобно для ноутбука и телефона в дороге.
  • Список разрешённых адресов. Вы сохраняете свой внешний IP в кабинете, и подключения с него проходят без ввода учётных данных.

У выбора есть последствия. Chrome, Edge и Firefox умеют ходить через SOCKS5, но поля для логина и пароля SOCKS5 не показывает ни один из них, так что браузер без дополнений заработает только со списком разрешённых IP. Telegram, антидетект-браузеры, фреймворки для парсинга, торрент-клиенты и специальные прокси-приложения принимают учётные данные спокойно. Помните, что пароль идёт по сети в незашифрованном виде: в чужом Wi-Fi держите его внутри SSH или VPN.

Удалённый DNS и буква «h»

Прежде чем подключиться, имя хоста нужно превратить в IP-адрес. Когда этим занимается ваш компьютер, запрос попадает на DNS-сервер провайдера: тот узнаёт список посещённых сайтов и может отправить вас на сервер рядом с домом, а не рядом с прокси. Когда имя разрешает прокси, обе проблемы уходят.

В curl вся разница умещается в один символ: socks5:// разрешает имена на вашей машине, socks5h:// поручает это прокси. В Firefox для того же есть отдельный флажок проксирования DNS для SOCKS v5, а Chrome передаёт имена хостов SOCKS5-серверу самостоятельно.

Типичные задачи для SOCKS5

  • Парсеры и боты. Библиотеки для Python, Node.js и Go говорят на SOCKS5 из коробки, и краулер может раскидывать запросы по множеству выходных адресов.
  • Антидетект-браузеры и мультиаккаунтинг. У каждого профиля — свой прокси со своими учётными данными.
  • Мессенджеры. В Telegram SOCKS5 встроен, а пошаговый разбор того, как настроить прокси в Telegram на компьютере и телефоне, есть в отдельной статье.
  • Торренты, почтовые клиенты, FTP. У каждого SOCKS5 спрятан в настройках подключения.
  • Голосовая связь и игры. Только если UDP проходит из конца в конец; подробности — в статье про UDP-прокси.
  • Администрирование серверов. Команда ssh -D 1080 user@server делает из любого SSH-хоста личную SOCKS5-точку на localhost.

Настройка SOCKS5 на популярных платформах

Держите под рукой хост, порт, логин и пароль. Все значения в примерах ниже выдуманы.

Windows

В Windows 11 есть страница «Сеть и Интернет» → «Прокси-сервер» → «Настройка прокси-сервера вручную», но она принимает только HTTP-прокси. Поэтому SOCKS5 прописывают в настройках каждого приложения либо ставят общесистемный клиент вроде V2RayN или Clash Verge Rev, который перенаправляет трафик всего компьютера.

macOS

  1. В «Системных настройках» → «Сеть» выберите подключение, которым пользуетесь.
  2. Нажмите «Подробнее» и откройте вкладку «Прокси».
  3. Активируйте пункт SOCKS-прокси и заполните сервер и порт.
  4. Если доступ по учётным данным, включите опцию с паролем и добавьте логин и пароль.
  5. Подтвердите кнопкой «ОК».

Приложения, которые уважают системные параметры, начнут работать через прокси. Часть из них, в том числе Chrome, сохранённый там пароль SOCKS пропускает мимо.

Firefox

  1. Зайдите в «Настройки», найдите внизу блок «Параметры сети» и нажмите в нём кнопку «Настроить».
  2. Отметьте ручную настройку.
  3. Впишите адрес прокси в поле узла SOCKS, порт — рядом, и выберите SOCKS v5.
  4. Включите передачу DNS-запросов через прокси SOCKS v5 и подтвердите.

Chrome и Edge

Эти браузеры берут системный прокси. Чтобы пустить через SOCKS5 только Chrome, запустите его с ключом командной строки:

chrome.exe --proxy-server="socks5://203.0.113.24:1080"

Вписать учётные данные некуда, так что заранее внесите свой IP в список разрешённых у провайдера.

Android и iPhone

Обе мобильные системы в полях прокси для Wi-Fi понимают только HTTP. На Android понадобится приложение, которое направляет трафик в SOCKS5, — как в нашей инструкции по SocksDroid. Владельцы iPhone и iPad обычно пользуются Shadowrocket.

Терминал

curl -x socks5h://user-7f3k:pass-92ad@203.0.113.24:1080 https://api.ipify.org

Если в выводе адрес прокси, а не ваш, значит, работают и туннель, и удалённый DNS.

Проверка результата

В настроенной программе откройте любую страницу, которая показывает IP, и сверьте адрес и страну с купленным прокси. Для взгляда со стороны, не зависящего от вашего устройства, введите данные сервера в наш бесплатный чекер прокси: он сообщит, доступен ли сервер, какой у него выходной IP и где он расположен. В браузере дополнительно проверьте утечки WebRTC — через них реальный адрес может просочиться в обход прокси.

Если что-то сломалось

Что видитеСкорее всегоКак исправить
Соединение отклонено или зависаетОпечатка в хосте или порте, сервер выключен, мешает файрволСверить значения, попробовать из другой сети
Учётные данные не принимаютсяОшибка в символах, невидимый пробел после вставкиНабрать логин и пароль вручную
curl работает, браузер нетБраузер не умеет отдавать логин и пароль SOCKS5Внести IP в список разрешённых или поставить расширение
Показывается чужой регионИмена разрешаются локальноПерейти на socks5h или включить удалённый DNS
Не соединяются звонки и игрыНет UDP в клиенте или в тарифеПодобрать программу и тариф с UDP
Страницы еле открываютсяСервер далеко или перегруженВзять локацию поближе, сократить число одновременных соединений

На что смотреть при покупке

Начните с задачи, затем оцените сеть, стоящую за адресом:

  • Происхождение адреса. Резидентские и мобильные IP похожи на обычных абонентов и проходят строгие антибот-системы; IP дата-центров шустрее и дешевле там, где площадки лояльны.
  • Постоянный или сменяемый. Аккаунтам нужен один неизменный адрес, массовому сбору данных помогает ротация.
  • География. Страна, а если требуется — и город.
  • Наличие UDP. Уточните, если речь о звонках или играх.
  • Способ доступа. Для работы с телефона учётные данные удобнее списка IP.
  • Ограничения. Лимит одновременных соединений и квоты на трафик.

SOCKS5-прокси Node Proxy работают с доступом по логину и паролю, так что одни и те же учётные данные подойдут для ноутбука, телефона и сервера.

Частые вопросы о SOCKS5-прокси

SOCKS5-прокси и VPN — это одно и то же?

Нет. VPN шифрует и перенаправляет весь трафик устройства, а SOCKS5 обслуживает только те приложения, где он указан, и данные не шифрует. SOCKS5 легче и гибче в настройке под отдельные программы, VPN надёжнее защищает в публичных сетях.

Безопасно ли пользоваться SOCKS5?

Протокол нейтрален: он прячет ваш IP от сайтов, но данные оставляет как есть. Открывайте сайты по HTTPS, выбирайте провайдера, которому доверяете, и не вводите учётные данные в открытом Wi-Fi без дополнительного туннеля.

Какой порт использует SOCKS5?

По традиции 1080, однако большинство провайдеров назначают свои номера. Берите порт из личного кабинета, а не наугад.

SOCKS5 быстрее HTTP-прокси?

На каждое соединение он тратит чуть меньше усилий, потому что не разбирает запросы. Реальная скорость определяется удалённостью и загрузкой сервера, и при обычном сёрфинге разницы почти не заметно.

Почему в Chrome нельзя ввести пароль от SOCKS5?

Chrome подключается к SOCKS5-серверам, но авторизацию SOCKS5 в нём так и не реализовали. Внесите свой IP в список разрешённых у провайдера или используйте программу, которая принимает учётные данные.