Сервер SOCKS5 відкриває з’єднання за вас і ретранслює UDP, з ім’ям користувача та паролем або без них (RFC 1928). SOCKS5 через TLS — це той самий сервер, до якого звертаються через TLS, тож з’єднання із сервером також зашифроване.
Potatso надсилає серверу назву сайту, який ви відвідуєте, а не його адресу, і сервер сам визначає адресу за назвою. Інші програми називають це socks5h або віддаленим DNS.
Сервер SOCKS5 можна додати вручну, через посилання socks5:// або імпортом:
- підписки Clash чи Mihomo (
type: socks5), - конфігурації Surge (
socks5іsocks5-tls), - конфігурації Xray чи V2Ray (вихід
socks, з TLS або без).
Щоб додати сервер SOCKS5 через TLS вручну, виберіть SOCKS5 і ввімкніть TLS.
Параметри
| Параметр | Опис |
|---|---|
| Сервер, порт | Адреса й порт сервера. IPv6-адреса теж підходить. |
| Автентифікація | Немає, або ім’я користувача та пароль. |
| Ім’я користувача, пароль | Кожне до 255 байтів. |
| Ретрансляція UDP | Типово ввімкнено. Див. UDP. |
| TLS | Ввімкнено для SOCKS5 через TLS. |
| Пропустити перевірку сертифіката | Лише SOCKS5 через TLS. Приймає будь-який сертифікат. Використовуйте лише для тестування. |
| Закріплення сертифіката | Лише SOCKS5 через TLS, необов’язково. Відбиток SHA-256 сертифіката сервера у вигляді 64 шістнадцяткових цифр. Із закріпленням Potatso приймає закріплений сертифікат, зокрема самопідписаний, і більше нічого. |
Якщо сервер вимагає ім’я користувача та пароль, а ви їх не задали, Potatso не під’єднується. Potatso не підтримує автентифікацію GSSAPI (Kerberos).
Сервер Clash чи Mihomo із порожнім username імпортується без автентифікації, як і в Clash.
Сертифікати
У SOCKS5 через 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 через 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 через TLS | ✅ Із закріпленням сертифіката та пропуском перевірки сертифіката |
| Назва сервера TLS, відмінна від адреси сервера, ALPN, власний CA, клієнтський сертифікат | ❌ |
| UDP, зашифрований через TLS | ❌ SOCKS5 надсилає UDP поза TLS |
| Адреса сервера IPv6 | ✅ |
| SOCKS4 і SOCKS4a | ❌ |
Кожну підтримувану можливість перевірено на справжніх серверах SOCKS5: Xray, sing-box, Mihomo, 3proxy і microsocks. sing-box обслуговує SOCKS5 через 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 через TLS. Potatso завжди надсилає серверу доменні імена, тож socks5h:// працює так само, як socks5://. |
user:password |
Необов’язково. Закодуйте відсотковим кодуванням :, @ та інші спеціальні символи в паролі, наприклад p%3Ass для p:ss. Ім’я користувача не може містити :. |
host |
Адреса сервера. IPv6-адресу беріть у квадратні дужки, наприклад [2001:db8::1]. |
port |
Порт сервера. |
insecure |
Лише SOCKS5 через 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 через TLS:
socks5+tls://alice:s3cret@proxy.example.com:443#TLSСервер SOCKS5 через TLS із самопідписаним сертифікатом:
socks+tls://proxy.example.com:443?insecure=1#Self-signed