---
title: "Shadowsocks"
description: "Le cifrature, i plugin, i link e le funzioni di Shadowsocks supportati da Potatso."
---

> 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

Un server Shadowsocks è descritto da una **cifratura** e da una **password**, e facoltativamente da un **plugin** che maschera la connessione. Potatso si connette a un server quando supporta la cifratura e, se presente, il plugin. Usa le tabelle qui sotto per controllare le impostazioni del tuo server, come le indica il tuo provider o come compaiono nel suo link `ss://`.

Puoi aggiungere un server Shadowsocks a mano, con un [link `ss://`](#links), oppure importando:

- una sottoscrizione Clash o Mihomo,
- una configurazione online [SIP008](https://shadowsocks.org/doc/sip008.html), da un file o da un link,
- un `config.json` di shadowsocks-rust o shadowsocks-libev,
- una configurazione Surge, oppure una configurazione Xray o V2Ray.

## Cifrature {#ciphers}

Preferisci una cifratura 2022 se il tuo server ne offre una, poi una cifratura AEAD. Le cifrature a flusso (stream) hanno debolezze note: usale solo con server che non offrono altro.

| Cifratura | Tipo | Supportata |
| --- | --- | --- |
| `2022-blake3-aes-128-gcm`, `2022-blake3-aes-256-gcm` | 2022 | ✅ Con [più utenti](#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` | Stream | ✅ |
| `aes-128-cfb`, `aes-192-cfb`, `aes-256-cfb` (scritta anche `-cfb128`) | Stream | ✅ |
| `aes-128-cfb1`, `aes-192-cfb1`, `aes-256-cfb1` | Stream | ✅ |
| `aes-128-cfb8`, `aes-192-cfb8`, `aes-256-cfb8` | Stream | ✅ |
| `aes-128-ofb`, `aes-192-ofb`, `aes-256-ofb` | Stream | ✅ |
| `camellia-128-ctr`, `camellia-192-ctr`, `camellia-256-ctr` | Stream | ✅ |
| `camellia-128-cfb`, `camellia-192-cfb`, `camellia-256-cfb` (scritta anche `-cfb128`) | Stream | ✅ |
| `camellia-128-cfb1`, `camellia-192-cfb1`, `camellia-256-cfb1` | Stream | ✅ |
| `camellia-128-cfb8`, `camellia-192-cfb8`, `camellia-256-cfb8` | Stream | ✅ |
| `camellia-128-ofb`, `camellia-192-ofb`, `camellia-256-ofb` | Stream | ✅ |
| `chacha20-ietf`, `chacha20`, `salsa20` | Stream | ✅ |
| `bf-cfb`, `rc4-md5`, `rc4`, `table` | Stream | ✅ |
| `none` (scritta anche `plain`) | Nessuna cifratura | ✅ |
| `cast5-cfb`, `des-cfb`, `idea-cfb`, `rc2-cfb`, `seed-cfb`, `rc4-md5-6` | Stream | ❌ Solo ShadowsocksR |
| `xchacha20`, `xsalsa20` | Stream | ❌ |

I nomi non distinguono maiuscole e minuscole, quindi `AES-256-GCM` funziona come `aes-256-gcm`.

`none` invia il tuo traffico senza cifratura. Usala solo con un plugin che cifra da sé la connessione, come v2ray-plugin con TLS.

Ogni cifratura supportata è testata con almeno un server Shadowsocks reale: [shadowsocks-rust](https://github.com/shadowsocks/shadowsocks-rust), [sing-box](https://sing-box.sagernet.org/) o il server Python originale. Tra le cifrature AEAD qui sopra, solo i server shadowsocks-rust offrono `aes-*-ccm`, `aes-*-gcm-siv` e `sm4-*`, e pochi provider le usano.

### Chiavi 2022 {#2022-keys}

Le cifrature 2022 ([SIP022](https://shadowsocks.org/doc/sip022.html)) non usano una password. Usano una chiave: byte casuali, codificati in Base64, della lunghezza richiesta dalla cifratura. `2022-blake3-aes-128-gcm` richiede una chiave di 16 byte e le altre cifrature 2022 una chiave di 32 byte. Usa la chiave esattamente come l'ha il tuo server.

Potatso non si connette con una chiave della lunghezza sbagliata, né con una password che non è in Base64. Per creare una nuova chiave per il tuo server, esegui `openssl rand -base64 16` per `2022-blake3-aes-128-gcm`, oppure `openssl rand -base64 32` per le altre cifrature 2022.

### Server con più utenti {#multi-user}

Un server 2022 può condividere una porta tra più utenti ([SIP023](https://shadowsocks.org/doc/sip023.html)). Ogni utente ha la propria chiave. Per questi server, imposta la password sulla chiave del server e sulla tua chiave utente, separate da due punti:

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

Solo `2022-blake3-aes-128-gcm` e `2022-blake3-aes-256-gcm` supportano i server con più utenti.

## Plugin {#plugins}

Un plugin avvolge la connessione Shadowsocks per renderla più difficile da rilevare. Potatso li ha integrati, quindi non c'è nient'altro da installare.

| Plugin | Nomi del plugin | Supportato | UDP |
| --- | --- | --- | --- |
| Simple Obfs | `obfs-local`, `simple-obfs`, `obfs` | ✅ `obfs=http` e `obfs=tls` | Inviato al server senza il plugin |
| v2ray-plugin | `v2ray-plugin` | ✅ WebSocket, con o senza TLS. La modalità QUIC non è supportata. | ❌ |
| gost-plugin | `gost-plugin` | ✅ WebSocket, con o senza TLS | ❌ |
| ShadowTLS | `shadow-tls` | ✅ Versioni 1, 2 e 3 | ❌ |
| Restls | `restls` | ✅ | ❌ |
| JLS | `jls` | ✅ | ❌ |

Potatso non importa un server che richiede un altro plugin:

- Cloak, xray-plugin e altri plugin sono programmi che il tuo dispositivo dovrebbe eseguire accanto a Potatso, cosa che iOS non consente.
- kcptun ed ech-tls-tunnel non sono ancora disponibili in Potatso.

### Impostare un plugin {#set-plugin}

Nelle impostazioni del server, scegli il plugin in **Plugin**, poi inserisci le sue opzioni in **Parametro plugin**. Le opzioni sono coppie `chiave=valore` separate da punti e virgola, come in questo esempio di Simple Obfs:

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

Una chiave da sola, come `tls`, attiva quell'opzione. Ometti le opzioni che non ti servono; le tabelle qui sotto indicano il valore predefinito di ciascuna.

Quando importi un server, Potatso imposta per te il plugin e le sue opzioni:

- Un [link `ss://`](#links) le contiene nel parametro `plugin`, dopo il nome del plugin: `simple-obfs;obfs=tls;obfs-host=cdn.example.com`.
- Una sottoscrizione Clash o Mihomo le contiene in `plugin` e `plugin-opts`.
- Una configurazione SIP008 o un `config.json` di shadowsocks-rust o shadowsocks-libev le contiene in `plugin` e `plugin_opts`.

Sono le stesse opzioni in ogni forma. Se il tuo provider le elenca una per riga, come in `plugin-opts` di Clash, scrivi ciascuna come `chiave=valore` e uniscile con punti e virgola.

### Opzioni dei plugin {#plugin-options}

**Simple Obfs**

| Opzione | Descrizione |
| --- | --- |
| `obfs` | Obbligatoria. `http` o `tls`. |
| `obfs-host` | L'intestazione `Host` (`http`) o il nome del server inviato nell'handshake TLS (`tls`). Se è vuota, Potatso usa l'indirizzo del server. |
| `obfs-uri` | Solo `http`. Il percorso della richiesta. Predefinito `/`. |
| `http-method` | Solo `http`. Il metodo della richiesta. Predefinito `GET`. |

**v2ray-plugin**

| Opzione | Descrizione |
| --- | --- |
| `mode` | `websocket`, il valore predefinito. La modalità QUIC non è supportata. |
| `tls` | Si connette tramite TLS. Disattivata per impostazione predefinita. |
| `host` | L'intestazione `Host` e il nome del server per TLS. Se è vuota, Potatso usa l'indirizzo del server. |
| `path` | Il percorso WebSocket. Predefinito `/`. |
| `mux` | Multiplexing. Disattivato per impostazione predefinita. Attivalo solo se il tuo server lo usa. |
| `skip-cert-verify` | Accetta qualsiasi certificato del server. Usala solo con un server di cui ti fidi. |
| `header` | Un'intestazione di richiesta aggiuntiva, come `header=Nome:Valore`. Ripetila per altre intestazioni. |

**gost-plugin**

| Opzione | Descrizione |
| --- | --- |
| `mode` | Obbligatoria. `websocket`. |
| `tls` | Si connette tramite TLS. Disattivata per impostazione predefinita. |
| `host` | L'intestazione `Host` e il nome del server per TLS. Predefinito `bing.com`, come in gost. |
| `path` | Il percorso WebSocket. Predefinito `/`. |
| `mux` | Multiplexing. Attivo per impostazione predefinita. |
| `skip-cert-verify` | Accetta qualsiasi certificato del server. Usala solo con un server di cui ti fidi. |
| `fingerprint` | L'impronta SHA-256 del certificato del server, per accettare solo quel certificato. |
| `header` | Un'intestazione di richiesta aggiuntiva, come `header=Nome:Valore`. Ripetila per altre intestazioni. |

**ShadowTLS**

| Opzione | Descrizione |
| --- | --- |
| `host` | Obbligatoria. Il nome del server del sito di copertura, come `www.example.com`. |
| `version` | Obbligatoria. `1`, `2` o `3`. |
| `password` | La password. Le versioni 2 e 3 la richiedono. |
| `alpn` | L'elenco ALPN, separato da virgole. Predefinito `h2,http/1.1`. |
| `skip-cert-verify` | Accetta qualsiasi certificato del sito di copertura. |

**Restls**

| Opzione | Descrizione |
| --- | --- |
| `host` | Obbligatoria. Il nome del server del sito di copertura. |
| `password` | Obbligatoria. La password. |
| `version-hint` | Obbligatoria. `tls13` o `tls12`, in base alla configurazione del tuo server. |
| `restls-script` | Lo script dei record, se il tuo provider ne fornisce uno. |

**JLS**

| Opzione | Descrizione |
| --- | --- |
| `host` | Obbligatoria. Il nome del server del sito di copertura. |
| `username` | Obbligatoria. Il nome utente. |
| `password` | Obbligatoria. La password. |
| `alpn` | L'elenco ALPN, separato da virgole. Predefinito `h2,http/1.1`. |

Potatso non si connette a un server quando manca un'opzione obbligatoria o un valore non è valido.

## UDP {#udp}

UDP è attivo per impostazione predefinita per i server Shadowsocks e funziona con ogni cifratura supportata. Disattivalo nelle impostazioni del server se il tuo server non inoltra UDP.

UDP non viene inviato tramite un plugin, quindi con un plugin diverso da Simple Obfs il server trasporta solo TCP. Potatso non supporta UDP-over-TCP (`udp-over-tcp` o `uot` in un link o in una sottoscrizione) e non importa un server che lo richiede.

## Funzioni supportate {#features}

| Funzione | Supportata |
| --- | --- |
| Link `ss://` [SIP002](https://shadowsocks.org/doc/sip002.html) | ✅ Compresa la vecchia forma Base64 |
| Plugin [SIP003](https://shadowsocks.org/doc/sip003.html) | Solo i [plugin integrati](#plugins) |
| SIP003u (UDP tramite un plugin) | ❌ |
| [Cifrature AEAD](https://shadowsocks.org/doc/aead.html) (SIP004) | ✅ |
| Configurazione online [SIP008](https://shadowsocks.org/doc/sip008.html) | ✅ |
| Cifrature 2022 [SIP022](https://shadowsocks.org/doc/sip022.html) | ✅ TCP e UDP |
| Intestazioni di identità multiutente [SIP023](https://shadowsocks.org/doc/sip023.html) | ✅ Per le cifrature AES 2022 |
| [Cifrature stream](https://shadowsocks.org/doc/stream.html) | ✅ Vedi [Cifrature](#ciphers) |
| UDP-over-TCP | ❌ |
| TCP Fast Open, MPTCP | ❌ |

Alcune funzioni di shadowsocks-rust sono impostazioni del suo programma client, `sslocal`, e Potatso svolge lo stesso compito a modo suo:

- Server locali SOCKS5, HTTP, tunnel, redir, DNS e TUN: Potatso cattura da sé il traffico del tuo dispositivo.
- Elenchi di controllo degli accessi (ACL): usa le regole del tuo profilo.
- Scegliere il più veloce tra più server: usa un gruppo proxy nel tuo profilo.

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

Un link `ss://` contiene un intero server in una riga ([SIP002](https://shadowsocks.org/doc/sip002.html)):

```text
ss://userinfo@host:port/?plugin=…#name
```

| Parte | Descrizione |
| --- | --- |
| `userinfo` | La cifratura e la password come `cipher:password`, codificate in Base64 o con percent-encoding. Una cifratura 2022 deve usare la forma con percent-encoding. |
| `host` | Indirizzo del server. Metti un indirizzo IPv6 tra parentesi quadre, come `[2001:db8::1]`. |
| `port` | Porta del server. |
| `plugin` | Facoltativo. Il nome del plugin e le sue opzioni, separati da punti e virgola e con percent-encoding, come `simple-obfs;obfs=tls;obfs-host=cdn.example.com`. |
| `name` | Facoltativo. Il nome del server in Potatso. |

Potatso importa anche la vecchia forma, in cui tutto ciò che precede il `#` è codificato in Base64:

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

Potatso accetta Base64 standard e URL-safe, con o senza il padding `=`. Quando Potatso condivide un server, offre le forme Base64 e con percent-encoding di SIP002 e la vecchia forma.

### Esempi {#link-examples}

Ogni esempio mostra il link da importare. La password negli esempi AEAD è `secret`.

Un server semplice con `aes-256-gcm`:

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

Un server 2022 con la chiave di 16 byte `MTIzNDU2Nzg5MDEyMzQ1Ng==`:

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

Un server 2022 con più utenti, con la chiave del server e la chiave utente separate da due punti (`%3A`):

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

Simple Obfs con TLS, usando `cdn.example.com` come nome del server:

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

La vecchia forma del server semplice:

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

Un server con un indirizzo IPv6:

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

Source: https://potatso.com/docs/it/protocols/shadowsocks/index.mdx
