You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
clowwindy af5455c820 fix test 6 years ago
debian * still package issue 6 years ago
shadowsocks fix test 6 years ago
tests support color 6 years ago
.gitignore add jenkins 6 years ago fix fastopen and add a new test 6 years ago
.travis.yml fix travis 6 years ago
CHANGES bump 6 years ago Update 6 years ago
LICENSE bump year 6 years ago include LICENSE in package tar 6 years ago update url in readme 6 years ago
README.rst update url 6 years ago update project url 6 years ago


PyPI version Build Status Coverage Status

A fast tunnel proxy that helps you bypass firewalls.



You’ll have a client on your local side, and setup a server on a remote server.



Debian / Ubuntu:

apt-get install python-pip
pip install shadowsocks

Or simply apt-get install shadowsocks if you have Debian sid in your source list.


yum install python-setuptools
easy_install pip
pip install shadowsocks


Download OpenSSL for Windows and install. Then install shadowsocks via easy_install and pip as Linux. If you don’t know how to use them, you can directly download the package, and use python shadowsocks/ instead of ssserver command below.


On your server create a config file /etc/shadowsocks.json. Example:

    "local_address": "",
    "fast_open": false

Explanation of the fields:

Name Explanation
server the address your server listens
server_port server port
local_address the address your local listens
local_port local port
password password used for encryption
timeout in seconds
method default: “aes-256-cfb”, see Encryption
fast_open use TCP_FASTOPEN, true / false
workers number of workers, available on Unix/Linux

On your server:

To run in the foreground:

ssserver -c /etc/shadowsocks.json

To run in the background:

ssserver -c /etc/shadowsocks.json -d start
ssserver -c /etc/shadowsocks.json -d stop

On your client machine, use the same configuration as your server. Check the README of your client for more information.

Command Line Options

Check the options via -h.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 --workers 2
ssserver -c /etc/shadowsocks/config.json -d start --pid-file=/tmp/
ssserver -c /etc/shadowsocks/config.json -d stop --pid-file=/tmp/


You can find all the documentation in the wiki:



Bugs and Issues