Skip to content

Shadowsocks

As cifras, plugins, links e recursos do Shadowsocks que o Potatso suporta.

Updated Ver como Markdown

Um servidor Shadowsocks é descrito por uma cifra e uma senha e, opcionalmente, por um plugin que disfarça a conexão. O Potatso conecta a um servidor quando suporta a cifra e, se houver, o plugin. Use as tabelas abaixo para conferir os ajustes do seu servidor, como mostrados pelo seu provedor ou no link ss:// dele.

Você pode adicionar um servidor Shadowsocks à mão, com um link ss://, ou importando:

  • uma assinatura Clash ou Mihomo,
  • uma configuração online SIP008, a partir de um arquivo ou de um link,
  • um config.json do shadowsocks-rust ou do shadowsocks-libev,
  • uma configuração do Surge, ou uma configuração do Xray ou do V2Ray.

Cifras

Prefira uma cifra 2022 se o seu servidor oferecer uma e, depois, uma cifra AEAD. As cifras de fluxo têm fraquezas conhecidas: use-as apenas com servidores que não oferecem nada além delas.

Cifra Tipo Suportada
2022-blake3-aes-128-gcm, 2022-blake3-aes-256-gcm 2022 ✅ Com vários usuários
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 Fluxo ✅
aes-128-cfb, aes-192-cfb, aes-256-cfb (também escrito -cfb128) Fluxo ✅
aes-128-cfb1, aes-192-cfb1, aes-256-cfb1 Fluxo ✅
aes-128-cfb8, aes-192-cfb8, aes-256-cfb8 Fluxo ✅
aes-128-ofb, aes-192-ofb, aes-256-ofb Fluxo ✅
camellia-128-ctr, camellia-192-ctr, camellia-256-ctr Fluxo ✅
camellia-128-cfb, camellia-192-cfb, camellia-256-cfb (também escrito -cfb128) Fluxo ✅
camellia-128-cfb1, camellia-192-cfb1, camellia-256-cfb1 Fluxo ✅
camellia-128-cfb8, camellia-192-cfb8, camellia-256-cfb8 Fluxo ✅
camellia-128-ofb, camellia-192-ofb, camellia-256-ofb Fluxo ✅
chacha20-ietf, chacha20, salsa20 Fluxo ✅
bf-cfb, rc4-md5, rc4, table Fluxo ✅
none (também escrito plain) Sem criptografia ✅
cast5-cfb, des-cfb, idea-cfb, rc2-cfb, seed-cfb, rc4-md5-6 Fluxo ❌ Somente ShadowsocksR
xchacha20, xsalsa20 Fluxo ❌

Os nomes não diferenciam maiúsculas de minúsculas, então AES-256-GCM funciona igual a aes-256-gcm.

none envia seu tráfego sem criptografia. Use-o apenas com um plugin que criptografe a própria conexão, como o v2ray-plugin com TLS.

Toda cifra suportada é testada com pelo menos um servidor Shadowsocks real: shadowsocks-rust, sing-box ou o servidor Python original. Das cifras AEAD acima, somente os servidores shadowsocks-rust oferecem aes-*-ccm, aes-*-gcm-siv e sm4-*, e poucos provedores as usam.

Chaves 2022

As cifras 2022 (SIP022) não usam senha. Elas usam uma chave: bytes aleatórios, codificados em Base64, do tamanho que a cifra exige. 2022-blake3-aes-128-gcm exige uma chave de 16 bytes e as outras cifras 2022, uma chave de 32 bytes. Use a chave exatamente como o seu servidor a tem.

O Potatso não conecta com uma chave de tamanho errado nem com uma senha que não seja Base64. Para gerar uma nova chave para o seu servidor, execute openssl rand -base64 16 para 2022-blake3-aes-128-gcm ou openssl rand -base64 32 para as outras cifras 2022.

Servidores com vários usuários

Um servidor 2022 pode compartilhar uma porta entre vários usuários (SIP023). Cada usuário tem a própria chave. Para esses servidores, defina a senha como a chave do servidor e a sua chave de usuário, separadas por dois-pontos:

server-key:user-key

