shadowsocks/README.rst

155 lines
5.9 KiB
ReStructuredText
Raw Normal View History

shadowsocks
===========
2014-06-05 13:02:36 +00:00
|PyPI version| |Build Status|
2014-06-01 03:22:57 +00:00
2014-06-05 13:02:36 +00:00
A fast tunnel proxy that help you get through firewalls.
2014-05-17 07:43:19 +00:00
`中文说明 <https://github.com/clowwindy/shadowsocks/wiki/Shadowsocks-%E4%BD%BF%E7%94%A8%E8%AF%B4%E6%98%8E>`__
Install
-------
2014-06-20 15:23:14 +00:00
You'll have a client on your local machine, and install a server on a
remote server.
Client
~~~~~~
- `Windows <https://github.com/clowwindy/shadowsocks/wiki/Ports-and-Clients#windows>`__
/ `OS
X <https://github.com/clowwindy/shadowsocks/wiki/Ports-and-Clients#os-x>`__
- `Android <https://github.com/clowwindy/shadowsocks/wiki/Ports-and-Clients#android>`__
/
`iOS <https://github.com/clowwindy/shadowsocks/wiki/Ports-and-Clients#ios>`__
- `OpenWRT <https://github.com/clowwindy/shadowsocks/wiki/Ports-and-Clients#openwrt>`__
Server
~~~~~~
2014-05-17 07:43:19 +00:00
Debian / Ubuntu:
^^^^^^^^^^^^^^^^
::
2014-06-13 05:03:23 +00:00
apt-get install python-pip python-m2crypto
2014-05-17 07:43:19 +00:00
pip install shadowsocks
CentOS:
^^^^^^^
::
2014-05-17 07:43:19 +00:00
yum install m2crypto python-setuptools
easy_install pip
pip install shadowsocks
2014-06-20 15:23:14 +00:00
Configuration
-------------
2014-05-17 07:43:19 +00:00
2014-06-20 15:23:14 +00:00
On your server create a config file ``/etc/shadowsocks.json``. Example:
::
{
"server":"my_server_ip",
"server_port":8388,
2014-05-17 07:43:19 +00:00
"local_address": "127.0.0.1",
"local_port":1080,
2014-05-17 07:43:19 +00:00
"password":"mypassword",
"timeout":300,
"method":"aes-256-cfb",
"fast_open": false,
"workers": 1
}
2013-09-16 05:20:30 +00:00
Explanation of the fields:
2014-05-17 07:43:19 +00:00
+------------------+-----------------------------------------------------------------------------------------------------+
| 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 <https://github.com/clowwindy/shadowsocks/wiki/TCP-Fast-Open>`__, true / false |
+------------------+-----------------------------------------------------------------------------------------------------+
| workers | number of workers, available on Unix/Linux |
+------------------+-----------------------------------------------------------------------------------------------------+
Run ``ssserver -c /etc/shadowsocks.json`` on your server. To run it in
2014-06-01 03:22:57 +00:00
the background, use
`Supervisor <https://github.com/clowwindy/shadowsocks/wiki/Configure-Shadowsocks-with-Supervisor>`__.
2014-05-17 07:43:19 +00:00
2014-06-20 15:23:14 +00:00
On your client machine, use the same configuration as your server, and
start your client.
2014-06-20 15:23:14 +00:00
If you use Chrome, it's recommended to use
`SwitchySharp <https://chrome.google.com/webstore/detail/proxy-switchysharp/dpplabbmogkhghncfbfdeeokoefdjegm>`__.
Change the proxy settings to
::
protocol: socks5
hostname: 127.0.0.1
port: your local_port
2014-06-20 15:23:14 +00:00
If you can't install
`SwitchySharp <https://chrome.google.com/webstore/detail/proxy-switchysharp/dpplabbmogkhghncfbfdeeokoefdjegm>`__,
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 <https://support.google.com/installer/answer/126299>`__
installer for you.
2014-05-17 07:43:19 +00:00
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
2014-05-17 07:43:19 +00:00
ssserver -p server_port -k password -m bf-cfb --workers 2
ssserver -c /etc/shadowsocks/config.json
2014-06-20 15:23:14 +00:00
List all available args with ``-h``.
2014-05-17 07:43:19 +00:00
Wiki
----
2014-05-17 07:43:19 +00:00
https://github.com/clowwindy/shadowsocks/wiki
License
-------
MIT
Bugs and Issues
---------------
2014-07-06 15:43:50 +00:00
- `Troubleshooting <https://github.com/clowwindy/shadowsocks/wiki/Troubleshooting>`__
- `Issue
Tracker <https://github.com/clowwindy/shadowsocks/issues?state=open>`__
- `Mailing list <http://groups.google.com/group/shadowsocks>`__
2014-05-17 07:43:19 +00:00
2014-06-21 03:18:33 +00:00
.. |PyPI version| image:: https://img.shields.io/pypi/v/shadowsocks.svg?style=flat
2014-06-05 13:02:36 +00:00
:target: https://pypi.python.org/pypi/shadowsocks
2014-06-21 03:18:33 +00:00
.. |Build Status| image:: https://img.shields.io/travis/clowwindy/shadowsocks/master.svg?style=flat
:target: https://travis-ci.org/clowwindy/shadowsocks