Shadowsocks è un proxy che aggiunge un grado di sicurezza in più grazie all’implementazione di un meccanismo di sicurezza. Creato nel 2012, Shadowsocks è progettato principalmente per aggirare il geoblocking e la censura di Internet. Shadowsocks è open source e funziona utilizzando il protocollo Socks5 per trasferire pacchetti di dati tra server e client in modo sicuro. In questo articolo vediamo come utilizzare una VPS per crearci uno Shadowsocks server.
Scegliere la VPS
Grazie al suo bassissimo footprint, Shadowsocks può essere tranquillamente installato e configurato su una VPS con caratteristiche minime. Andiamo quindi a cuor leggero e scegliamo la VPS più economica del nostro Cloud provider preferito.
Pull dell'immagine Docker di Shadowsocks
Al fine di questo tutorial utilizzeremo Docker, pertanto, è possibile installare sulla VPS il sistema operativo che si preferisce, a patto che si provveda poi ad installare i servizi Docker.
Dando quindi per scontato di avere già installato sulla nostra VPS sia il Sistema Operativo sia Docker, eseguiamo il pull dell’immagine Docker di Shadowsocks usando questo comando:
docker pull shadowsocks/shadowsocks-libev
L’immagine utilizzata è quella ufficiale del progetto ed è reperibile qui: https://hub.docker.com/r/shadowsocks/shadowsocks-libev
Avvio del server Shadowsocks
Procediamo quindi all’avvio del server di Shadowsocks istanziando un Docker container. Lanciamo il seguente comando:
docker run -e PASSWORD=myStrongPassword -p 5544:8388 -p 5544:8388/udp -d shadowsocks/shadowsocks-libev
Configurazione del client e test
La configurazione del nostro Shadowsocks server è completata. Possiamo ora scegliere il client che più ci piace ed eseguire dei test di funzionamento. Possiamo trovare un elenco dei client disponibili a questo link. Per questo tutorial ho optato per il client shadowsocks-electron che è fornito sottoforma di snap.
Inseriamo i campi necessari come l’IP della nostra VPS, la porta e la password che abbiamo specificato in fase di istanziamento del container e l’algoritmo di crittografia che di default è aes-256-gcm. Salviamo e proviamo a connetterci al server.