Um servidor ShadowsocksR (SSR) é descrito por três ajustes: uma cifra, um protocolo e um método de obfs (ofuscação). O Potatso só conecta a um servidor quando suporta os três. Use as tabelas abaixo para conferir os ajustes do seu servidor, como mostrados pelo seu provedor ou no link ssr:// dele.
Você pode adicionar um servidor SSR à mão, com um link ssr://, ou a partir de uma assinatura Clash ou Mihomo. O Potatso mantém o protocolo e o obfs que o seu provedor indica, incluindo as formas _compatible.
Cifras
| Cifra | Suportada |
|---|---|
none |
✅ |
aes-128-ctr, aes-192-ctr, aes-256-ctr |
✅ |
aes-128-cfb, aes-192-cfb, aes-256-cfb |
✅ |
camellia-128-cfb, camellia-192-cfb, camellia-256-cfb |
✅ |
chacha20, chacha20-ietf |
✅ |
salsa20 |
✅ |
bf-cfb |
✅ |
rc4-md5 |
✅ |
cast5-cfb, des-cfb, idea-cfb, rc2-cfb, seed-cfb |
✅ |
rc4-md5-6, table |
✅ |
xchacha20, xsalsa20 |
❌ |
Cifras AEAD como aes-256-gcm são cifras do Shadowsocks, não do ShadowsocksR. Se o seu provedor lista uma para um servidor SSR, verifique se o servidor é na verdade um servidor Shadowsocks.
Protocolos
| Protocolo | Suportado | Vários usuários |
|---|---|---|
origin |
✅ | — |
verify_deflate |
✅ | — |
auth_sha1, auth_sha1_v2 |
Obsoleto (não testado com um servidor real) | — |
auth_sha1_v4 |
✅ | — |
auth_sha1_v4_compatible |
✅ | — |
auth_aes128_md5 |
✅ | ✅ |
auth_aes128_sha1 |
✅ | ✅ |
auth_chain_a |
✅ | ✅ |
auth_chain_b |
✅ | ✅ |
verify_simple, verify_sha1, auth_simple |
Obsoleto (importado como origin) |
— |
Os servidores de vários usuários compartilham uma porta entre vários usuários. Para eles, defina o parâmetro do protocolo (protocol-param, ou protoparam em um link ssr://) como uid:key, usando o ID de usuário e a chave do seu provedor.
Os servidores ShadowsocksR atuais não oferecem mais auth_sha1 e auth_sha1_v2. O Potatso ainda conecta com eles, mas não foram testados com um servidor real, então prefira outro protocolo se o seu provedor oferecer.
As versões antigas do Potatso listavam verify_simple, verify_sha1 e auth_simple, mas sempre conectavam com origin. O Potatso ainda os importa como origin e mostra um aviso quando faz isso.
Obfs
| Obfs | Suportado |
|---|---|
plain |
✅ |
http_simple, http_simple_compatible |
✅ |
http_post, http_post_compatible |
✅ |
tls1.2_ticket_auth, tls1.2_ticket_auth_compatible |
✅ |
tls1.2_ticket_fastauth, tls1.2_ticket_fastauth_compatible |
✅ |
random_head, random_head_compatible |
✅ Obsoleto |
Um nome _compatible significa que o servidor também aceita clientes que não usam ofuscação. O Potatso usa o método de obfs que o nome indica, então você pode manter o nome que o seu provedor dá.
Nos métodos HTTP, o parâmetro de obfs (obfs-param, ou obfsparam em um link ssr://) define o cabeçalho Host. Pode ser um único host, uma lista de hosts separados por vírgulas ou um bloco de cabeçalhos personalizados. Quando está vazio, o Potatso usa o endereço do servidor. Nos métodos TLS, ele define o nome do servidor enviado no handshake TLS.
UDP
O UDP funciona com todos os protocolos suportados e vem ativado por padrão nos servidores SSR. Desative-o nos ajustes do servidor se o seu servidor não repassa UDP.
Links ssr://
Um link ssr:// guarda um servidor inteiro em uma linha. Tudo depois de ssr:// é codificado em Base64:
ssr://base64(host:port:protocol:cipher:obfs:base64(password)/?obfsparam=…&protoparam=…&remarks=…)A parte antes de /? são seis campos separados por dois-pontos:
| Campo | Descrição |
|---|---|
host |
Endereço do servidor. Coloque um endereço IPv6 entre colchetes, como [2001:db8::1]. |
port |
Porta do servidor. |
protocol |
Um dos protocolos acima. Se estiver vazio, o Potatso usa origin. |
cipher |
Uma das cifras acima. Obrigatório. |
obfs |
Um dos métodos de obfs acima. Se estiver vazio, o Potatso usa plain. |
password |
A senha, codificada em Base64. |
A parte depois de /? é opcional. Cada valor é codificado em Base64:
| Parâmetro | Descrição |
|---|---|
obfsparam |
O parâmetro de obfs, como o Host para http_simple. |
protoparam |
O parâmetro do protocolo, como uid:key para um servidor de vários usuários. |
remarks |
O nome do servidor no Potatso. |
O Potatso ignora outros parâmetros, como group, udpport e uot, e qualquer #name no fim do link. O UDP não faz parte do link: vem ativado por padrão, e você pode desativá-lo depois de importar.
O Potatso aceita Base64 padrão e seguro para URL, com ou sem preenchimento =. Os nomes não diferenciam maiúsculas de minúsculas, então AUTH_CHAIN_A funciona igual a auth_chain_a. Ao compartilhar um servidor, o Potatso escreve Base64 seguro para URL sem preenchimento.
Exemplos
Cada exemplo mostra primeiro o texto decodificado e depois o link a importar. A senha em todos os exemplos é secret.
Um servidor básico, sem plugin de protocolo e sem ofuscação:
ssr.example.com:8388:origin:aes-256-cfb:plain:c2VjcmV0/?remarks=QmFzaWMssr://c3NyLmV4YW1wbGUuY29tOjgzODg6b3JpZ2luOmFlcy0yNTYtY2ZiOnBsYWluOmMyVmpjbVYwLz9yZW1hcmtzPVFtRnphV00Ofuscação TLS, com cdn.example.com como nome do servidor:
ssr.example.com:443:auth_aes128_md5:chacha20-ietf:tls1.2_ticket_auth:c2VjcmV0/?obfsparam=Y2RuLmV4YW1wbGUuY29t&remarks=VExTIG9iZnMssr://c3NyLmV4YW1wbGUuY29tOjQ0MzphdXRoX2FlczEyOF9tZDU6Y2hhY2hhMjAtaWV0Zjp0bHMxLjJfdGlja2V0X2F1dGg6YzJWamNtVjAvP29iZnNwYXJhbT1ZMlJ1TG1WNFlXMXdiR1V1WTI5dCZyZW1hcmtzPVZFeFRJRzlpWm5NUm servidor de vários usuários: usuário 2173 com a chave userkey, a cifra none e ofuscação HTTP:
ssr.example.com:8080:auth_chain_a:none:http_simple:c2VjcmV0/?obfsparam=Y2RuLmV4YW1wbGUuY29t&protoparam=MjE3Mzp1c2Vya2V5&remarks=TXVsdGktdXNlcgssr://c3NyLmV4YW1wbGUuY29tOjgwODA6YXV0aF9jaGFpbl9hOm5vbmU6aHR0cF9zaW1wbGU6YzJWamNtVjAvP29iZnNwYXJhbT1ZMlJ1TG1WNFlXMXdiR1V1WTI5dCZwcm90b3BhcmFtPU1qRTNNenAxYzJWeWEyVjUmcmVtYXJrcz1UWFZzZEdrdGRYTmxjZwUm servidor com endereço IPv6:
[2001:db8::1]:8388:auth_sha1_v4:rc4-md5:http_post:c2VjcmV0/?remarks=SVB2Ngssr://WzIwMDE6ZGI4OjoxXTo4Mzg4OmF1dGhfc2hhMV92NDpyYzQtbWQ1Omh0dHBfcG9zdDpjMlZqY21WMC8_cmVtYXJrcz1TVkIyTmc