2012-04-20 13:10:49 +00:00
|
|
|
shadowsocks
|
2012-04-20 14:26:00 +00:00
|
|
|
===========
|
|
|
|
|
2013-01-01 18:31:16 +00:00
|
|
|
[![Build Status](https://travis-ci.org/clowwindy/shadowsocks.png)](https://travis-ci.org/clowwindy/shadowsocks)
|
2013-01-05 08:26:19 +00:00
|
|
|
Current version: 0.9.1
|
2012-12-30 04:28:23 +00:00
|
|
|
|
2012-04-20 14:26:00 +00:00
|
|
|
shadowsocks is a lightweight tunnel proxy which can help you get through firewalls
|
|
|
|
|
2013-01-04 10:13:33 +00:00
|
|
|
Other ports and clients can be found [here](https://github.com/clowwindy/shadowsocks/wiki/Ports-and-Clients).
|
|
|
|
|
2012-04-20 14:26:00 +00:00
|
|
|
usage
|
|
|
|
-----------
|
|
|
|
|
2012-12-10 06:39:22 +00:00
|
|
|
First, make sure you have Python 2.6 or 2.7.
|
|
|
|
|
|
|
|
$ python --version
|
|
|
|
Python 2.6.8
|
|
|
|
|
2012-12-30 05:28:51 +00:00
|
|
|
|
2012-12-10 06:39:22 +00:00
|
|
|
Then edit `config.json`, change the following values:
|
2012-04-20 14:26:00 +00:00
|
|
|
|
2012-11-02 09:36:57 +00:00
|
|
|
server your server ip or hostname
|
|
|
|
server_port server port
|
|
|
|
local_port local port
|
|
|
|
password a password used to encrypt transfer
|
2012-04-20 14:26:00 +00:00
|
|
|
|
2012-11-02 09:36:57 +00:00
|
|
|
Put all the files on your server. Run `python server.py` on your server. To run it in the background, run `nohup python server.py > log &`.
|
2012-04-20 14:26:00 +00:00
|
|
|
|
2012-11-02 09:36:57 +00:00
|
|
|
Put all the files on your client machine. Run `python local.py` on your client machine.
|
2012-04-20 14:26:00 +00:00
|
|
|
|
|
|
|
Change proxy settings of your browser into
|
|
|
|
|
2012-11-02 09:36:57 +00:00
|
|
|
SOCKS5 127.0.0.1:local_port
|
2012-04-20 14:26:00 +00:00
|
|
|
|
2012-12-12 07:19:51 +00:00
|
|
|
|
2012-12-06 06:39:06 +00:00
|
|
|
advanced
|
|
|
|
------------
|
|
|
|
|
|
|
|
You can use args to override settings from `config.json`.
|
|
|
|
|
|
|
|
python local.py -s server_name -p server_port -l local_port -k password
|
|
|
|
python server.py -p server_port -k password
|
2012-12-30 05:28:51 +00:00
|
|
|
|
|
|
|
You may want to install gevent for better performance.
|
|
|
|
|
2013-01-05 08:26:19 +00:00
|
|
|
$ sudo apt-get install python-gevent
|
2012-12-30 06:01:41 +00:00
|
|
|
|
|
|
|
Or:
|
|
|
|
|
2013-01-05 08:26:19 +00:00
|
|
|
$ sudo apt-get install libevent-dev python-pip
|
|
|
|
$ sudo pip install gevent
|
2012-12-30 06:01:41 +00:00
|
|
|
|
2012-12-12 07:19:51 +00:00
|
|
|
troubleshooting
|
|
|
|
---------------
|
|
|
|
|
|
|
|
* I can only load some websites
|
|
|
|
Check the logs of local.py. If you see only IPs, not hostnames, your may got DNS poisoned, but your browser hasn't
|
|
|
|
been configured to let the proxy resolve DNS.
|
|
|
|
To set proper DNS config, you can simply install FoxyProxy / Autoproxy for Firefox, or ProxySwitchy / SwitchySharp for
|
|
|
|
Chrome. They will set the config in your browser automatically.
|
|
|
|
Or you can change network.proxy.socks_remote_dns into true in about:config page if you use Firefox.
|
|
|
|
* I can't load any websites and the log prints mode != 1
|
|
|
|
Make sure proxy protocol is set to Socks5, not Socks4 or HTTP.
|
|
|
|
* I use IE and I can't get my proxy to work
|
|
|
|
Since you can't specify Socks4 or Socks5 in IE settings, you may want to use a PAC(Proxy auto-config) script, or
|
|
|
|
just use Firefox instead.
|
|
|
|
|