debian | ||
shadowsocks | ||
tests | ||
.gitignore | ||
.travis.yml | ||
CHANGES | ||
CONTRIBUTING.md | ||
LICENSE | ||
MANIFEST.in | ||
README.md | ||
README.rst | ||
setup.py |
shadowsocks
A fast tunnel proxy that helps you bypass firewalls.
Install
You'll have a client on your local side, and setup 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