Un servidor ShadowsocksR (SSR) se describe con tres ajustes: un cifrado, un protocolo y un método de obfs (ofuscación). Potatso se conecta a un servidor solo cuando admite los tres. Usa las tablas siguientes para comprobar los ajustes de tu servidor, tal como los muestra tu proveedor o su enlace ssr://.
Puedes añadir un servidor SSR a mano, con un enlace ssr:// o desde una suscripción de Clash o Mihomo. Potatso conserva el protocolo y el obfs que indica tu proveedor, incluidas las formas _compatible.
Cifrados
| Cifrado | Admitido |
|---|---|
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 |
❌ |
Los cifrados AEAD como aes-256-gcm son cifrados de Shadowsocks, no de ShadowsocksR. Si tu proveedor indica uno para un servidor SSR, comprueba si el servidor es en realidad un servidor Shadowsocks.
Protocolos
| Protocolo | Admitido | Varios usuarios |
|---|---|---|
origin |
✅ | — |
verify_deflate |
✅ | — |
auth_sha1, auth_sha1_v2 |
Obsoletos (no probados con un 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 |
Obsoletos (se importan como origin) |
— |
Los servidores de varios usuarios comparten un puerto entre varios usuarios. Para ellos, indica en el parámetro del protocolo (protocol-param, o protoparam en un enlace ssr://) uid:key, con el ID de usuario y la clave que te da tu proveedor.
Los servidores ShadowsocksR actuales ya no ofrecen auth_sha1 ni auth_sha1_v2. Potatso todavía se conecta con ellos, pero no se han probado con un servidor real, así que prefiere otro protocolo si tu proveedor lo ofrece.
Las versiones anteriores de Potatso enumeraban verify_simple, verify_sha1 y auth_simple, pero siempre se conectaban con origin. Potatso los sigue importando como origin y muestra una advertencia cuando lo hace.
Obfs
| Obfs | Admitido |
|---|---|
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 |
Un nombre _compatible significa que el servidor también acepta clientes que no usan ofuscación. Potatso usa el método de obfs que nombra, así que puedes dejar el nombre que te da tu proveedor.
En los métodos HTTP, el parámetro de obfs (obfs-param, o obfsparam en un enlace ssr://) establece la cabecera Host. Puede ser un único host, una lista de hosts separados por comas o un bloque de cabeceras personalizadas. Si está vacío, Potatso usa la dirección del servidor. En los métodos TLS, establece el nombre del servidor enviado en la negociación TLS.
UDP
UDP funciona con todos los protocolos admitidos y está activado por defecto en los servidores SSR. Desactívalo en los ajustes del servidor si tu servidor no retransmite UDP.
Enlaces ssr://
Un enlace ssr:// contiene un servidor completo en una sola línea. Todo lo que hay después de ssr:// está codificado en Base64:
ssr://base64(host:port:protocol:cipher:obfs:base64(password)/?obfsparam=…&protoparam=…&remarks=…)La parte anterior a /? son seis campos separados por dos puntos:
| Campo | Descripción |
|---|---|
host |
Dirección del servidor. Pon una dirección IPv6 entre corchetes, como [2001:db8::1]. |
port |
Puerto del servidor. |
protocol |
Uno de los protocolos anteriores. Si está vacío, Potatso usa origin. |
cipher |
Uno de los cifrados anteriores. Obligatorio. |
obfs |
Uno de los métodos de obfs anteriores. Si está vacío, Potatso usa plain. |
password |
La contraseña, codificada en Base64. |
La parte posterior a /? es opcional. Cada valor está codificado en Base64:
| Parámetro | Descripción |
|---|---|
obfsparam |
El parámetro de obfs, como el Host de http_simple. |
protoparam |
El parámetro del protocolo, como uid:key en un servidor de varios usuarios. |
remarks |
El nombre del servidor en Potatso. |
Potatso ignora otros parámetros, como group, udpport y uot, y cualquier #name al final del enlace. UDP no forma parte del enlace: está activado por defecto y puedes desactivarlo después de importar.
Potatso acepta Base64 estándar y seguro para URL, con o sin relleno =. Los nombres no distinguen mayúsculas de minúsculas, así que AUTH_CHAIN_A funciona igual que auth_chain_a. Cuando Potatso comparte un servidor, escribe Base64 seguro para URL sin relleno.
Ejemplos
Cada ejemplo muestra primero el texto decodificado y después el enlace que se importa. La contraseña en todos los ejemplos es secret.
Un servidor básico sin plugin de protocolo ni ofuscación:
ssr.example.com:8388:origin:aes-256-cfb:plain:c2VjcmV0/?remarks=QmFzaWMssr://c3NyLmV4YW1wbGUuY29tOjgzODg6b3JpZ2luOmFlcy0yNTYtY2ZiOnBsYWluOmMyVmpjbVYwLz9yZW1hcmtzPVFtRnphV00Ofuscación TLS, con cdn.example.com como nombre del servidor:
ssr.example.com:443:auth_aes128_md5:chacha20-ietf:tls1.2_ticket_auth:c2VjcmV0/?obfsparam=Y2RuLmV4YW1wbGUuY29t&remarks=VExTIG9iZnMssr://c3NyLmV4YW1wbGUuY29tOjQ0MzphdXRoX2FlczEyOF9tZDU6Y2hhY2hhMjAtaWV0Zjp0bHMxLjJfdGlja2V0X2F1dGg6YzJWamNtVjAvP29iZnNwYXJhbT1ZMlJ1TG1WNFlXMXdiR1V1WTI5dCZyZW1hcmtzPVZFeFRJRzlpWm5NUn servidor de varios usuarios: el usuario 2173 con la clave userkey, el cifrado none y ofuscación HTTP:
ssr.example.com:8080:auth_chain_a:none:http_simple:c2VjcmV0/?obfsparam=Y2RuLmV4YW1wbGUuY29t&protoparam=MjE3Mzp1c2Vya2V5&remarks=TXVsdGktdXNlcgssr://c3NyLmV4YW1wbGUuY29tOjgwODA6YXV0aF9jaGFpbl9hOm5vbmU6aHR0cF9zaW1wbGU6YzJWamNtVjAvP29iZnNwYXJhbT1ZMlJ1TG1WNFlXMXdiR1V1WTI5dCZwcm90b3BhcmFtPU1qRTNNenAxYzJWeWEyVjUmcmVtYXJrcz1UWFZzZEdrdGRYTmxjZwUn servidor con una dirección IPv6:
[2001:db8::1]:8388:auth_sha1_v4:rc4-md5:http_post:c2VjcmV0/?remarks=SVB2Ngssr://WzIwMDE6ZGI4OjoxXTo4Mzg4OmF1dGhfc2hhMV92NDpyYzQtbWQ1Omh0dHBfcG9zdDpjMlZqY21WMC8_cmVtYXJrcz1TVkIyTmc