Um servidor Snell é descrito por uma PSK (chave pré-compartilhada) e pela sua versão e, opcionalmente, por ofuscação. O Snell é o protocolo de proxy da equipe do Surge. A versão do cliente precisa ser igual à do servidor, então confira-a primeiro: é a version na configuração do Surge do seu provedor, ou a versão do snell-server que o seu servidor executa.
Você pode adicionar um servidor Snell à mão, com um link snell://, ou importando:
- uma assinatura Clash ou Mihomo,
- uma configuração do Surge.
Versões
| Versão | Suportada | Testada com |
|---|---|---|
| v1, v2 | ❌ | |
| v3 | ✅ | open-snell |
| v4 | ✅ | snell-server v4 |
| v5 | ✅ Sem o Modo Proxy QUIC | snell-server v5 |
| v6 | ✅ | snell-server v6 |
Um servidor v5 também aceita clientes v4, e um servidor v4 aceita um cliente definido como v5. Qualquer outra combinação de versões não conecta.
O Modo Proxy QUIC do v5 é uma forma de o Surge repassar tráfego QUIC. O Potatso repassa o QUIC como qualquer outro tráfego UDP, então o QUIC continua funcionando.
O Snell v6 está em beta no Surge e ainda pode mudar de modo que quebre clientes mais antigos. Mantenha a versão do seu servidor na que o seu provedor recomenda.
Ofuscação
| Ofuscação | v3 | v4, v5 | v6 |
|---|---|---|---|
| Nenhuma | ✅ | ✅ | ✅ |
| HTTP | ✅ | ✅ | |
| TLS | ✅ | ❌ Os servidores só oferecem HTTP |
A ofuscação faz o início da conexão parecer uma requisição HTTP ou um handshake TLS. Ela precisa ser igual ao ajuste obfs do servidor. Defina o host de ofuscação como o nome de host que o seu provedor der: sem um, o Potatso usa bing.com, como o Clash.
Um servidor v6 não tem ofuscação. Ele molda o tráfego a partir da PSK e não precisa de nada no seu dispositivo para isso.
Modos do v6
| Modo | Suportado |
|---|---|
default: criptografia e modelagem do tráfego |
✅ |
unshaped: criptografia sem modelagem do tráfego |
✅ |
unsafe-raw: sem criptografia, sem modelagem |
✅ |
O modo precisa ser igual ao ajuste mode do servidor. unsafe-raw envia seu tráfego como está e não verifica a PSK: use-o somente dentro de outro túnel seguro.
Reutilização de conexões
Com Reutilizar conexões ativado, o Potatso mantém uma conexão Snell aberta quando uma conexão com um site termina e a usa para a próxima. Isso economiza uma ida e volta. A reutilização funciona com o v4 e posteriores. Os servidores v3 nunca reutilizam uma conexão, então o ajuste não aparece para o v3.
UDP
O Snell v3 e posteriores transportam UDP dentro da conexão Snell. 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 configuração do Surge sempre o ativa, como o Surge faz.
Com um servidor v5, as respostas UDP maiores que cerca de 2,5 KB chegam truncadas: o servidor as envia em uma forma que só o Surge lê. A maior parte do tráfego UDP, como DNS, QUIC e chamadas, usa pacotes menores. Um servidor v4 ou v6 não tem esse problema.
Ajustes do Surge
O Potatso importa as linhas snell de uma configuração do Surge:
Snell = snell, snell.example.com, 8443, psk=secret, version=4, obfs=http, obfs-host=bing.com, reuse=true| Ajuste | Suportado |
|---|---|
psk |
✅ |
version |
✅ 3 a 6. Sem version, o Surge usa o v1, então o Potatso não importa a linha. |
obfs, obfs-host |
✅ Veja Ofuscação |
obfs-uri |
❌ |
reuse |
✅ |
mode |
✅ Somente v6 |
udp-port |
❌ |
shadow-tls-password |
❌ |
tfo |
❌ Ignorado |
O Potatso não importa uma linha que precise de um dos ajustes não suportados, ou obfs=tls com o v4 ou posterior, pois não conseguiria conectar a esse servidor.
Suporte a recursos
| Recurso | Suportado |
|---|---|
| Snell v3, v4, v5 e v6 | ✅ |
| Snell v1, v2 | ❌ |
| Ofuscação HTTP (v3 a v5), ofuscação TLS (v3) | ✅ |
| Modos do v6 | ✅ |
| Reutilização de conexões (v4 e posteriores) | ✅ |
| UDP (v3 e posteriores) | ✅ |
| Modo Proxy QUIC do v5 | ❌ O QUIC passa pelo UDP |
| ShadowTLS, Restls ou JLS em volta do Snell | ❌ |
Links snell:// |
✅ |
Toda versão suportada é testada com um servidor Snell real: snell-server v4, v5 e v6 do Surge, e open-snell para o v3, já que o Surge não oferece mais servidores v3.
Quando a PSK, a versão ou a ofuscação não correspondem, o servidor fecha a conexão. Verifique primeiro esses três itens quando um servidor Snell nunca conecta.
Links snell://
O Snell não tem um formato de link oficial. O Potatso lê e compartilha servidores Snell assim:
snell://psk@host:port?version=4&obfs=http&obfs-host=bing.com#name| Parte | Descrição |
|---|---|
psk |
A PSK, com percent-encoding. |
host |
Endereço do servidor. Coloque um endereço IPv6 entre colchetes, como [2001:db8::1]. |
port |
Porta do servidor. |
version |
A versão do Snell, 4 quando falta. |
obfs, obfs-host |
A ofuscação e o nome de host dela. |
name |
Opcional. O nome do servidor no Potatso. |
Exemplos
Cada exemplo mostra o link a importar. A PSK é secret.
Um servidor v4:
snell://secret@snell.example.com:8443?version=4#BasicUm servidor v4 com ofuscação HTTP:
snell://secret@snell.example.com:8443?version=4&obfs=http&obfs-host=bing.com#HTTP