Python port of ShadowsocksR
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

110 lines
3.1 KiB

13 years ago
shadowsocks
13 years ago
===========
[![Build Status](https://travis-ci.org/clowwindy/shadowsocks.png)](https://travis-ci.org/clowwindy/shadowsocks)
12 years ago
Current version: 1.3.0
12 years ago
13 years ago
shadowsocks is a lightweight tunnel proxy which can help you get through firewalls
Other ports and clients can be found [here](https://github.com/clowwindy/shadowsocks/wiki/Ports-and-Clients).
12 years ago
Usage
13 years ago
-----------
First, make sure you have Python 2.6 or 2.7.
$ python --version
Python 2.6.8
12 years ago
Install Shadowsocks.
12 years ago
pip install shadowsocks
Create a file named `config.json`, with the following content.
12 years ago
12 years ago
{
"server":"my_server_ip",
"server_port":8388,
"local_port":1080,
"password":"barfoo!",
"timeout":600,
"method":null
}
13 years ago
12 years ago
Explaination of the fields:
server your server IP (IPv4/IPv6), notice that your server will listen to this IP
server_port server port
local_port local port
password a password used to encrypt transfer
12 years ago
timeout in seconds
12 years ago
method encryption method, "bf-cfb", "aes-256-cfb", "des-cfb", "rc4", etc. Default is table
12 years ago
12 years ago
`cd` into the directory of `config.json`. Run `ssserver` on your server. To run it in the background, run
`nohup ssserver > log &`.
12 years ago
12 years ago
On your client machine, run `sslocal`.
13 years ago
12 years ago
Change the proxy setting in your browser into
13 years ago
12 years ago
protocol: socks5
hostname: 127.0.0.1
port: your local_port
12 years ago
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
12 years ago
Encryption
12 years ago
------------
12 years ago
If you want to use non-default encryption method like "bf-cfb", please install [M2Crypto](http://chandlerproject.org/Projects/MeTooCrypto).
Ubuntu:
sudo apt-get install python-m2crypto
Others:
pip install M2Crypto
Performance
------------
12 years ago
You may want to install gevent for better performance.
12 years ago
$ sudo apt-get install python-gevent
12 years ago
Or:
12 years ago
$ sudo apt-get install libevent-dev python-pip
$ sudo pip install gevent
12 years ago
12 years ago
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.
12 years ago
License
-------
MIT
Bugs and Issues
----------------
Please visit [issue tracker](https://github.com/clowwindy/shadowsocks/issues?state=open)