Somente 2022-blake3-aes-128-gcm e 2022-blake3-aes-256-gcm suportam servidores com vários usuários.

Plugins

Um plugin envolve a conexão Shadowsocks para torná-la mais difícil de detectar. O Potatso traz estes plugins integrados, então não há mais nada para instalar.

Plugin Nomes do plugin Suportado UDP
Simple Obfs obfs-local, simple-obfs, obfs ✅ obfs=http e obfs=tls Enviado ao servidor sem o plugin
v2ray-plugin v2ray-plugin ✅ WebSocket, com ou sem TLS. O modo QUIC não é suportado. ❌
gost-plugin gost-plugin ✅ WebSocket, com ou sem TLS ❌
ShadowTLS shadow-tls ✅ Versões 1, 2 e 3 ❌
Restls restls ✅ ❌
JLS jls ✅ ❌

O Potatso não importa um servidor que precise de outro plugin:

  • Cloak, xray-plugin e outros plugins são programas que o seu dispositivo teria de executar ao lado do Potatso, o que o iOS não permite.
  • kcptun e ech-tls-tunnel ainda não estão disponíveis no Potatso.

Definir um plugin

Nos ajustes do servidor, escolha o plugin em Plugin e depois digite as opções dele em Parâmetro do plugin. As opções são pares chave=valor separados por ponto e vírgula, como neste exemplo de Simple Obfs:

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

Uma chave sozinha, como tls, ativa essa opção. Deixe de fora qualquer opção de que você não precisa; as tabelas abaixo dão o padrão de cada uma.

Quando você importa um servidor, o Potatso define o plugin e as opções dele por você:

  • Um link ss:// os traz no parâmetro plugin, depois do nome do plugin: simple-obfs;obfs=tls;obfs-host=cdn.example.com.
  • Uma assinatura Clash ou Mihomo os traz em plugin e plugin-opts.
  • Uma configuração SIP008 ou um config.json do shadowsocks-rust ou do shadowsocks-libev os traz em plugin e plugin_opts.

São as mesmas opções em todas as formas. Se o seu provedor as lista uma por linha, como em um plugin-opts do Clash, escreva cada uma como chave=valor e una-as com ponto e vírgula.

Opções do plugin

Simple Obfs

Opção Descrição
obfs Obrigatória. http ou tls.
obfs-host O cabeçalho Host (http) ou o nome do servidor enviado no handshake TLS (tls). Quando está vazia, o Potatso usa o endereço do servidor.
obfs-uri Somente http. O caminho da requisição. Padrão /.
http-method Somente http. O método da requisição. Padrão GET.

v2ray-plugin

Opção Descrição
mode websocket, o padrão. O modo QUIC não é suportado.
tls Conecta por TLS. Desativada por padrão.
host O cabeçalho Host e o nome do servidor para o TLS. Quando está vazia, o Potatso usa o endereço do servidor.
path O caminho do WebSocket. Padrão /.
mux Multiplexação. Desativada por padrão. Ative somente se o seu servidor a usar.
skip-cert-verify Aceita qualquer certificado do servidor. Use somente com um servidor em que você confia.
header Um cabeçalho de requisição extra, como header=Name:Value. Repita para mais cabeçalhos.

gost-plugin

Opção Descrição
mode Obrigatória. websocket.
tls Conecta por TLS. Desativada por padrão.
host O cabeçalho Host e o nome do servidor para o TLS. Padrão bing.com, como no gost.
path O caminho do WebSocket. Padrão /.
mux Multiplexação. Ativada por padrão.
skip-cert-verify Aceita qualquer certificado do servidor. Use somente com um servidor em que você confia.
fingerprint A impressão digital SHA-256 do certificado do servidor, para aceitar somente esse certificado.
header Um cabeçalho de requisição extra, como header=Name:Value. Repita para mais cabeçalhos.

ShadowTLS

Opção Descrição
host Obrigatória. O nome do servidor do site de fachada, como www.example.com.
version Obrigatória. 1, 2 ou 3.
password A senha. As versões 2 e 3 a exigem.
alpn A lista de ALPN, separada por vírgulas. Padrão h2,http/1.1.
skip-cert-verify Aceita qualquer certificado do site de fachada.

