Python port of ShadowsocksR
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 0fd2f30911 lint code 10 years ago
debian * still package issue 10 years ago
shadowsocks lint code 10 years ago
tests fix python 3 tests 10 years ago
.gitignore add nodelay 11 years ago
.travis.yml drop table support in python 3 10 years ago
CHANGES bump 10 years ago
CONTRIBUTING.md Update CONTRIBUTING.md 10 years ago
LICENSE bump year 10 years ago
MANIFEST.in include LICENSE in package tar 10 years ago
README.md remove m2crypto from readme 10 years ago
README.rst bump 10 years ago
setup.py update setup.py 10 years ago

README.md

shadowsocks

PyPI version Build Status

A fast tunnel proxy that helps you bypass 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
pip install shadowsocks

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

CentOS:

yum install python-setuptools
easy_install pip
pip install shadowsocks

Windows:

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/server.py instead of ssserver command below.

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 default: "aes-256-cfb", see Encryption
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

You can find all the documentation in the wiki: https://github.com/clowwindy/shadowsocks/wiki

License

MIT

Bugs and Issues