[轉]DNSCrypt與GoAgent組合強力穿牆

 GoAgent 出現的很多故障,多數與GFW製造的DNS嚴重污染有關。在實際使用時,發現DNS污染是GFW的基石。如果正確獲得要訪問的網站的IP地址,且此網站支 持https加密,就能使GFW關鍵詞檢查失效,過濾徹底成為雞肋。在DNS污染無效的情況下,訪問https網站都不需要通過GoAgent等代理。

針對這點,利用DNSCrypt + GoAgent組合拳,我在Mac OS X,Android、Windows下都實現了強力穿牆。

Mac OS X
安裝DNSCypt
打開尚能運行的舊版GoAgent,在終端運行(注意$是終端提示符,不用輸入):

$ cd $(brew --prefix)
$ rm Library/Formula/argp-standalone.rb
$ rm Library/Formula/cocot.rb
$ git fetch origin
$ git reset --hard origin/master
$ brew update
$ export http_proxy="localhost:8087"
$ export https_proxy="localhost:8087"
$ brew install dnscrypt-proxy
$ sudo cp -fv /usr/local/opt/dnscrypt-proxy/*.plist /Library/LaunchDaemons
$ sudo launchctl load /Library/LaunchDaemons/homebrew.mxcl.dnscrypt-proxy.plist
$ sudo launchctl load /Library/LaunchDaemons/homebrew.mxcl.dnsmasq.plist

安裝好後,在System Preferences里,將活動網卡的DNS解析伺服器指定為127.0.0.1

在終端運行
dig txt debug.opendns.com
出現
;; global options: +cmd
;; Got answer:
;; >>HEADER<< opcode: QUERY, status: NOERROR, id: 662
;; flags: qr rd ra; QUERY: 1, ANSWER: 5, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;debug.opendns.com. IN TXT

;; ANSWER SECTION:
debug.opendns.com. 0 IN TXT "server 11.sin"
debug.opendns.com. 0 IN TXT "flags 20 0 2f4 4000800000000000000"
debug.opendns.com. 0 IN TXT "id 0"
debug.opendns.com. 0 IN TXT "source 218.56.106.106:22229"
debug.opendns.com. 0 IN TXT "dnscrypt enabled (7165343751484877)"

;; Query time: 127 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Wed May 28 15:51:22 2014
;; MSG SIZE  rcvd: 224

之類的文字,表明安裝成功

在終端執行
$ sudo ipfw add 100 fwd 127.0.0.1,8053 udp from any to any 53 in
將本地DNS解析連線埠同時映射到8053連線埠

編輯GoAgent/local/proxy.ini,下面這些條是優化設置,請注意每次都改一下
[gae]
appid = 你的gid
password = 必須要設密碼
keepalive = 1
obfuscate = 1
validate = 1
options = rc4

[ipv4/http]
fakehttps =

[dns]
enable = 1
listen = 127.0.0.1:8053
servers = 42.120.21.30|8.20.247.20|8.8.8.8|8.8.4.4|114.114.114.114|114.114.115.115
現在8.8.8.8|8.8.4.4|114.114.114.114|114.114.115.115等DNS解析被強力封鎖,大多根本失效,可以乾脆刪掉,為
servers = 42.120.21.30|8.20.247.20
或者用你能找到的別的有效DNS伺服器。

雙擊GoAgent/goagent-osx.command,開始完美強力穿牆

Andoid
下載dnscrypt-proxy-android-1.4.0.tar.gz(https://download.dnscrypt.org/dnscrypt-proxy/)
根 據自己機器的CPU型號解壓提取出相應的dnscrypt-proxy,比如我的三星GT-N7000提取dnscrypt-proxy- android-armv7/sbin/dnscrypt-proxy,拷到手機卡上備份,並用RE拷到/system/xbin下,設置許可權為 rwxr-xr-x

用純文字檔案製作一個shell腳本dnscrypt.sh
#!/system/bin/sh
/system/xbin/dnscrypt-proxy  --daemonize --loglevel=0 --max-active-requests=16 --edns-payload-size=1252 --local-address=127.0.0.1 --resolver-address=106.186.17.181:2053 --provider-name=2.dnscrypt-cert.ns2.jp.dns.opennic.glue --provider-key=8768:C3DB:F70A:FBC6:3B64:8630:8167:2FD4:EE6F:E175:ECFD:46C9:22FC:7674:A1AC:2E2A

保存此腳本到手機上。下載安裝應用SManager,指定dnscrypt.sh開機自動運行,且具有su許可權

編輯活動Wifi連接,在Advanced里將DNS伺服器指定為127.0.0.1,現在好了,你的手機DNS不會被污染。再配合GAEProxy開始穿牆。

Windows
Windows下到https://download.dnscrypt.org/dnscrypt-proxy/下載相應Windows版本。解壓後,打開bin目錄,將裡面的所有文件拷到本地硬碟某一目錄里。
打 開dnscrypt-resolvers.csv(Excel都能支持),在當前路徑里從命令行(Total Commander等文件管理程序支持從當前路徑打開命令行,按右方向箭頭,敲cmd即可,Windows 7以上的系統要賦予文件管理程序Adminstrator許可權)里執行:
dnscrypt-proxy.exe -R "name" -L dnscrypt-resolvers.csv --test=0
用於測試dnscrypt-resolvers.csv文件里列的DNS伺服器是否支持dnscrypt。如
dnscrypt-proxy.exe -R cloudns-can -L dnscrypt-resolvers.csv --test=0
如果提示
[INFO]This certificate looks valid
表明支持。不支持多試一些,網上也有最新的dnscrypt-resolvers.csv
現在安裝dnscrypt為服務:
dnscrypt-proxy.exe -R cloudns-can -L dnscrypt-resolvers.csv --install
或者將裡面的cloudns-can替換為你找到的支持dnscrypt的DNS伺服器的名稱。
安裝後,請將活動網卡DNS解析伺服器地址改為127.0.0.1.

設置完畢後,proxy.ini編輯的內容同Mac系統,注意
[dns]
listen = 127.0.0.1:53
裡面的連線埠是53,其他可以共用。

現在,乾死這牆吧。

轉載自:https://plus.google.com/+RicoJiang/posts/KNeupx3q95F
本文鏈接:[轉]DNSCrypt與GoAgent組合強力穿牆
美博園文章均為「原創 - 首發」,請尊重辛勞撰寫,轉載請以上面完整鏈接註明來源!
軟體著作權歸原作者!個別轉載文,本站會註明為轉載。

網 友 留 言

7條評論 in “[轉]DNSCrypt與GoAgent組合強力穿牆”
  1. kk says:

    win7 64 版本是哪個

  2. freeman says:

    android下非常好用。感謝美博園。看youtube不卡了。

  3. 444 says:

    看不懂

這裡是你留言評論的地方


請留言


2 + 9 =
【您可以使用 Ctrl+Enter 快速發送】
Copyright © 2007 - 2026 , Design by 美博園. 著作權所有. 若有著作權問題請留言通知本站管理員. 【回到頂部】