Cos'è Shadowsocks?

In breve

Supera le restrizioni con Shadowsocks, difficile da rilevare; SOCKS5 e AEAD, differenze con la VPN, configurazione semplice di client e server.

Non vuoi configurare il server da solo? Ottieni un server pronto
Cos'è Shadowsocks?

Shadowsocks è un protocollo gratuito di cifratura per la trasmissione dati, open source e basato sulla tecnologia SOCKS5.

Questo protocollo è stato sviluppato in Cina per bypassare il Grande Firewall cinese, e lo fa con successo.

Quando un sito viene bloccato, significa che non puoi raggiungerne l'indirizzo IP. Quindi, se provi ad aprire un sito bloccato, prima ti connetti al server del tuo provider Internet, poi al sito stesso, senza successo. Se usi un proxy, ti connetti al server del provider, poi al proxy e solo dopo accedi al sito.

Shadowsocks si basa sul protocollo proxy SOCKS5, che protegge la connessione con la crittografia AEAD, funzionando in modo simile a un tunnel SSH. AEAD è considerata una forma di crittografia semplice, quindi meno sicura.

Shadowsocks somiglia a una rete privata virtuale (VPN), ma quest’ultima utilizza una cifratura più avanzata che la rende più sicura. Tuttavia, il metodo semplice di cifratura di Shadowsocks è più difficile da rilevare perché sembra una normale connessione HTTPS.

Vantaggi di Shadowsocks

  • Configurazione del server facile: più avanti ti mostrerò che una configurazione standard richiede solo 5 righe, senza necessità di certificati. D’altronde, non stiamo creando una rete bancaria.
  • Configurazione del client semplice. Client disponibili per quasi tutto, senza esagerare. La configurazione del client è la stessa, solo 5 righe.
  • Il client non richiede permessi da amministratore. Anzi, si può installare anche tramite pip. Così qualsiasi sviluppatore può connettersi dall’ufficio.
  • Gestione dell’accesso a livello di singole applicazioni molto semplice. Nel browser, con estensioni come FoxyProxy/OmegaSwitchy addirittura si possono definire regole complesse per singoli indirizzi. Con le VPN questo si ottiene solo avviando proxy locali su ogni client.
  • A differenza delle VPN, che su molte piattaforme funzionano tramite scheda di rete virtuale, il client Shadowsocks non scompare in caso di interruzione della connessione. Quindi il tuo traffico non viaggia mai in chiaro per conto suo. Inoltre, anche se l’app Shadowsocks si chiude, i programmi non si connetteranno direttamente, a meno che non siano appositamente configurati. Le VPN richiedono un kill-switch, spesso poco affidabile, soprattutto su Windows, e con effetti collaterali.
  • Rispetto a un tunnel SSH, offre una larghezza di banda maggiore e supporta migliaia di client con numerose connessioni ciascuno. Il tunnel SSH, ad esempio usato per i torrent, si rallenta molto facilmente; la rete imperfetta ne influisce pesantemente, mentre Shadowsocks non ne risente.
  • Trasmette meno informazioni tecniche sulle connessioni, risparmiando la batteria su dispositivi mobili.
  • Esistono versioni esotiche di server sotto forma di librerie per vari linguaggi. Quindi puoi integrare un server direttamente nella tua applicazione e cifrare l’accesso ai tuoi client.
  • Configurazione grafica dei client. Puoi generare un codice QR che, scansionato, configura automaticamente i client su dispositivi mobili e Windows. Imposti un client Windows, crei il codice, lo distribuisci a 20 smartphone in un minuto. Puoi anche metterlo sul sito o affiggerlo su una parete.

Svantaggi di Shadowsocks

  • A differenza di OpenVPN, non ha mai superato una revisione ufficiale. Molti l’hanno esaminato, visto che il codice è aperto e compatto, ma ufficialmente no.
  • Non supporta la distinzione tra utenti. Puoi configurare l’ascolto su più porte con password diverse, ma su una singola porta c’è una sola password. Sapere la password non permette (in teoria) di intercettare un altro abbonato sulla stessa porta.
  • Non può fare port forwarding inverso. Tutti stanno “dietro NAT”. Devi ricorrere a un tunnel SSH, se possibile.
  • Il client Android mostra ben due notifiche non rimovibili. Se non le nascondi, sono abbastanza fastidiose.
  • Ci sono alcune applicazioni Windows testarde che non funzionano con Shadowsocks, qualsiasi configurazione tu faccia. Purtroppo lo sviluppatore può programmare l’apertura di connessioni ignorando le impostazioni proxy, cosa che avviene spesso per verifiche di licenze. Più avanti spiegherò un trucco per individuarle.
  • La latenza della connessione è leggermente superiore a quella di OpenVPN. Non è molta, si può giocare lo stesso, ma c’è.
  • Non comprime il traffico con un archiviatore. Oggi con HTTPS non è un grosso problema, ma per file di testo non compressi o immagini ISO di Ubuntu, si nota la differenza.
  • La documentazione è scritta da cinesi, in un inglese “made in China”, con molte omissioni e contraddizioni.

Differenze tra Shadowsocks e VPN

La differenza principale sta nel fatto che la VPN è una rete completamente criptata, mentre Shadowsocks crittografa solo i dati tra te e il proxy, senza fornire completa anonimato online.

Shadowsocks usa TCP e HTTPS, che non offrono lo stesso livello di sicurezza delle VPN, ma permettono di aggirare le restrizioni garantendo una velocità di connessione superiore.


Condividi questo articolo: