[轉]DNSCrypt與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,其他可以共用。
現在,乾死這牆吧。
本文鏈接:[轉]DNSCrypt與GoAgent組合強力穿牆
美博園文章均為「原創 - 首發」,請尊重辛勞撰寫,轉載請以上面完整鏈接註明來源!
軟體著作權歸原作者!個別轉載文,本站會註明為轉載。
網 友 留 言
7條評論 in “[轉]DNSCrypt與GoAgent組合強力穿牆”這裡是你留言評論的地方
win7 64 版本是哪個
@kk
官方下載地址windows系統就一個版本,都可以使用
android下非常好用。感謝美博園。看youtube不卡了。
https://download.dnscrypt.org/dnscrypt-proxy/
無法訪問.......
@LeeLady
可以打開,剛才試了,你再試試
看不懂
Freenet 0.7.5 build 1464 released
https://permalink.gmane.org/gmane.network.freenet.devel/30110
Download
https://freenetproject.org/
(美博園)