---
title: "Shadowsocks"
description: "As cifras, plugins, links e recursos do Shadowsocks que o Potatso suporta."
---

> Documentation Index
> Fetch the complete documentation index at: https://potatso.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Shadowsocks

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://`](#links), ou importando:

- uma assinatura Clash ou Mihomo,
- uma configuração online [SIP008](https://shadowsocks.org/doc/sip008.html), 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 {#ciphers}

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](#multi-user) |
| `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](https://github.com/shadowsocks/shadowsocks-rust), [sing-box](https://sing-box.sagernet.org/) 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 {#2022-keys}

As cifras 2022 ([SIP022](https://shadowsocks.org/doc/sip022.html)) 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 {#multi-user}

Um servidor 2022 pode compartilhar uma porta entre vários usuários ([SIP023](https://shadowsocks.org/doc/sip023.html)). 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:

```text
server-key:user-key
```

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

## Plugins {#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 {#set-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:

```text
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://`](#links) 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 {#plugin-options}

**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 {#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 {#features}

| Recurso | Suportado |
| --- | --- |
| Links `ss://` [SIP002](https://shadowsocks.org/doc/sip002.html) | ✅ Incluindo a forma Base64 mais antiga |
| Plugins [SIP003](https://shadowsocks.org/doc/sip003.html) | Somente os [plugins integrados](#plugins) |
| SIP003u (UDP por um plugin) | ❌ |
| [Cifras AEAD](https://shadowsocks.org/doc/aead.html) (SIP004) | ✅ |
| Configuração online [SIP008](https://shadowsocks.org/doc/sip008.html) | ✅ |
| Cifras 2022 [SIP022](https://shadowsocks.org/doc/sip022.html) | ✅ TCP e UDP |
| Cabeçalhos de identidade para vários usuários [SIP023](https://shadowsocks.org/doc/sip023.html) | ✅ Para as cifras AES 2022 |
| [Cifras de fluxo](https://shadowsocks.org/doc/stream.html) | ✅ Veja [Cifras](#ciphers) |
| 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.

## Links `ss://` {#links}

Um link `ss://` guarda um servidor inteiro em uma linha ([SIP002](https://shadowsocks.org/doc/sip002.html)):

```text
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:

```text
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.

### Exemplos {#link-examples}

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

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

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

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

```text
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`):

```text
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:

```text
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:

```text
ss://YWVzLTI1Ni1nY206c2VjcmV0QHNzLmV4YW1wbGUuY29tOjgzODg#Legacy
```

Um servidor com endereço IPv6:

```text
ss://YWVzLTI1Ni1nY206c2VjcmV0@[2001:db8::1]:8388#IPv6
```

Source: https://potatso.com/docs/pt-br/protocols/shadowsocks/index.mdx
