A fast tunnel proxy that helps you bypass firewalls. regulation cause this repo to get truncated, but there is still some history there. And tags.
Go to file
clowwindy 6caeabd03d fix a potential RST problem 2014-05-10 01:22:26 +08:00
packaging/py2exe add bind address 2013-06-14 12:22:24 +08:00
shadowsocks fix a potential RST problem 2014-05-10 01:22:26 +08:00
test add test 2014-05-03 23:04:49 +08:00
.gitignore add nodelay 2014-05-01 11:44:36 +08:00
.travis.yml add test 2014-05-03 23:04:49 +08:00
CHANGES bump 2014-05-10 01:13:18 +08:00
LICENSE move to pypi 2013-06-22 17:30:31 +08:00
README.md bump 2014-05-10 01:13:18 +08:00
README.rst Fixed a few typos in the documentation 2013-09-15 23:20:30 -06:00
config.json add test 2014-05-03 23:04:49 +08:00
setup.py bump 2014-05-10 01:13:18 +08:00
test.py add test 2014-05-03 23:04:49 +08:00
test_latency.py add latency test 2014-05-02 10:27:57 +08:00

README.md

shadowsocks

Current version: 1.4.2 Build Status

shadowsocks is a lightweight tunnel proxy which can help you get through firewalls.

Both TCP CONNECT and UDP ASSOCIATE are implemented.

中文说明

Install

First, make sure you have Python 2.6 or 2.7.

$ python --version
Python 2.6.8

Install Shadowsocks.

Debian / Ubuntu:

apt-get install python-pip python-gevent python-m2crypto
pip install shadowsocks

CentOS:

yum install m2crypto python-setuptools
easy_install pip
pip install shadowsocks

OS X:

git clone https://github.com/clowwindy/M2Crypto.git
cd M2Crypto
pip install .
pip install shadowsocks

Windows:

Choose a GUI client

Usage

Create a config file /etc/shadowsocks.json (or put it in other path). Example:

{
    "server":"my_server_ip",
    "server_port":8388,
    "local_address": "127.0.0.1",
    "local_port":1080,
    "password":"mypassword",
    "timeout":300,
    "method":"aes-256-cfb",
    "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 encryption method, "aes-256-cfb" is recommended
fast_open use TCP_FASTOPEN, true / false

Run ssserver -c /etc/shadowsocks.json on your server. To run it in the background, use supervisor.

On your client machine, run sslocal -c /etc/shadowsocks.json.

Change the proxy settings in your browser to

protocol: socks5
hostname: 127.0.0.1
port:     your local_port

Notice: If you want to use encryption methods other than "table", please install M2Crypto (See Encryption Section).

It's recommended to use shadowsocks with AutoProxy or Proxy SwitchySharp.

Command line args

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

Salsa20

Salsa20 is a fast stream cipher.

Use "salsa20-ctr" in shadowsocks.json.

And install these packages:

Debian / Ubuntu:

apt-get install python-numpy
pip install salsa20

Wiki

https://github.com/clowwindy/shadowsocks/wiki

License

MIT

Bugs and Issues

Please visit issue tracker

Mailing list: http://groups.google.com/group/shadowsocks

Also see troubleshooting