Skip to content

Shadowsocks

Los cifrados, plugins, enlaces y funciones de Shadowsocks que admite Potatso.

Updated Ver como Markdown

Un servidor Shadowsocks se describe con un cifrado y una contraseña, y opcionalmente un plugin que disfraza la conexión. Potatso se conecta a un servidor cuando admite el cifrado y, si lo hay, el plugin. Usa las tablas siguientes para comprobar los ajustes de tu servidor, tal como los muestra tu proveedor o su enlace ss://.

Puedes añadir un servidor Shadowsocks a mano, con un enlace ss:// o importándolo desde:

  • una suscripción de Clash o Mihomo,
  • una configuración en línea SIP008, desde un archivo o un enlace,
  • un config.json de shadowsocks-rust o shadowsocks-libev,
  • una configuración de Surge, o una configuración de Xray o V2Ray.

Cifrados

Prefiere un cifrado 2022 si tu servidor lo ofrece, y después un cifrado AEAD. Los cifrados de flujo tienen debilidades conocidas: úsalos solo con servidores que no ofrezcan otra cosa.

Cifrado Tipo Admitido
2022-blake3-aes-128-gcm, 2022-blake3-aes-256-gcm 2022 ✅ Con varios usuarios
2022-blake3-chacha20-poly1305, 2022-blake3-chacha8-poly1305 2022 ✅
aes-128-gcm, aes-192-gcm, aes-256-gcm AEAD ✅
chacha20-ietf-poly1305, xchacha20-ietf-poly1305 AEAD ✅
aes-128-ccm, aes-256-ccm, aes-128-gcm-siv, aes-256-gcm-siv AEAD ✅
sm4-gcm, sm4-ccm AEAD ✅
aes-128-ctr, aes-192-ctr, aes-256-ctr De flujo ✅
aes-128-cfb, aes-192-cfb, aes-256-cfb (también escrito -cfb128) De flujo ✅
aes-128-cfb1, aes-192-cfb1, aes-256-cfb1 De flujo ✅
aes-128-cfb8, aes-192-cfb8, aes-256-cfb8 De flujo ✅
aes-128-ofb, aes-192-ofb, aes-256-ofb De flujo ✅
camellia-128-ctr, camellia-192-ctr, camellia-256-ctr De flujo ✅
camellia-128-cfb, camellia-192-cfb, camellia-256-cfb (también escrito -cfb128) De flujo ✅
camellia-128-cfb1, camellia-192-cfb1, camellia-256-cfb1 De flujo ✅
camellia-128-cfb8, camellia-192-cfb8, camellia-256-cfb8 De flujo ✅
camellia-128-ofb, camellia-192-ofb, camellia-256-ofb De flujo ✅
chacha20-ietf, chacha20, salsa20 De flujo ✅
bf-cfb, rc4-md5, rc4, table De flujo ✅
none (también escrito plain) Sin cifrado ✅
cast5-cfb, des-cfb, idea-cfb, rc2-cfb, seed-cfb, rc4-md5-6 De flujo ❌ Solo ShadowsocksR
xchacha20, xsalsa20 De flujo ❌

Los nombres no distinguen mayúsculas de minúsculas, así que AES-256-GCM funciona igual que aes-256-gcm.

none envía tu tráfico sin cifrar. Úsalo solo con un plugin que cifre la propia conexión, como v2ray-plugin con TLS.

Cada cifrado admitido se prueba con al menos un servidor Shadowsocks real: shadowsocks-rust, sing-box o el servidor original en Python. De los cifrados AEAD anteriores, solo los servidores shadowsocks-rust ofrecen aes-*-ccm, aes-*-gcm-siv y sm4-*, y pocos proveedores los usan.

Claves 2022

Los cifrados 2022 (SIP022) no usan una contraseña. Usan una clave: bytes aleatorios, codificados en Base64, de la longitud que necesita el cifrado. 2022-blake3-aes-128-gcm necesita una clave de 16 bytes y los demás cifrados 2022 una clave de 32 bytes. Usa la clave exactamente como la tiene tu servidor.

Potatso no se conecta con una clave de longitud incorrecta ni con una contraseña que no esté en Base64. Para crear una clave nueva para tu servidor, ejecuta openssl rand -base64 16 para 2022-blake3-aes-128-gcm, o openssl rand -base64 32 para los demás cifrados 2022.

Servidores con varios usuarios

Un servidor 2022 puede compartir un puerto entre varios usuarios (SIP023). Cada usuario tiene su propia clave. Para estos servidores, indica como contraseña la clave del servidor y tu clave de usuario, separadas por dos puntos:

