Skip to content


Subversion checkout URL

You can clone with
Download ZIP
a lightweight tunnel proxy which can help you get through firewalls
Pull request Compare This branch is 53 commits ahead, 1 commit behind shadowsocks:rm.
Fetching latest commit...
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


Build Status
Current version: 0.9.2

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

Then edit config.json, change the following values:

server          your server ip or hostname
server_port     server port
local_port      local port
password        a password used to encrypt transfer

Put all the files on your server. Run python on your server. To run it in the background, run nohup python > log &.

Put all the files on your client machine. Run python on your client machine.

Change proxy settings of your browser into



You can use args to override settings from config.json.

python -s server_name -p server_port -l local_port -k password
python -p server_port -k password

You may want to install gevent for better performance.

$ sudo apt-get install python-gevent


$ sudo apt-get install libevent-dev python-pip
$ sudo pip install gevent


  • I can only load some websites
    Check the logs of If you see only IPs, not hostnames, your may got DNS poisoned, but your browser hasn't been configured to let the proxy resolve DNS.
    To set proper DNS config, you can simply install FoxyProxy / Autoproxy for Firefox, or ProxySwitchy / SwitchySharp for Chrome. They will set the config in your browser automatically.
    Or you can change network.proxy.socks_remote_dns into true in about:config page if you use Firefox.
  • I can't load any websites and the log prints mode != 1
    Make sure proxy protocol is set to Socks5, not Socks4 or HTTP.
  • I use IE and I can't get my proxy to work
    Since you can't specify Socks4 or Socks5 in IE settings, you may want to use a PAC(Proxy auto-config) script, or just use Firefox instead.
Something went wrong with that request. Please try again.