Shadowsocks流量混淆:Shadowsocks+obfsproxy配置教程

kevin.Zhu 发布于:2013-9-1 1:03 分类:Linux  有 113 人浏览,获得评论 0 条  

使用obfsproxy插件混淆Shadowsocks流量特征的好处在于可以伪装成正常上网流量进而增加隐蔽性,还可以进一步保障Shadowsocks服务器不被干扰,增强稳定性。关于Shadowsocks的介绍请看这里,obfsproxy插件是从Tor中提取的一个独立的流量混淆程序,关于Tor的介绍在这里,obfsproxy的介绍在这里。另外,在服务器和客户端配置好obfsproxy后,不仅可用于Shadowsocks,同样可以适用于SSH、GoAgent、赛风、自由门等等代理上网工具。

配置过程:

1、配置服务端Shadowsocks
2、配置客户端Shadowsocks
3、配置服务器端obfsproxy
4、配置客户端obfsproxy
5、重新配置客户端Shadowsocks完成obfsproxy应用


配置后的上网过程:

入口节点(本机)== 客户端Shadowsocks == 客户端obfsproxy == 服务器端obfsproxy == 服务端Shadowsocks == 出口节点(目标网站)
(需要注意的是出口节点(目标网站)仍会看到你的Shadowsocks服务器IP。)


服务器环境及IP(举例):
服务器环境:Linux Debian 6 32位
服务器IP:888.888.888.888
Shadowsocks服务端端口:8989
Shadowsocks客户端端口:1080
obfsproxy服务端端口:89899
obfsproxy客户端端口:10800
本地操作系统:Windows 7


配置步骤:

1、配置服务端Shadowsocks

配置服务端Shadowsocks可采用出自秋水逸冰博客的:Shadowsocks Python版一键安装脚本 (具体步骤见文章详情)如果你觉得安装脚本简单易用,钱包又不太吝啬的话,就果断向作者发起捐赠吧!

也可根据官方安装文档自己搭建:https://shadowsocks.org/en/download/servers.html

Shadowsocks

2、配置客户端

官方下载页面:https://shadowsocks.org/en/download/clients.html

或者直接猛撮官网Windows ZIP包下载地址:点此下载

运行Shadowsocks.exe,填入对应的服务端Shadowsocks配置信息。

Shadowsocks

Shadowsocks

配置好服务端Shadowsocks,再对浏览器进行相应设置,测试Shadowsocks是否配置成功,能访问Twitter和www.google.com.hk,说明配置成功。

Shadowsocks

此时你已经可以通过Shadowsocks顺利爬墙了,当然IE配置只是个演示,最经典的爬墙上网方案个人认为应该是Chrome浏览器 + Proxy SwitchyOmega拓展。 而且Shadowsocks的一键安装脚本和客户端配置都是很简单的,只要自己有VPS,几分钟就可以搭建自己的Shadowsocks代理上网环境。如 果你连这一步都没成功,下面的文章也就不用看了,重要的步骤看三遍,确保你已经可以通过Shadowsocks顺利爬墙了!本文的重点是 obfsproxy插件混淆Shadowsocks流量特征,下面开始。

3、配置服务器端obfsproxy

安装obfsproxy

apt-get install gcc python-pip python-dev
pip install obfsproxy

运行obfsproxy服务端

/usr/local/bin/obfsproxy --data-dir=/tmp/scramblesuit-server scramblesuit --password=FANGBINXINGFUCKYOURMOTHERSASS444 --dest=127.0.0.1:8989 server 0.0.0.0:89899

scramblesuit是obfs3的加强版,是一种安全性稍高的加密工作方式,scramblesuit的密码必须为BASE32字符,即大写字母加数字共32位的字符串。
password=FANGBINXINGFUCKYOURMOTHERSASS444是为scramblesuit设置的加密密码,这个密码不会再后面的配置中用到,所以不用管它,当然,也许细心的你已经察觉到密码的含义了。。。。当然,你在配置的时候有必要更改一下这个密码。
dest=127.0.0.1:8989是要混淆的Shadowsocks服务端地址和端口。
server 0.0.0.0:89899是混淆后的地址和端口,0.0.0.0 表示允许所有网段地址连接。

