Um servidor AnyTLS é descrito por uma senha e pelos seus ajustes de TLS. O AnyTLS roda dentro do TLS e preenche (padding) o próprio tráfego, de modo que a conexão parece uma visita HTTPS comum e não mostra os sinais habituais de um proxy dentro do TLS. O Potatso conecta a um servidor quando suporta os ajustes de TLS dele. Use as tabelas abaixo para conferir os ajustes do seu servidor, como mostrados pelo seu provedor ou no link anytls:// dele.
Você pode adicionar um servidor AnyTLS à mão, com um link anytls://, ou importando:
- uma assinatura Clash ou Mihomo,
- uma configuração do Surge.
O Potatso ainda não importa servidores AnyTLS de uma configuração do sing-box. Use o link anytls:// do servidor.
TLS
| Ajuste | Chave do Clash | Parâmetro do link | Suportado |
|---|---|---|---|
| Nome do servidor (SNI) | sni |
sni |
✅ Sem um, o Potatso usa o endereço do servidor. |
| ALPN | alpn |
alpn |
✅ Sem um, o Potatso não envia nenhum, como o Clash. |
| Ignorar a verificação de certificado | skip-cert-verify |
insecure |
✅ |
| Fixação de certificado (SHA-256) | fingerprint |
hpkp |
✅ |
| Impressão digital do navegador | client-fingerprint |
fp |
✅ chrome, firefox, safari, ios, android, edge e random. Outros nomes conectam com um handshake padrão. |
| REALITY | reality-opts |
✅ | |
| Encrypted Client Hello (ECH) | ech-opts |
✅ Com a configuração ECH na assinatura, ou consultada no DNS | |
| Certificado CA personalizado | ❌ | ||
| Certificado de cliente TLS | certificate, private-key |
❌ |
Desativar a verificação de certificado permite que qualquer pessoa entre você e o servidor leia o seu tráfego. Fixe o certificado do servidor em vez disso, se ele usa um autoassinado: defina o SHA-256 do certificado como a fixação de certificado.
Uma impressão digital de navegador faz o handshake TLS da conexão parecer o daquele navegador. Ela não muda o que o servidor precisa suportar.
O Potatso não importa um servidor que precise de um certificado de cliente TLS, pois o servidor recusaria a conexão.
REALITY
Um servidor REALITY toma emprestado o certificado TLS de outro site, então não precisa de um próprio. Os servidores sing-box oferecem AnyTLS com REALITY. Defina a chave pública e o short ID do servidor como o seu provedor os fornece, e o nome do servidor como o site do qual o servidor toma emprestado. O REALITY precisa de uma impressão digital de navegador, como chrome.
Conexões
O AnyTLS reutiliza suas conexões TLS: quando uma conexão com um site termina, a próxima usa a mesma conexão TLS em vez de abrir uma nova. Cada conexão TLS carrega uma conexão por vez, então várias ao mesmo tempo abrem várias conexões TLS, que são reutilizadas depois.
| Ajuste | Chave do Clash | Suportado |
|---|---|---|
| Com que frequência as conexões ociosas são verificadas | idle-session-check-interval |
✅ Em segundos, 30 por padrão |
| Por quanto tempo uma conexão ociosa fica aberta | idle-session-timeout |
✅ Em segundos, 60 por padrão |
| Quantas conexões ociosas ficam abertas | min-idle-session |
✅ 1 por padrão |
Valores de 5 segundos ou menos significam 30, como no Clash. Esses ajustes vêm de uma assinatura Clash. O Potatso usa os padrões para servidores que você adiciona à mão ou por link.
O reuse=false de uma configuração do Surge não se aplica: o Potatso sempre reutiliza as conexões, como a especificação do AnyTLS determina. O Potatso importa o servidor e mostra um aviso.
Padding
O AnyTLS preenche o início de cada conexão para esconder os tamanhos que denunciam um proxy. Um servidor pode enviar o próprio esquema de padding. O Potatso o usa a partir da próxima conexão TLS, como o AnyTLS define. Não há nada para definir no seu dispositivo.
UDP
O AnyTLS transporta UDP dentro da conexão TLS (UDP sobre TCP). O UDP vem desativado por padrão, como no Clash. Ative o Relay UDP nos ajustes do servidor se o seu servidor repassa UDP. Uma assinatura Clash o ativa com udp: true, e uma configuração do Surge sempre o ativa.
Suporte a recursos
| Recurso | Suportado |
|---|---|
| Protocolo AnyTLS v2: senha, padding, reutilização de conexões | ✅ |
| Esquemas de padding enviados pelo servidor | ✅ |
| UDP sobre TCP | ✅ |
| Ajustes de conexões ociosas | ✅ |
| REALITY, ECH | ✅ |
| Fixação de certificado, impressões digitais de navegador | ✅ |
| CA personalizada, certificados de cliente TLS | ❌ |
Links anytls:// |
✅ |
Todo recurso suportado é testado com pelo menos um servidor AnyTLS real: anytls-go, sing-box ou mihomo.
Quando a senha está errada, o servidor fecha a conexão. Verifique primeiro a senha quando um servidor AnyTLS nunca conecta.
Links anytls://
Um link anytls:// guarda um servidor inteiro em uma linha:
anytls://password@host:port/?parameters#name| Parte | Descrição |
|---|---|
password |
A senha, com percent-encoding. |
host |
Endereço do servidor. Coloque um endereço IPv6 entre colchetes, como [2001:db8::1]. |
port |
Porta do servidor. Quando falta, o Potatso usa 443. |
name |
Opcional. O nome do servidor no Potatso. |
Os parâmetros seguem o formato do anytls-go, mais alguns que certos apps acrescentam:
| Parâmetro | Descrição |
|---|---|
sni |
O nome do servidor TLS. |
insecure |
1 desativa a verificação de certificado. |
alpn |
A lista de ALPN, separada por vírgulas e com percent-encoding. |
fp |
A impressão digital do navegador. |
hpkp |
O SHA-256 do certificado do servidor. |
Ao compartilhar um servidor AnyTLS, o Potatso oferece um link anytls:// com os mesmos parâmetros.
Exemplos
Cada exemplo mostra o link a importar. A senha é secret.
Um servidor básico:
anytls://secret@anytls.example.com:443/?sni=anytls.example.com#BasicUm certificado autoassinado, sem verificação:
anytls://secret@203.0.113.7/?insecure=1#Self-signedUma impressão digital do Chrome, uma lista de ALPN e um certificado fixado:
anytls://secret@anytls.example.com:443/?sni=anytls.example.com&alpn=h2%2Chttp%2F1.1&fp=chrome&hpkp=abababababababababababababababababababababababababababababababab#Shaped