Skip to content

AnyTLS

Настройки TLS, ссылки и возможности AnyTLS, которые поддерживает Potatso.

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

Сервер 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://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
Навигация

Type to search…

↑↓ navigate↵ selectEsc close