Restls

Opção Descrição
host Obrigatória. O nome do servidor do site de fachada.
password Obrigatória. A senha.
version-hint Obrigatória. tls13 ou tls12, conforme o seu servidor está configurado.
restls-script O script de registros, se o seu provedor fornecer um.

JLS

Opção Descrição
host Obrigatória. O nome do servidor do site de fachada.
username Obrigatória. O nome de usuário.
password Obrigatória. A senha.
alpn A lista de ALPN, separada por vírgulas. Padrão h2,http/1.1.

O Potatso não conecta a um servidor quando falta uma opção obrigatória ou um valor não é válido.

UDP

O UDP vem ativado por padrão nos servidores Shadowsocks e funciona com todas as cifras suportadas. Desative-o nos ajustes do servidor se o seu servidor não repassa UDP.

O UDP não é enviado por um plugin, então, com um plugin diferente do Simple Obfs, o servidor só transporta TCP. O Potatso não suporta UDP sobre TCP (udp-over-tcp ou uot em um link ou assinatura) e não importa um servidor que o exija.

Suporte a recursos

Recurso Suportado
Links ss:// SIP002 ✅ Incluindo a forma Base64 mais antiga
Plugins SIP003 Somente os plugins integrados
SIP003u (UDP por um plugin) ❌
Cifras AEAD (SIP004) ✅
Configuração online SIP008 ✅
Cifras 2022 SIP022 ✅ TCP e UDP
Cabeçalhos de identidade para vários usuários SIP023 ✅ Para as cifras AES 2022
Cifras de fluxo ✅ Veja Cifras
UDP sobre TCP ❌
TCP Fast Open, MPTCP ❌

Alguns recursos do shadowsocks-rust são ajustes do próprio programa cliente dele, o sslocal, e o Potatso faz o mesmo trabalho à sua maneira:

  • Servidores locais SOCKS5, HTTP, tunnel, redir, DNS e TUN: o Potatso captura o tráfego do seu dispositivo por conta própria.
  • Listas de controle de acesso (ACL): use as regras do seu perfil.
  • Escolher o mais rápido entre vários servidores: use um grupo de proxies no seu perfil.

Um link ss:// guarda um servidor inteiro em uma linha (SIP002):

ss://userinfo@host:port/?plugin=…#name
Parte Descrição
userinfo A cifra e a senha como cipher:password, codificadas em Base64 ou em percent-encoding. Uma cifra 2022 deve usar a forma com percent-encoding.
host Endereço do servidor. Coloque um endereço IPv6 entre colchetes, como [2001:db8::1].
port Porta do servidor.
plugin Opcional. O nome do plugin e suas opções, separados por ponto e vírgula e com percent-encoding, como simple-obfs;obfs=tls;obfs-host=cdn.example.com.
name Opcional. O nome do servidor no Potatso.

O Potatso também importa a forma mais antiga, em que tudo antes do # é codificado em Base64:

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

O Potatso aceita Base64 padrão e seguro para URL, com ou sem preenchimento =. Ao compartilhar um servidor, o Potatso oferece as formas Base64 e com percent-encoding do SIP002 e a forma mais antiga.

Cada exemplo mostra o link a importar. A senha nos exemplos AEAD é secret.

Um servidor básico com aes-256-gcm:

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

Um servidor 2022 com a chave de 16 bytes MTIzNDU2Nzg5MDEyMzQ1Ng==:

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

Um servidor 2022 com vários usuários, com a chave do servidor e a chave do usuário separadas por dois-pontos (%3A):

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

Simple Obfs com TLS, usando cdn.example.com como nome do servidor:

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

A forma mais antiga do servidor básico:

ss://YWVzLTI1Ni1nY206c2VjcmV0QHNzLmV4YW1wbGUuY29tOjgzODg#Legacy

Um servidor com endereço IPv6:

ss://YWVzLTI1Ni1nY206c2VjcmV0@[2001:db8::1]:8388#IPv6
Navegação

Type to search…

↑↓ navigate↵ selectEsc close