Un server Snell è descritto da una PSK (chiave precondivisa) e dalla sua versione, e facoltativamente da un offuscamento. Snell è il protocollo proxy del team di Surge. La versione del client deve corrispondere a quella del server, quindi controllala per prima: è il version nella configurazione Surge del tuo provider, oppure la release di snell-server che esegue il tuo server.
Puoi aggiungere un server Snell a mano, con un link snell://, oppure importando:
- una sottoscrizione Clash o Mihomo,
- una configurazione Surge.
Versioni
| Versione | Supportata | Testata con |
|---|---|---|
| v1, v2 | ❌ | |
| v3 | ✅ | open-snell |
| v4 | ✅ | snell-server v4 |
| v5 | ✅ Senza QUIC Proxy Mode | snell-server v5 |
| v6 | ✅ | snell-server v6 |
Un server v5 accetta anche client v4, e un server v4 accetta un client impostato su v5. Ogni altra combinazione di versioni non si connette.
Il QUIC Proxy Mode della v5 è un modo in cui Surge inoltra il traffico QUIC. Potatso inoltra invece QUIC come qualsiasi altro traffico UDP, quindi QUIC funziona comunque.
Snell v6 è in beta presso Surge e potrebbe ancora cambiare in modi che interrompono i client più vecchi. Mantieni sul server la versione consigliata dal tuo provider.
Offuscamento
| Offuscamento | v3 | v4, v5 | v6 |
|---|---|---|---|
| Nessuno | ✅ | ✅ | ✅ |
| HTTP | ✅ | ✅ | |
| TLS | ✅ | ❌ I server offrono solo HTTP |
L'offuscamento fa sembrare l'inizio della connessione una richiesta HTTP o un handshake TLS. Deve corrispondere all'impostazione obfs del server. Imposta l'host di offuscamento sul nome host che ti dà il tuo provider: senza di esso, Potatso usa bing.com, come fa Clash.
Un server v6 non ha offuscamento. Modella invece il proprio traffico a partire dalla PSK, e per questo non richiede nulla sul tuo dispositivo.
Modalità v6
| Modalità | Supportata |
|---|---|
default: cifratura e modellazione del traffico |
✅ |
unshaped: cifratura senza modellazione del traffico |
✅ |
unsafe-raw: nessuna cifratura, nessuna modellazione |
✅ |
La modalità deve corrispondere all'impostazione mode del server. unsafe-raw invia il tuo traffico così com'è e non controlla la PSK: usala solo all'interno di un altro tunnel sicuro.
Riutilizzo delle connessioni
Con Riutilizza connessioni attivo, Potatso mantiene aperta una connessione Snell quando la connessione a un sito web termina, e la usa per la successiva. Questo risparmia un round trip. Il riutilizzo funziona con la v4 e successive. I server v3 non riutilizzano mai una connessione, quindi l'impostazione non compare per la v3.
UDP
Snell v3 e successive trasportano UDP dentro la connessione Snell. UDP è disattivato per impostazione predefinita, come in Clash. Attiva Relay UDP nelle impostazioni del server se il tuo server inoltra UDP. Una configurazione Surge lo attiva sempre, come fa Surge.
Con un server v5, le risposte UDP più grandi di circa 2,5 KB arrivano troncate: il server le invia in una forma che solo Surge legge. La maggior parte del traffico UDP, come DNS, QUIC e chiamate, usa pacchetti più piccoli. Un server v4 o v6 non ha questo problema.
Impostazioni Surge
Potatso importa le righe snell di una configurazione Surge:
Snell = snell, snell.example.com, 8443, psk=secret, version=4, obfs=http, obfs-host=bing.com, reuse=true| Impostazione | Supportata |
|---|---|
psk |
✅ |
version |
✅ Da 3 a 6. Senza version, Surge usa la v1, quindi Potatso non importa la riga. |
obfs, obfs-host |
✅ Vedi Offuscamento |
obfs-uri |
❌ |
reuse |
✅ |
mode |
✅ Solo v6 |
udp-port |
❌ |
shadow-tls-password |
❌ |
tfo |
❌ Ignorata |
Potatso non importa una riga che richiede una delle impostazioni non supportate, né obfs=tls con la v4 o successive, perché non potrebbe connettersi a quel server.
Funzioni supportate
| Funzione | Supportata |
|---|---|
| Snell v3, v4, v5 e v6 | ✅ |
| Snell v1, v2 | ❌ |
| Offuscamento HTTP (da v3 a v5), offuscamento TLS (v3) | ✅ |
| Modalità v6 | ✅ |
| Riutilizzo delle connessioni (v4 e successive) | ✅ |
| UDP (v3 e successive) | ✅ |
| QUIC Proxy Mode della v5 | ❌ QUIC passa invece su UDP |
| ShadowTLS, Restls o JLS attorno a Snell | ❌ |
Link snell:// |
✅ |
Ogni versione supportata è testata con un server Snell reale: snell-server v4, v5 e v6 di Surge, e open-snell per la v3, dato che Surge non offre più server v3.
Quando la PSK, la versione o l'offuscamento non corrispondono, il server chiude la connessione. Controlla prima questi tre elementi quando un server Snell non si connette mai.
Link snell://
Snell non ha un formato di link ufficiale. Potatso legge e condivide i server Snell così:
snell://psk@host:port?version=4&obfs=http&obfs-host=bing.com#name| Parte | Descrizione |
|---|---|
psk |
La PSK, con percent-encoding. |
host |
Indirizzo del server. Metti un indirizzo IPv6 tra parentesi quadre, come [2001:db8::1]. |
port |
Porta del server. |
version |
La versione di Snell, 4 se manca. |
obfs, obfs-host |
L'offuscamento e il suo nome host. |
name |
Facoltativo. Il nome del server in Potatso. |
Esempi
Ogni esempio mostra il link da importare. La PSK è secret.
Un server v4:
snell://secret@snell.example.com:8443?version=4#BasicUn server v4 con offuscamento HTTP:
snell://secret@snell.example.com:8443?version=4&obfs=http&obfs-host=bing.com#HTTP