diff --git a/Home.md b/Home.md index 4f489dd..38b1f2c 100644 --- a/Home.md +++ b/Home.md @@ -1,30 +1,64 @@ shadowsocks =========== +[![Build Status](https://travis-ci.org/clowwindy/shadowsocks.png)](https://travis-ci.org/clowwindy/shadowsocks) +Current version: 0.9 + shadowsocks is a lightweight tunnel proxy which can help you get through firewalls usage ----------- -Put `server.py` on your server. Edit `server.py`, change the following values: +First, make sure you have Python 2.6 or 2.7. - PORT server port - KEY a password to identify clients + $ python --version + Python 2.6.8 -Run `python server.py` on your server. To run it in the background, run `setsid python server.py`. -If you want to listen to IPv6 port, run `python server.py -6`. +Then edit `config.json`, change the following values: -Put `local.py` on your client machine. Edit `local.py`, change these values: + server your server ip or hostname + server_port server port + local_port local port + password a password used to encrypt transfer - SERVER your server ip or hostname - REMOTE_PORT server port - PORT local port - KEY a password, it must be the same as the password of your server +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 &`. -Run `python local.py` on your client machine. +Put all the files on your client machine. Run `python local.py` on your client machine. Change proxy settings of your browser into - SOCKS5 127.0.0.1:PORT + SOCKS5 127.0.0.1:local_port + + +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 + +You may want to install gevent for better performance. + + $ apt-get install python-gevent + +Or: + + $ sudo easy_install gevent + +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.