Сервер 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. Укажите открытый ключ и short 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). Как и в Clash, UDP по умолчанию выключен. Включите «Ретрансляция 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