server-key:user-key

Solo 2022-blake3-aes-128-gcm y 2022-blake3-aes-256-gcm admiten servidores con varios usuarios.

Plugins

Un plugin envuelve la conexión Shadowsocks para que sea más difícil de detectar. Potatso trae estos plugins integrados, así que no hay que instalar nada más.

Plugin Nombres del plugin Admitido UDP
Simple Obfs obfs-local, simple-obfs, obfs ✅ obfs=http y obfs=tls Se envía al servidor sin el plugin
v2ray-plugin v2ray-plugin ✅ WebSocket, con o sin TLS. El modo QUIC no se admite. ❌
gost-plugin gost-plugin ✅ WebSocket, con o sin TLS ❌
ShadowTLS shadow-tls ✅ Versiones 1, 2 y 3 ❌
Restls restls ✅ ❌
JLS jls ✅ ❌

Potatso no importa un servidor que necesite otro plugin:

  • Cloak, xray-plugin y otros plugins son programas que tu dispositivo tendría que ejecutar junto a Potatso, algo que iOS no permite.
  • kcptun y ech-tls-tunnel todavía no están disponibles en Potatso.

Configurar un plugin

En los ajustes del servidor, elige el plugin en Plugin y después introduce sus opciones en Parámetro del plugin. Las opciones son pares key=value separados por punto y coma, como en este ejemplo de Simple Obfs:

obfs=tls;obfs-host=cdn.example.com

Una clave sola, como tls, activa esa opción. Omite cualquier opción que no necesites; las tablas siguientes indican el valor predeterminado de cada una.

Cuando importas un servidor, Potatso configura por ti el plugin y sus opciones:

  • Un enlace ss:// las incluye en su parámetro plugin, después del nombre del plugin: simple-obfs;obfs=tls;obfs-host=cdn.example.com.
  • Una suscripción de Clash o Mihomo las incluye en plugin y plugin-opts.
  • Una configuración SIP008 o un config.json de shadowsocks-rust o shadowsocks-libev las incluye en plugin y plugin_opts.

Son las mismas opciones en todas las formas. Si tu proveedor las enumera una por línea, como en un plugin-opts de Clash, escribe cada una como key=value y únelas con punto y coma.

Opciones de los plugins

Simple Obfs

Opción Descripción
obfs Obligatoria. http o tls.
obfs-host La cabecera Host (http) o el nombre del servidor enviado en la negociación TLS (tls). Si está vacía, Potatso usa la dirección del servidor.
obfs-uri Solo http. La ruta de la petición. Por defecto /.
http-method Solo http. El método de la petición. Por defecto GET.

v2ray-plugin

Opción Descripción
mode websocket, el valor predeterminado. El modo QUIC no se admite.
tls Se conecta por TLS. Desactivada por defecto.
host La cabecera Host y el nombre del servidor para TLS. Si está vacía, Potatso usa la dirección del servidor.
path La ruta de WebSocket. Por defecto /.
mux Multiplexación. Desactivada por defecto. Actívala solo si tu servidor la usa.
skip-cert-verify Acepta cualquier certificado del servidor. Úsala solo con un servidor de confianza.
header Una cabecera de petición adicional, como header=Name:Value. Repítela para añadir más cabeceras.

gost-plugin

Opción Descripción
mode Obligatoria. websocket.
tls Se conecta por TLS. Desactivada por defecto.
host La cabecera Host y el nombre del servidor para TLS. Por defecto bing.com, como en gost.
path La ruta de WebSocket. Por defecto /.
mux Multiplexación. Activada por defecto.
skip-cert-verify Acepta cualquier certificado del servidor. Úsala solo con un servidor de confianza.
fingerprint La huella SHA-256 del certificado del servidor, para aceptar solo ese certificado.
header Una cabecera de petición adicional, como header=Name:Value. Repítela para añadir más cabeceras.

ShadowTLS

Opción Descripción
host Obligatoria. El nombre de servidor del sitio de cobertura, como www.example.com.
version Obligatoria. 1, 2 o 3.
password La contraseña. Las versiones 2 y 3 la necesitan.
alpn La lista ALPN, separada por comas. Por defecto h2,http/1.1.
skip-cert-verify Acepta cualquier certificado del sitio de cobertura.

Restls

Opción Descripción
host Obligatoria. El nombre de servidor del sitio de cobertura.
password Obligatoria. La contraseña.
version-hint Obligatoria. tls13 o tls12, según esté configurado tu servidor.
restls-script El script de registros, si tu proveedor te da uno.

