ShadowSocks - Encrypted Transport via SOCKS5

Orwell

VIP
Aug 30, 2019
7
3
38
SHADOWSOCKS SETUP - "jUMP tHE gREAT FiREWALL"

TESTED ON UBUNTU 16.04

https://shadowsocks.org/en/


Stetting up the client is fairly easy, thanks to a PPA. Trivial work. Obviously since this is a client, you would run these commands on the server you wish to connect from, to your encrypted transport.
This is just another "poorman's VPN" type option. Run the following commands; accept adding the PPA with enter.

Setting up the client:

Code:
sudo add-apt-repository ppa:hzwhuang/ss-qt5
sudo apt-get update
sudo apt-get install shadowsocks-qt5


The client should now be installed on your local host, or remote jumpbox, accessible via whatever means, physical access or VNC, or remote desktop solution you plan to use.

We're done with the client.


Setting up the Server:

For this you're going to need either a dedicated server or a VPS or cloud hosting provider such a Digital Ocean or VULTR etc. There are hundreds. Once you're logged into your server begin.
Run the following commands as root or sudo to your uid 0 user.
You may be asked to upgrade pip after
Code:
sudo apt-get install python-pip
You can do so with this command.

Code:
python -m pip install  -upgrade pip

Code:
apt-get update
apt-get install python-pip
apt-get install python-m2crypto
apt-get install build-essential


Let's get fuckin' salty with libsodium. After all, sysadmins do when you subvert their pathetic attempts at fire walling off infrastructure.

Compilng and installing the salt:

Code:
wget https://github.com/jedisct1/libsodium/releases/download/1.0.16/libsodium-1.0.16.tar.gz
tar xf libsodium-1.0.16.tar.gz && cd libsodium-1.0.16
./configure && make -j2
make install
ldconfig

In the following file created via your favorite text editor run the command: (I use nano, fuck off.)
Code:
nano /etc/shadowsocks.json


Inside your config file you'll need the following:

Code:
{
    "server":"YOUR_SERVER_IP_HERE",
    "server_port":8000,
    "local_port":1080,
    "password":"your_password",
    "timeout":600,
    "method":"aes-256-cfb"
}

Naturally you'll need to replace the variable on the first line in the quotes with your servers IP address. On the fourth line, input a reasonably secure and unreasonably unguessable password.
I prefer 16 to 20 character passwords consisting of Alpha Numeric Special Case. The last line can be whatever encryption the server supports. Read the Documentation for more information.
This proxy uses aes-256-cfb. After editing to your liking save the file.

Start the server using this command:

Code:
ssserver -c /etc/shadowsocks.json -d start

You're now ready to input the matched settings into your client, and connect to the proxy. Should you wish to auto start the proxy, you may wish to make modifications to another file on your system to auto start the proxy on reboot.
I prefer to use:
Code:
 /etc/rc.local

Code:
/usr/bin/python /usr/local/bin/ssserver -c /etc/shadowsocks.json -d start

before the
Code:
 exit 0


Now just configure Firefox etc to use the proxy via 127.0.0.1 on port 1080 or whatever port you set to use in shadowsocks.json.
You're done.
Happy hacking.

~Orwell
 
Last edited:
Top