运行后出现如下提示,说明作为一个执着的追求者,你成功了!!!

obfsproxy

不要问我 2015-11-20 15:54:30,853 [ERROR] 这句是什么意思,我不会回答你的,因为我也不知道。

4、配置客户端obfsproxy

文章开头提到过obfsproxy插件是从Tor中提取的一个独立的流量混淆程序,我已经从Tor安装目录提取出整个obfsproxy文件夹并打包,你可以直接下载这个包解压后进行下一步配置。

扫扫更健康。。
obfsproxy

点此下载obfsproxy(解压密码:bynss.com)

当然了,鉴于此时你已经可以顺利通过Shadowsocks爬墙,所以你也可以自己去下载安装一个Tor,把obfsproxy拿出来,官网下载页面在这里,或者直接点此从官网下载(Windows),安装挺简单的,官网下载页面上也有教程。obfsproxy文件夹在:安装目录\Browser\TorBrowser\Tor\PluggableTransports\下。

拿到obfsproxy以后,运行obfsproxy客户端,比如我把obfsproxy放在D:\Program Files\Shadowsocks下,运行cmd,定位到该目录,运行命令:

obfsproxy\obfsproxy.exe scramblesuit --password=FANGBINXINGFUCKYOURMOTHERSASS444 --dest=888.888.888.888:89899 client 127.0.0.1:10800

–dest=888.888.888.888:89899是混淆后的obfsproxy服务端地址和端口。(注意,这一步是你在电脑上连接obfsproxy服务端,所以IP地址就是服务器IP 888.888.888.888了,而不是上一步的0.0.0.0)
client 127.0.0.1:10800是obfsproxy客户端地址和端口。

obfsproxy

成功只属于敢于实践和探索的人,所以一不小心又成功了。。

obfsproxy已在运行:

obfsproxy

此时obfsproxy客户端已和obfsproxy服务端建立连接,就差一步,即可大功告成。

5、重新配置客户端Shadowsocks完成obfsproxy应用

再次打开Shadowsocks的客户端配置,编辑服务器,将IP地址改成127.0.0.1,服务器端口改成10800,代理端口不用改。此时 Shadowsocks客户端将通过obfsproxy客户端连接上网。需要注意的是,此时如果关闭cmd窗口,连接就会断开,后面的文章会提到一个折中 的解决方法。

Shadowsocks

obfsproxy

Enjoy it !


后续优化部分:

1、将服务端obfsproxy添加到服务器启动项

vi /etc/rc.local

按a进入编辑模式,将下面的命令添加进去

(/usr/local/bin/obfsproxy --data-dir=/tmp/scramblesuit-server scramblesuit --password=FANGBINXINGFUCKYOURMOTHERSASS444 --dest=127.0.0.1:8989 server 0.0.0.0:89899 >/dev/null 2>&1 &)

按esc,输入:wq,回车。

2、客户端隐藏cmd窗口并开机自启动obfsproxy

前文提到的本地cmd运行obfsproxy的步骤,可以创建一个批处理文件来完成,然后用VBS脚本隐藏cmd窗口,再将VBS文件添加到开机启动项。

创建批处理,新建记事本,输入如下命令,另存为ss.bat,保存类型选择“所有文件”,以我的obfsproxy所在目录为例:

d: cd Program Files\Shadowsocks\obfsproxy
obfsproxy\obfsproxy.exe scramblesuit --password=FANGBINXINGFUCKYOURMOTHERSASS444 --dest=888.888.888.888:89899 client 127.0.0.1:10800

bat文件存放路径为:C:\Users\admin\ss.bat

创建VBS文件,新建记事本,输入如下命令,另存为ss.vbs,保存类型选择“所有文件”。

DIM objShell set objShell=wscript.createObject("wscript.shell") iReturn=objShell.Run("cmd.exe /C C:\Users\admin\ss.bat", 0, TRUE)

将ss.vbs文件放到启动项目录,实现开机自启动。Windows 7下目录为:C:\Users\用户名\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup


写在最后:

时间不早,洗洗睡了。