自建obfsproxy的速度还不错

无责任转载链接:如何使用obfsproxy搭配shadowsocks-nodejs安全高效的访问互联网

我开始在CentOS 5.7 32bit上操作失败(OpenVZ架构),然后把服务器升为CentOS 6.2就搞定了。这里把我记录的过程脚本罗列一下(根据个人情况目录做了些调整):

#!/bin/bash
#安装git并取得shadowsocks源码
yum -y install git
git clone https://github.com/clowwindy/shadowsocks-nodejs.git
cd shadowsocks-nodejs
#修改server_port(假设为12345,防火墙要禁止访问)和password
vim config.json
#部署shadowsocks
cd ..
cp shadowsocks-nodejs/ /opt/shadowsocks -r
#安装node并部署
wget http://nodejs.org/dist/v0.8.16/node-v0.8.16-linux-x86.tar.gz
tar zfvx node-v0.8.16-linux-x86.tar.gz
cp node-v0.8.16-linux-x86/bin/node /usr/bin/
echo "(node /opt/shadowsocks/server.js >/dev/null 2>&1 &)" >> /etc/rc.local
#安装obfsproxy的支持
yum -y install autoconf autotools-dev gcc git pkg-config libtool libevent-2.0-5 libevent-dev libevent-openssl-2.0-5 libssl-dev
#手动安装libevent2
wget https://github.com/downloads/libevent/libevent/libevent-2.0.21-stable.tar.gz
tar zxvf libevent-2.0.21-stable.tar.gz
cd libevent-2.0.21-stable
./configure --prefix=/usr/local/event2
make
make install
#配置libevent2环境
export libevent_CFLAGS=-I/usr/local/event2/include
export libevent_LIBS="-L/usr/local/event2/lib -levent"
export LD_LIBRARY_PATH=/usr/local/event2/lib/
cd ..
#安装obfsproxy
#git clone https://git.torproject.org/obfsproxy.git
git clone git://gitorious.org/obfsproxy/obfsproxy.git
cd obfsproxy
./autogen.sh
./configure
make
make install
#部署libevent2运行时支持
cp /usr/local/event2/lib/libevent-2.0.so.5 /usr/lib
echo "(/usr/local/bin/obfsproxy obfs2 --dest=127.0.0.1:12345 server 0.0.0.0:54321 >/dev/null 2>&1 &)" >> /etc/rc.local
#设置并重启防火墙(假设obfsproxy端口为54321)
iptables -A INPUT -p tcp --dport 54321 -j ACCEPT
#安装restorecon的支持包,不然service iptables save会失败(可选)
yum -y install policycoreutils
service iptables save
service iptables restart

最后要重启VPS或按顺序直接运行加到rc.local里的两条命令。

Windows下的配置摘录重点:
1. 翻墙https://www.torproject.org/projects/obfsproxy.html.en下载tor-obfsproxy-browser最新自解压包。
2. 解压tor-obfsproxy-browser后把App放到固定目录,假设为D:\App (实际只使用到obfsproxy.exe和libeay32.dll)
3. http://nodejs.org/download/下载node.exe放到D:\App目录下。
4. https://github.com/clowwindy/shadowsocks-nodejs点ZIP下载压缩包,并把包里所有文件放到D:\App目录下,除了内部的test和src子目录外不要存在任何目录,即local.js、node.exe和obfsproxy.exed在同一目录中。
5. 修改config.json中的password,跟服务器设的一样,默认1080端口可根据实际情况修改。
6. 在D:\App下建批处理文件执行下面的命令(54321端口号与服务器一致,服务器IP自行修改):

START /min node.exe local.js
START /min obfsproxy obfs2 --dest=111.111.111.111:54321 client 127.0.0.1:8388
EXIT

7. 配置浏览器使用SOCK5 127.0.0.1:1080来访问网络。

PS1. 让Android下Shadowsocks也能用的修改方法:

1. 修改服务器shadowsocks目录下的config.json,server由"127.0.0.1"改成"0.0.0.0"或具体的服务器IP,method由null改成aes-128-cfb,aes-192-cfb,aes-256-cfb,bf-cfb,cast5-cfb,des-fb,rc4等方法,注意这些都是字符串,所以需要加半角双引号括起,比如:"method":"rc4"

2. 防火墙开放shadowsocks服务器端口,比如上面的12345,重启防火墙和shadowsocks后就可以在android shadowsocks客户端中选择对应的方法连接了。

3. Windows客户端需要修改config.json把method改成跟服务器的一样,然后重新运行客户端即可。

PS2. 对于x64系统把上面脚本里的x86改成x64,复制libevent-2.0.so.5到/usr/lib64目录。

Tags:

One Response to “自建obfsproxy的速度还不错”

  1. 苦咖啡说道:

    喜欢你的博客。可以和博主做个友情链接吗,我的博客:www.kukefei.me

Leave a Reply


提醒: 评论者允许使用'@user空格'的方式将自己的评论通知另外评论者。例如, ABC是本文的评论者之一,则使用'@ABC '(不包括单引号)将会自动将您的评论发送给ABC。请务必注意user必须和评论者名相匹配(大小写一致)。