Skip to content

SOCKS5 и SOCKS5 over TLS

Параметры, ссылки и возможности SOCKS5 и SOCKS5 over TLS, которые поддерживает Potatso.

Updated Открыть как Markdown

Сервер SOCKS5 открывает соединения за вас и ретранслирует UDP, с именем пользователя и паролем или без них (RFC 1928). SOCKS5 over TLS — тот же сервер, но доступный по TLS, поэтому соединение с сервером тоже шифруется.

Potatso отправляет серверу имя сайта, который вы посещаете, а не его адрес, и сервер сам разрешает это имя. Другие приложения называют это socks5h или удаленным DNS.

Сервер SOCKS5 можно добавить вручную, с помощью ссылки socks5:// или импортом:

  • подписки Clash или Mihomo (type: socks5),
  • конфигурации Surge (socks5 и socks5-tls),
  • конфигурации Xray или V2Ray (выход socks, с TLS или без).

Чтобы добавить сервер SOCKS5 over TLS вручную, выберите SOCKS5 и включите TLS.

Настройки

Настройка Описание
Сервер, порт Адрес и порт сервера. Адрес IPv6 тоже подходит.
Аутентификация Нет или имя пользователя и пароль.
Имя пользователя, пароль Каждое до 255 байт.
Ретрансляция UDP По умолчанию включена. См. UDP.
TLS Включен для SOCKS5 over TLS.
Не проверять сертификат Только для SOCKS5 over TLS. Принимает любой сертификат. Используйте только для тестирования.
Закрепление сертификата Только для SOCKS5 over TLS, необязательно. Отпечаток SHA-256 сертификата сервера в виде 64 шестнадцатеричных цифр. С закреплением Potatso принимает закрепленный сертификат, в том числе самоподписанный, и больше никакой.

Если сервер запрашивает имя пользователя и пароль, а вы их не задали, Potatso не подключается. Potatso не поддерживает аутентификацию GSSAPI (Kerberos).

Сервер Clash или Mihomo с пустым username импортируется без аутентификации, как это делает Clash.

Сертификаты

С SOCKS5 over TLS именем сервера в TLS-рукопожатии всегда служит адрес сервера, и сертификат сервера должен быть действителен для него. Если это не так, задайте закрепление сертификата или включите Не проверять сертификат. Задать другое имя сервера нельзя: Potatso не импортирует ссылку, сервер Surge или сервер Xray, у которых оно есть. В Clash и Mihomo для SOCKS5 имени сервера нет, поэтому Potatso, как и они, игнорирует там sni.

Potatso не поддерживает:

  • свой сертификат CA: вместо него закрепите сертификат сервера,
  • клиентский сертификат TLS (certificate и private-key в Clash) или другое имя для проверки сертификата (name-cert-verify): Potatso не импортирует сервер, которому они нужны,
  • список ALPN: Potatso импортирует сервер без него.

UDP

UDP используют QUIC, голосовые и видеозвонки и многие игры. Когда Ретрансляция UDP включена, Potatso отправляет UDP через сервер (UDP ASSOCIATE) на адреса IPv4 и IPv6. Это работает и с сервером за NAT, который сообщает свой адрес как 0.0.0.0: Potatso отправляет UDP на заданный вами адрес.

Выключите «Ретрансляция UDP», если ваш сервер не ретранслирует UDP. Тогда:

  • При использовании правил Potatso пропускает правило, которое отправляет UDP на этот сервер, и решает следующее подходящее правило. UDP, которому не соответствует никакое другое правило, отправляется напрямую.
  • В глобальном режиме UDP не работает, потому что весь трафик должен идти через сервер.

Что нужно знать об UDP:

  • UDP ретранслируется через отдельный порт UDP сервера, поэтому брандмауэр сервера должен пропускать UDP.
  • В SOCKS5 over TLS шифруется только соединение с сервером. SOCKS5 отправляет UDP вне него, поэтому ваш трафик UDP доходит до сервера незашифрованным.
  • Для UDP Potatso сам определяет адрес сайта и отправляет серверу адрес.
  • При импорте из Clash, Mihomo или Surge «Ретрансляция UDP» включена, если сервер не задает udp: false (udp-relay=false в Surge). Clash оставляет UDP выключенным, если udp не указан, поэтому проверьте, что ваш сервер ретранслирует UDP.

