|
|
|
shadowsocks
|
|
|
|
===========
|
|
|
|
|
|
|
|
Current version: 1.4.2 [![Build Status][1]][0]
|
|
|
|
|
|
|
|
shadowsocks is a lightweight tunnel proxy which can help you get through firewalls.
|
|
|
|
|
|
|
|
Both TCP CONNECT and UDP ASSOCIATE are implemented.
|
|
|
|
|
|
|
|
[中文说明][3]
|
|
|
|
|
|
|
|
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][7]
|
|
|
|
|
|
|
|
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][2], true / false |
|
|
|
|
|
|
|
|
Run `ssserver -c /etc/shadowsocks.json` on your server. To run it in the background, [use supervisor][8].
|
|
|
|
|
|
|
|
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][5]
|
|
|
|
|
|
|
|
Mailing list: http://groups.google.com/group/shadowsocks
|
|
|
|
|
|
|
|
Also see [troubleshooting][6]
|
|
|
|
|
|
|
|
[0]: https://travis-ci.org/clowwindy/shadowsocks
|
|
|
|
[1]: https://travis-ci.org/clowwindy/shadowsocks.png?branch=master
|
|
|
|
[2]: https://github.com/clowwindy/shadowsocks/wiki/TCP-Fast-Open
|
|
|
|
[3]: https://github.com/clowwindy/shadowsocks/wiki/Shadowsocks-%E4%BD%BF%E7%94%A8%E8%AF%B4%E6%98%8E
|
|
|
|
[4]: http://chandlerproject.org/Projects/MeTooCrypto
|
|
|
|
[5]: https://github.com/clowwindy/shadowsocks/issues?state=open
|
|
|
|
[6]: https://github.com/clowwindy/shadowsocks/wiki/Troubleshooting
|
|
|
|
[7]: https://github.com/clowwindy/shadowsocks/wiki/Ports-and-Clients
|
|
|
|
[8]: https://github.com/clowwindy/shadowsocks/wiki/Configure-Shadowsocks-with-Supervisor
|