Универсальный посредник
SOCKS5 описан в стандарте RFC 1928 и решает задачу шире, чем веб-прокси: он передаёт соединения как таковые, не разбираясь, что внутри. Через него одинаково проходят мессенджер, почта, игра и браузер — протокол не заглядывает в содержимое и не меняет передаваемые данные.
В стандарте цель сформулирована как основа для клиент-серверных приложений в области TCP и UDP, которым нужно пользоваться услугами сетевого экрана.
Порт и адреса
По соглашению служба располагается на TCP-порту 1080 — так прямо сказано в разделе 3 стандарта. Соглашение никого не обязывает: в реальности порт бывает любым, и именно поэтому в настройках его указывают вручную.
Адрес назначения SOCKS5 принимает в трёх видах: IPv4, доменное имя и IPv6. Возможность передать именно доменное имя важна практически — разрешением имени тогда занимается сам прокси, а не ваше устройство.
Три команды
Стандарт описывает три операции, и на практике используется в основном первая.
CONNECT — установить исходящее соединение с указанным узлом. Это то, что происходит, когда вы открываете сайт или мессенджер через SOCKS5.
BIND — принять входящее соединение, нужен протоколам, которые открывают обратный канал.
UDP ASSOCIATE — передавать датаграммы UDP. Отсюда частая путаница: поддержка UDP в стандарте есть, но конкретная реализация может её не включать, и тогда голосовые звонки или игры через такой прокси не пойдут, хотя браузер работает.
Проверка подлинности и отсутствие шифрования
Клиент и сервер в начале договариваются о способе проверки. Стандарт определяет значения: без проверки, GSSAPI и пара имя-пароль, плюс диапазоны для других методов и отдельное значение «подходящих методов нет». Совместимые реализации обязаны поддерживать GSSAPI и должны поддерживать имя с паролем.
Главное, что стоит вынести: собственного шифрования у SOCKS5 нет. Стандарт допускает, что согласованный метод проверки добавит защиту целостности или конфиденциальности, но по умолчанию соединение с посредником идёт как есть. Защищённость содержимого целиком определяется протоколом выше — HTTPS останется зашифрованным, остальное нет.
Поэтому SOCKS5 с парой имя-пароль — это контроль доступа к посреднику, а не защита вашего трафика. Задачу шифрования канала решают другие инструменты: в VPN PRO это VLESS с Reality.
Где вы встречаете SOCKS5, не замечая этого
Чаще всего — на собственном устройстве. Клиентские приложения для подключения поднимают локальный SOCKS5-прокси на адресе 127.0.0.1 и отдают его порт браузеру или системе. Снаружи такой посредник недоступен, он работает только внутри машины и нужен как точка, куда программы сдают трафик.
Второе место — настройки мессенджеров. В Telegram SOCKS5 стоит в списке типов прокси рядом с собственным протоколом, и именно туда вводят пару адрес-порт из публичных источников.
Понимание, что это один и тот же протокол в обоих случаях, снимает частый вопрос: почему в одном месте прокси вводят руками, а в другом он появляется сам. Разница не в протоколе, а в том, кто поднял посредника — вы или ваше же приложение.