Поддержка возможностей

Возможность Поддержка
CONNECT к целям IPv4, IPv6 и доменам (RFC 1928) ✅
Удаленный DNS: доменные имена разрешает сервер (socks5h) ✅ Для TCP
Без аутентификации ✅
Имя пользователя и пароль (RFC 1929) ✅
GSSAPI (RFC 1961) ❌
UDP ASSOCIATE к целям IPv4 и IPv6 ✅
UDP с сервером за NAT (адрес ретрансляции 0.0.0.0) ✅
Фрагментация UDP ❌ Фрагментированные датаграммы отбрасываются, что разрешено RFC 1928
BIND (входящие соединения, например FTP в активном режиме) ❌
SOCKS5 over TLS ✅ С закреплением сертификата и отключением проверки сертификата
Имя сервера TLS, отличное от адреса сервера, ALPN, свой CA, клиентский сертификат ❌
UDP, зашифрованный TLS ❌ SOCKS5 отправляет UDP вне TLS
Адрес сервера IPv6 ✅
SOCKS4 и SOCKS4a ❌

Каждая поддерживаемая возможность проверена на настоящих серверах SOCKS5: Xray, sing-box, Mihomo, 3proxy и microsocks. sing-box предоставляет SOCKS5 over TLS на входе mixed, а не на входе socks.

Ссылка SOCKS5 содержит весь сервер в одной строке:

socks5://user:password@host:port#name
socks5+tls://user:password@host:port?insecure=1#name
Часть Описание
схема socks5://, socks:// или socks5h:// для SOCKS5; socks5+tls:// или socks+tls:// для SOCKS5 over TLS. Potatso всегда отправляет серверу доменные имена, поэтому socks5h:// работает так же, как socks5://.
user:password Необязательно. Закодируйте :, @ и другие специальные символы пароля с помощью процентного кодирования, например p%3Ass для p:ss. Имя пользователя не может содержать :.
host Адрес сервера. Адрес IPv6 заключайте в квадратные скобки, например [2001:db8::1].
port Порт сервера.
insecure Только для SOCKS5 over TLS, необязательно. 1 включает «Не проверять сертификат». Potatso также читает allowInsecure и skip-cert-verify.
name Необязательно. Название сервера в Potatso.

В ссылке нельзя указать закрепление сертификата. Ссылка с sni, отличным от адреса сервера, не импортируется.

Potatso также импортирует две другие формы:

socks://base64(user:password)@host:port#name
socks5://base64(user:password@host:port)#name

Первая — так v2rayN делится серверами SOCKS. Вторая — старая форма, где всё между :// и # закодировано в Base64. Когда Potatso делится сервером SOCKS5 с паролем, он предлагает стандартную ссылку и форму v2rayN.

Сервер без пароля:

socks5://proxy.example.com:1080#Open

Сервер с именем пользователя alice и паролем s3cret:

socks5://alice:s3cret@proxy.example.com:1080#Auth

Пароль p:ss wörd с процентным кодированием:

socks5://alice:p%3Ass%20w%C3%B6rd@proxy.example.com:1080#Encoded

Тот же сервер в виде ссылки socks5h://:

socks5h://alice:s3cret@proxy.example.com:1080#Remote-DNS

Форма v2rayN, alice:s3cret в кодировке Base64:

socks://YWxpY2U6czNjcmV0@proxy.example.com:1080#v2rayN

Старая форма:

socks5://YWxpY2U6czNjcmV0QHByb3h5LmV4YW1wbGUuY29tOjEwODA#Legacy

Сервер с адресом IPv6:

socks5://[2001:db8::1]:1080#IPv6

Сервер SOCKS5 over TLS:

socks5+tls://alice:s3cret@proxy.example.com:443#TLS

Сервер SOCKS5 over TLS с самоподписанным сертификатом:

socks+tls://proxy.example.com:443?insecure=1#Self-signed
Навигация

Type to search…

↑↓ navigate↵ selectEsc close