shadowsocks is a lightweight tunnel proxy which can help you get through firewalls
Other ports and clients can be found here.
First, make sure you have Python 2.6 or 2.7.
$ python --version Python 2.6.8
Install shadowsocks.
pip install shadowsocks
Create a file named config.json
, with the following content.
{ "server":"my_server_ip", "server_port":8388, "local_port":1080, "password":"barfoo!", "timeout":600, "method":null }
Explanation of the fields:
server your server IP (IPv4/IPv6), notice that your server will listen to this IP server_port server port local_port local port password a password used to encrypt transfer timeout in seconds method encryption method, "bf-cfb", "aes-256-cfb", "des-cfb", "rc4", etc. Default is table
cd
into the directory of config.json
. Run ssserver
on your
server. To run it in the background, run nohup ssserver > log &
.
On your client machine, run sslocal
.
Change the proxy settings in your browser to
protocol: socks5 hostname: 127.0.0.1 port: your local_port
You can use args to override settings from config.json
.
sslocal -s server_name -p server_port -l local_port -k password -m bf-cfb ssserver -p server_port -k password -m bf-cfb ssserver -c /etc/shadowsocks/config.json
If you want to use non-default encryption methods like "bf-cfb", please install M2Crypto.
Ubuntu:
sudo apt-get install python-m2crypto
Others:
pip install M2Crypto
You may want to install gevent for better performance.
$ sudo apt-get install python-gevent
Or:
$ sudo apt-get install libevent-dev python-pip $ sudo pip install gevent
MIT
Please visit issue tracker