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

使用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:111.111.111.111
Shadowsocks服務端端口:8989
Shadowsocks客戶端端口:1080
obfsproxy服務端端口:89899
obfsproxy客戶端端口:10800
本地操作系統:Windows 7

配置步驟

1、配置服務端Shadowsocks

配置服務端Shadowsocks可採用出自秋水逸冰博客的:Shadowsocks Python版一鍵安裝腳本 (具體步驟見文章詳情)如果你覺得安裝腳本簡單易用,錢包又不太吝嗇的話,就果斷向作者發起捐贈吧!

作者本人已經刪除原文,Shadowsocks一鍵安裝腳本請查看此備份

也可根據官方安裝文檔自己搭建: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流量混淆:Shadowsocks+obfsproxy配置教程 1

此時你已經可以通過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文件夾在:安裝目錄BrowserTorBrowserTorPluggableTransports下。

拿到obfsproxy以後,運行obfsproxy客戶端,比如我把obfsproxy放在D:Program FilesShadowsocks下,運行cmd,定位到該目錄,運行命令:

obfsproxyobfsproxy.exe scramblesuit --password=FANGBINXINGFUCKYOURMOTHERSASS444 --dest=111.111.111.111:89899 client 127.0.0.1:10800

–dest=111.111.111.111:89899是混淆後的obfsproxy服務端地址和端口。(注意,這一步是你在電腦上連接obfsproxy服務端,所以IP地址就是服務器IP 111.111.111.111了,而不是上一步的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

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

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 FilesShadowsocksobfsproxy
obfsproxyobfsproxy.exe scramblesuit --password=FANGBINXINGFUCKYOURMOTHERSASS444 --dest=111.111.111.111:89899 client 127.0.0.1:10800

bat文件存放路徑為:C:Usersadminss.bat

創建VBS文件,新建記事本,輸入如下命令,另存為ss.vbs,保存類型選擇“所有文件”。

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

將ss.vbs文件放到啟動項目錄,實現開機自啟動。Windows 7下目錄為:C:Users用戶名AppDataRoamingMicrosoftWindowsStart MenuProgramsStartup

寫在最後

時間不早,洗洗睡了。