SOCKS5
RFC 1928 · 1996 · SOCKS4 в комплекте
Что это
SOCKS5 — универсальный прокси-протокол пятой версии, стандартизирован в RFC 1928 (1996). В отличие от HTTP-прокси, SOCKS работает ниже уровня приложения — прокидывает любой TCP-трафик, не разбирая его содержимое. Также поддерживает UDP.
SOCKS4 и SOCKS4a (первичка)
Первая версия SOCKS написана в 1992 году Дэвидом Кобласом в NEC для внутреннего файрвола компании. Опубликован для широкой публики в 1996.
- SOCKS4 — только TCP, без аутентификации, целевой хост указывался по IP (не по домену)
- SOCKS4a — доработка: разрешение доменного имени на прокси, а не на клиенте
SOCKS4 сейчас — legacy, встречается только в очень старом софте (некоторые IRC-клиенты, старые версии Firefox).
Что нового в SOCKS5 (1996)
- Поддержка UDP
- Аутентификация (username/password или GSSAPI)
- IPv6
- Разрешение DNS на прокси-стороне (SOCKS5h) или на клиентской (SOCKS5)
Как работает
- Клиент подключается к SOCKS5-прокси (обычно порт 1080)
- Клиент шлёт: «поддерживаю такие-то методы аутентификации» (0 = без, 2 = user/pass)
- Сервер выбирает метод, если нужна аутентификация — идёт обмен
- Клиент шлёт CONNECT-запрос: «я хочу к 1.2.3.4:443» или «example.com:443»
- Сервер создаёт соединение и пробрасывает трафик
Где используется
- Локальный прокси — Xray/Sing-box/Clash слушают
127.0.0.1:1080как SOCKS5, приложения (Firefox, Telegram) настраиваются на этот прокси - Tor — Tor-браузер поднимает SOCKS5 на
127.0.0.1:9050 - SSH SOCKS forwarding —
ssh -D 1080 user@serverсоздаёт SOCKS5-туннель через SSH - Внешние SOCKS5-сервисы — платные прокси-сервисы (в основном для скрейпинга)
Как обход блокировок — не работает
⚠️ Голые SOCKS5 и SOCKS4 не работают в РФ. ТСПУ детектит обе версии по характерным сигнатурам handshake первых 3-10 байт. Соединения дропаются или шейпятся до нуля. Всё что нужно детектору — увидеть версию (05 или 04) и подтверждение выбора метода. То же самое было в Китае с 2015 года.
Как использовать правильно
SOCKS5 отлично работает внутри локальной машины как связующее звено:
- На компе запущен Xray-клиент (или Sing-box, Mihomo)
- Клиент слушает SOCKS5 на
127.0.0.1:1080 - Клиент подключается к твоему VPS через VLESS (по 443/tcp наружу)
- Приложения (Firefox, Telegram) настроены на локальный SOCKS5
Так SOCKS5 остаётся полезным на localhost, но не как WAN-транспорт.
Софт как SOCKS5-сервер
- Dante — классический Unix SOCKS-сервер (dante-server)
- Shadowsocks — по сути SS — это шифрованный SOCKS5
- 3proxy — универсальный русский
- OpenSSH —
-Dфлаг для динамического SOCKS-туннеля
SOCKS5 vs SOCKS4
| SOCKS4 | SOCKS5 | |
|---|---|---|
| Год | 1992/1996 | 1996 |
| TCP | да | да |
| UDP | нет | да |
| Аутентификация | нет | да (user/pass, GSSAPI) |
| IPv6 | нет | да |
| Domain resolution | 4a добавил | встроено |
| Статус | legacy | используется |
| Работа в РФ на WAN | нет | нет |
См. также
- HTTP-прокси
- Shadowsocks — шифрованный SOCKS5
- Xray, Sing-box — используют локальный SOCKS5