How To Install Shadowsocks Proxy on Debian 10

Shadowsocks is a well-known sock5 proxy, it’s fast and easy to install. Compared to other clients shadowsocks is the most active developed sock5 proxy client and server. SOCK5 proxy usually uses port 1080, but it can use any port. Shadowsocks can run on TCP or UDP, so it’s really flexible to use depend on what you need.

The tutorial on installing shadowsocks separated into part server and client sides. The client can use almost any operating system such as Android, iPhone, Linux, macOS, or Windows.

This how to works on Ubuntu 20.04, Ubuntu 18.04, Debian 9 and Debian 10, it may work on other debian and it derivatives, but only tested on these Linux distro.

Shadowsocks Server

Shadowsocks ported to many different languages and not all the implementation are equal, the most complete is python, but for personal usage the Go version is the most make lightweight, it’s only offer the core feature of Shadowsocks.

Install Go 1.15

To run shadowsock golang version, go 1.15 must be installed.

wget https://golang.org/dl/go1.15.2.linux-amd64.tar.gz

Extract the go1.15.2.linux-amd64.tar.gz

tar -C /usr/local -xzf go1.15.2.linux-amd64.tar.gz

Download shadowsocks latest version

Use this method to download the latest version of shadowsocks from github, it often get bug fixed faster than binary.

/usr/local/go/bin/go get -u -v github.com/shadowsocks/go-shadowsocks2

Start Shadowsocks server

Start shadowsocks in verbose mode to check if something goes wrong

~/go/bin/go-shadowsocks2  -s 'ss://AEAD_CHACHA20_POLY1305:PASSWORD@:8488' -verbose

shadowsock server connected

Shadowsocks Client

From client we’ll need to open 2 tab, 1 connect to the server, another one to test connection.

Install Shadowsock Client

On your computer or different server install shadowsock client

sudo apt install shadowsocks-libev -y

Connect to Shadowsocks server

On first tab connect to the server use following command

ss-local -s SERVER-IP -p SERVER-PORT -k SERVER-PASSWORD -m chacha20-ietf-poly1305 -l 1080

on second tab, check the ip address

curl --socks5-hostname 127.0.0.1:1080 icanhazip.com

the output should IP address of Shadowsock server
shadowsocks client connection

Leave a Comment