JLS

Opción Descripción
host Obligatoria. El nombre de servidor del sitio de cobertura.
username Obligatoria. El nombre de usuario.
password Obligatoria. La contraseña.
alpn La lista ALPN, separada por comas. Por defecto h2,http/1.1.

Potatso no se conecta a un servidor cuando falta una opción obligatoria o un valor no es válido.

UDP

UDP está activado por defecto en los servidores Shadowsocks y funciona con todos los cifrados admitidos. Desactívalo en los ajustes del servidor si tu servidor no retransmite UDP.

UDP no se envía a través de un plugin, así que con un plugin distinto de Simple Obfs el servidor solo transporta TCP. Potatso no admite UDP sobre TCP (udp-over-tcp o uot en un enlace o suscripción) y no importa un servidor que lo requiera.

Compatibilidad de funciones

Función Admitida
Enlaces ss:// SIP002 ✅ Incluida la forma antigua en Base64
Plugins SIP003 Solo los plugins integrados
SIP003u (UDP a través de un plugin) ❌
Cifrados AEAD (SIP004) ✅
Configuración en línea SIP008 ✅
Cifrados 2022 SIP022 ✅ TCP y UDP
Cabeceras de identidad de varios usuarios SIP023 ✅ Para los cifrados AES 2022
Cifrados de flujo ✅ Consulta Cifrados
UDP sobre TCP ❌
TCP Fast Open, MPTCP ❌

Algunas funciones de shadowsocks-rust son ajustes de su propio programa cliente, sslocal, y Potatso hace el mismo trabajo a su manera:

  • Servidores locales SOCKS5, HTTP, tunnel, redir, DNS y TUN: Potatso captura por sí mismo el tráfico de tu dispositivo.
  • Listas de control de acceso (ACL): usa reglas en tu perfil.
  • Elegir el más rápido de varios servidores: usa un grupo de proxies en tu perfil.

Un enlace ss:// contiene un servidor completo en una sola línea (SIP002):

ss://userinfo@host:port/?plugin=…#name
Parte Descripción
userinfo El cifrado y la contraseña como cipher:password, codificados en Base64 o con codificación porcentual. Un cifrado 2022 debe usar la forma con codificación porcentual.
host Dirección del servidor. Pon una dirección IPv6 entre corchetes, como [2001:db8::1].
port Puerto del servidor.
plugin Opcional. El nombre del plugin y sus opciones, separados por punto y coma y con codificación porcentual, como simple-obfs;obfs=tls;obfs-host=cdn.example.com.
name Opcional. El nombre del servidor en Potatso.

Potatso también importa la forma antigua, en la que todo lo que hay antes de # está codificado en Base64:

ss://base64(cipher:password@host:port)#name

Potatso acepta Base64 estándar y seguro para URL, con o sin relleno =. Cuando Potatso comparte un servidor, ofrece las formas SIP002 en Base64 y con codificación porcentual, y la forma antigua.

Cada ejemplo muestra el enlace que se importa. La contraseña en los ejemplos AEAD es secret.

Un servidor básico con aes-256-gcm:

ss://YWVzLTI1Ni1nY206c2VjcmV0@ss.example.com:8388#Basic

Un servidor 2022 con la clave de 16 bytes MTIzNDU2Nzg5MDEyMzQ1Ng==:

ss://2022-blake3-aes-128-gcm:MTIzNDU2Nzg5MDEyMzQ1Ng%3D%3D@ss.example.com:8388#2022

Un servidor 2022 con varios usuarios, con la clave del servidor y la clave de usuario separadas por dos puntos (%3A):

ss://2022-blake3-aes-256-gcm:MTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTI%3D%3AYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU%3D@ss.example.com:8388#Multi-user

Simple Obfs con TLS, usando cdn.example.com como nombre del servidor:

ss://YWVzLTI1Ni1nY206c2VjcmV0@ss.example.com:443/?plugin=simple-obfs%3Bobfs%3Dtls%3Bobfs-host%3Dcdn.example.com#Obfs

La forma antigua del servidor básico:

ss://YWVzLTI1Ni1nY206c2VjcmV0QHNzLmV4YW1wbGUuY29tOjgzODg#Legacy

Un servidor con una dirección IPv6:

ss://YWVzLTI1Ni1nY206c2VjcmV0@[2001:db8::1]:8388#IPv6
Navegación

Type to search…

↑↓ navigate↵ selectEsc close