shadowsocks是一款开源的代理程序,使用Python编写,经测试,其效果非常好,这里介绍一下安装方法。
项目主页:https://github.com/clowwindy/shadowsocks
1,环境准备

python -V

安装前请更新python至2.6或者2.7版,更新方法见此。
2,安装Python并发框架 Gevent
Gevent依赖libevent和greenlet,需要分别安装。

yum install libevent libevent-devel

wget http://pypi.python.org/packages/source/g/gevent/gevent-0.13.6.tar.gz --no-check-certificate
tar -xzvf gevent-0.13.6.tar.gz
cd gevent-0.13.6/
python setup.py install


wget -q http://peak.telecommunity.com/dist/ez_setup.py
python ./ez_setup.py
easy_install greenlet

3,安装Python加密库 M2Crypto
程序默认有”bf-cfb”, “aes-256-cfb”, “des-cfb”, “rc4″等几种加密方法,如果不想加密,可以不用安装M2Crypto。

yum install m2crypto



wget http://pypi.python.org/packages/source/M/M2Crypto/M2Crypto-0.21.1.tar.gz --no-check-certificate
tar -zxvf M2Crypto-0.21.1.tar.gz
cd M2Crypto-0.21.1
python setup.py install
可能出现问题1:error: command ‘gcc’ failed with exit status 1
解决:yum install python-devel
可能出现问题2:
unable to execute swig: No such file or directory
error: command ‘swig’ failed with exit status 1
解决:yum install swig
可能出现问题3:
Error: /usr/include/openssl/opensslconf.h:13: Error: Unable to find ‘opensslconf-i386.h’
error: command ‘swig’ failed with exit status 1
解决:cp /usr/include/openssl/opensslconf-i386.h ./

4,服务端设置
下载shadowsocks主程序并解压

wget https://github.com/clowwindy/shadowsocks/archive/master.zip
unzip master
cd shadowsocks-master/

编辑主配置文件

vim config.json  格式如下,其它的不多说了,method表示使用M2Crypto加密
{
    "server":"公网IP地址",
    "server_port":8388,
    "local_port":1080,
    "password":"密码",
    "timeout":600,
    "method":"bf-cfb"
}

“method”指的是加密方法。默认加密方法 table 速度很快,但很不安全。如果选择 “table” 之外的加密,需要安装 M2Crypto。推荐使用 “aes-256-cfb” 或者 “bf-cfb”。
运行程序

nohup python server.py > log &

不出意外,程序已经在8388端口兼听了。
5,本地客户端设置
下载由feijilei同学编绎好的客户端程序,
编辑config.json,配置项跟服务端一样即可。
运行local.exe,即可。如果窗口一闪而过,说明config.json未配置正确或者server端无法连接。
在浏览器里设置socks5代理为127.0.0.1,端口为1080,已经可以上网了。

各位亲,在转载这篇文章的时候,不要加上我的链接,原因你懂的!

======================================
CentOS6安装Shadowsocks过程
2014.06.30重新整理了CentOS6安装Shadowsocks过程,这里也记录一下。
1,服务端安装
需要说明的是,下面的基础依赖包,是从shadowsocks-libev/README.md文件中写明了的。

$ yum install -y gcc automake autoconf libtool make build-essential autoconf libtool
$ yum install -y curl curl-devel zlib-devel openssl-devel perl perl-devel cpio expat-devel gettext-devel
$ git clone https://github.com/madeye/shadowsocks-libev.git
$ cd shadowsocks-libev
$ ./configure
$ make && make install

2,服务端配置

$ vim /root/config.json   #新建配置文件,加入如下内容
{
    "server":"ip",
    "server_port":port,
    "local_port":1080,
    "password":"password",
    "timeout":600,
    "method":"aes-256-cfb"
}

/usr/local/bin/ss-server -c /root/config.json > log &

其中,“method”指的是加密方法。默认加密方法 table 速度很快,但很不安全。如果选择 “table” 之外的加密,需要安装openssl或者M2Crypto。推荐使用 “aes-256-cfb”。端口建议不要用官方的8388端口,以防止墙找到相关特征进行封杀,建议改成常用的服务端口,例如443、110之类(请确定该端口未被其它服务占用)。
如果没有如上配置文件,也可以直接执行

$ /usr/local/bin/ss-server-s 服务器IP -p 服务器端口 -k 密码 -m aes-256-cfb > log &

加入开机启动

 echo '/usr/local/bin/ss-server -c /root/config.json > log &' >> /etc/rc.d/rc.local

3,客户端配置
Windows客户端:http://sourceforge.net/projects/shadowsocksgui/files/dist/shadowsocks-gui-0.4-win-ia32.7z
配置就不再多说了,跟服务端的config.json填一样就OK了。
Windows客户端
然后把本地的浏览器设置为socks5代理,地址填为127.0.0.1,端口1080。Chrome建议使用SwitchySharp插件,Firefox建议使用FoxyProxy Basic插件。
其它客户端:http://shadowsocks.org/en/download/clients.html

文档更新时间: 2019-06-14 13:36   作者:月影鹏鹏