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.
Find a file
2014-07-04 22:01:10 +03:00
packaging/py2exe add bind address 2013-06-14 12:22:24 +08:00
shadowsocks add EWOULDBLOCK to fix Windows; close #138 2014-07-04 22:01:10 +03:00
tests close #132 2014-06-18 15:50:17 +08:00
.gitignore add nodelay 2014-05-01 11:44:36 +08:00
.travis.yml close #132 2014-06-18 15:50:05 +08:00
CHANGES bump 2014-06-23 22:26:46 +08:00
config.json add test 2014-05-03 23:04:49 +08:00
CONTRIBUTING.md Update CONTRIBUTING.md 2014-07-03 23:59:33 +03:00
LICENSE move to pypi 2013-06-22 17:30:31 +08:00
README.md Update README.md 2014-06-23 17:12:16 +08:00
README.rst update readme 2014-06-21 11:18:33 +08:00
setup.py bump 2014-06-23 22:26:46 +08:00
test.py refine test 2014-06-20 22:58:01 +08:00
test_latency.py add latency test 2014-05-02 10:27:57 +08:00

shadowsocks

PyPI version Build Status

A fast tunnel proxy that help you get through firewalls.

中文说明

Install

You'll have a client on your local machine, and install a server on a remote server.

Client

Server

Debian / Ubuntu:

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

CentOS:

yum install m2crypto python-setuptools
easy_install pip
pip install shadowsocks

Configuration

On your server create a config file /etc/shadowsocks.json. 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,
    "workers": 1
}

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
workers number of workers, available on Unix/Linux

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

On your client machine, use the same configuration as your server, and start your client.

If you use Chrome, it's recommended to use SwitchySharp. Change the proxy settings to

protocol: socks5
hostname: 127.0.0.1
port:     your local_port

If you can't install SwitchySharp, you can launch Chrome with the following arguments to force Chrome to use the proxy:

Chrome.exe --proxy-server="socks5://127.0.0.1:1080" --host-resolver-rules="MAP * 0.0.0.0 , EXCLUDE localhost"

If you can't even download Chrome, find a friend to download a Chrome Standalone installer for you.

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 --workers 2
ssserver -c /etc/shadowsocks/config.json

List all available args with -h.

Wiki

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

License

MIT

Bugs and Issues