3.7 KiB
shadowsocks
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 build-essential python-pip python-m2crypto python-dev
pip install gevent 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,
"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, 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
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 --workers 2
ssserver -c /etc/shadowsocks/config.json
gevent
If you suffer from any strange problem when you have installed gevent 0.9.x, install a new version.
pip install gevent --upgrade
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