Сервер AnyTLS описують пароль і його параметри TLS. AnyTLS працює всередині TLS і доповнює свій трафік, тож з’єднання виглядає як звичайне відвідування HTTPS і не має звичних ознак проксі всередині TLS. Potatso під’єднується до сервера, коли підтримує його параметри TLS. Скористайтеся таблицями нижче, щоб перевірити параметри свого сервера, як їх показує ваш постачальник або вказано в його посиланні anytls://.
Сервер AnyTLS можна додати вручну, через посилання anytls:// або імпортом:
- підписки Clash чи Mihomo,
- конфігурації Surge.
Potatso поки не імпортує сервери AnyTLS із конфігурації sing-box. Натомість використайте посилання anytls:// сервера.
TLS
| Параметр | Ключ Clash | Параметр посилання | Підтримується |
|---|---|---|---|
| Назва сервера (SNI) | sni |
sni |
✅ Без неї Potatso використовує адресу сервера. |
| ALPN | alpn |
alpn |
✅ Без нього Potatso нічого не надсилає, як і Clash. |
| Пропустити перевірку сертифіката | skip-cert-verify |
insecure |
✅ |
| Закріплення сертифіката (SHA-256) | fingerprint |
hpkp |
✅ |
| Відбиток браузера | client-fingerprint |
fp |
✅ chrome, firefox, safari, ios, android, edge і random. З іншими назвами з’єднання встановлюється зі стандартним рукостисканням. |
| REALITY | reality-opts |
✅ | |
| Encrypted Client Hello (ECH) | ech-opts |
✅ З конфігурацією ECH у підписці або отриманою з DNS | |
| Власний сертифікат CA | ❌ | ||
| Клієнтський сертифікат TLS | certificate, private-key |
❌ |
Вимкнення перевірки сертифіката дозволяє будь-кому між вами та сервером читати ваш трафік. Натомість закріпіть сертифікат сервера, якщо він самопідписаний: задайте SHA-256 його сертифіката як закріплення сертифіката.
Відбиток браузера робить рукостискання TLS схожим на рукостискання цього браузера. Він не змінює того, що має підтримувати сервер.
Potatso не імпортує сервер, якому потрібен клієнтський сертифікат TLS, бо сервер відхилив би з’єднання.
REALITY
Сервер REALITY позичає сертифікат TLS іншого сайту, тож власного йому не потрібно. Сервери sing-box пропонують AnyTLS із REALITY. Задайте публічний ключ і короткий ID сервера так, як їх дає ваш постачальник, а назву сервера — як сайт, у якого сервер позичає сертифікат. REALITY потребує відбитка браузера, наприклад chrome.
З’єднання
AnyTLS повторно використовує свої з’єднання TLS: коли з’єднання з вебсайтом завершується, наступне використовує те саме з’єднання TLS замість відкриття нового. Кожне з’єднання TLS передає одне з’єднання за раз, тож кілька одночасних відкривають кілька з’єднань TLS, які потім використовуються повторно.
| Параметр | Ключ Clash | Підтримується |
|---|---|---|
| Як часто перевіряються неактивні з’єднання | idle-session-check-interval |
✅ У секундах, типово 30 |
| Як довго неактивне з’єднання лишається відкритим | idle-session-timeout |
✅ У секундах, типово 60 |
| Скільки неактивних з’єднань лишається відкритими | min-idle-session |
✅ Типово 1 |
Значення 5 секунд або менше означають 30, як у Clash. Ці параметри надходять із підписки Clash. Для серверів, які ви додаєте вручну або за посиланням, Potatso використовує типові значення.
reuse=false у конфігурації Surge не застосовується: Potatso завжди використовує з’єднання повторно, як і специфікація AnyTLS. Potatso імпортує сервер і показує попередження.
Доповнення
AnyTLS доповнює початок кожного з’єднання, щоб приховати розміри, які видають проксі. Сервер може надіслати власну схему доповнення. Potatso використовує її, починаючи з наступного з’єднання TLS, як визначає AnyTLS. Нічого налаштовувати на вашому пристрої не потрібно.
UDP
AnyTLS передає UDP всередині свого з’єднання TLS (UDP over TCP). UDP типово вимкнено, як і в Clash. Увімкніть параметр «Ретрансляція UDP» в параметрах сервера, якщо ваш сервер ретранслює UDP. Підписка Clash вмикає його через udp: true, а конфігурація Surge вмикає завжди.
Підтримка можливостей
| Можливість | Підтримується |
|---|---|
| Протокол AnyTLS v2: пароль, доповнення, повторне використання з’єднань | ✅ |
| Схеми доповнення, які надсилає сервер | ✅ |
| UDP over TCP | ✅ |
| Параметри неактивних з’єднань | ✅ |
| REALITY, ECH | ✅ |
| Закріплення сертифіката, відбитки браузера | ✅ |
| Власний CA, клієнтські сертифікати TLS | ❌ |
Посилання anytls:// |
✅ |
Кожну підтримувану можливість перевірено принаймні на одному справжньому сервері AnyTLS: anytls-go, sing-box або mihomo.
Коли пароль неправильний, сервер закриває з’єднання. Спершу перевірте пароль, якщо сервер AnyTLS так і не під’єднується.
Посилання anytls://
Посилання anytls:// містить цілий сервер в одному рядку:
anytls://password@host:port/?parameters#name| Частина | Опис |
|---|---|
password |
Пароль, закодований відсотковим кодуванням. |
host |
Адреса сервера. IPv6-адресу беріть у квадратні дужки, наприклад [2001:db8::1]. |
port |
Порт сервера. Якщо не вказано, Potatso використовує 443. |
name |
Необов’язково. Назва сервера в Potatso. |
Параметри відповідають формату anytls-go, плюс кілька, які додають деякі програми:
| Параметр | Опис |
|---|---|
sni |
Назва сервера TLS. |
insecure |
1 вимикає перевірку сертифіката. |
alpn |
Список ALPN, розділений комами й закодований відсотковим кодуванням. |
fp |
Відбиток браузера. |
hpkp |
SHA-256 сертифіката сервера. |
Коли Potatso ділиться сервером AnyTLS, він пропонує посилання anytls:// з тими самими параметрами.
Приклади
Кожен приклад показує посилання для імпорту. Пароль — secret.
Базовий сервер:
anytls://secret@anytls.example.com:443/?sni=anytls.example.com#BasicСамопідписаний сертифікат, без перевірки:
anytls://secret@203.0.113.7/?insecure=1#Self-signedВідбиток Chrome, список ALPN і закріплений сертифікат:
anytls://secret@anytls.example.com:443/?sni=anytls.example.com&alpn=h2%2Chttp%2F1.1&fp=chrome&hpkp=abababababababababababababababababababababababababababababababab#Shaped