2014年7月27日 星期日

翻牆大作戰 - Host、DNS篇

好久沒更新,今天因為實在是折騰的太久了,還是寫下來記錄一下

中國這邊最近對Google、Line的封鎖真 的是讓人快要抓狂,尤其在公司,需要同時上公司內網,又有需要用Google查詢的時候,VPN一整個開開關關的有夠不爽,加上手機上不想一直保持VPN 連線耗電,但想查個東西又要開VPN或Shadowsocks、Goagent、Fqrouter這類型的app實在是很麻煩,所以只好又重操舊業,搞下 host,順便處理一下DNS污染的問題

這次的修改目標,主要是讓google可以隨時使用,至於Line,只能說是折騰的時候剛好發現可以解決而已 :)

以下的步驟為避免麻煩,先統一翻牆去把該抓的東西抓一抓 

PC

  • 下載完後執行它,會自動修改 "C:\Windows\System32\drivers\etc\" 的hosts文件,文件用記事本打開後會看到新增下面這種內容

  • 下載好後安裝,執行
(由於這個會修改DNS,如果要走公司內部網頁的話,需要先disable)
  • 收工。但hosts的部分,連不上google還是要去重新換下host,看是不是這些網址又被污染,要換地方

Android (需Root)

  • 打開dnscrypt-proxy-android-1.4.0.tar.gz,先找出符合你手機cpu型號的資料夾,我的是小米2S,所以是armv7

  • 把資料夾裡面 /sbin/dnscrypt-proxy 解壓縮出來,放到手機裡,再用Root explorer把他放到/system/xbin下,設置權限為rwxr-xr-x

  • 用記事本製作一個文件,檔名為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跟Boot,然後按儲存,最後Run它

  • 打開Host同步,檢查→勾選imouto→更新(要不要備份隨個人需求)

  • 打開Set DNS,上方選擇Custom,DNS填入127.0.0.1,然後Apply

  • 進入Set DNS的設定(小齒輪),override wifi跟3g的dns,並勾選最下面的notifications

  • 收工,一樣,連不上google時,去host同步關注一下

參考資料

  • http://www.atgfw.org/2014/05/dnscryptgoagent.html
  • http://www.mobile01.com/topicdetail.php?f=383&t=3973273&p=14#51282182
  • host不能在windows上先編輯好的原因(格式與android與ios不同)
    因為Windows下文件的換行格式是CR+LF,Android上是LF
    所以弄個高級點的文本編輯器,比如EmEditor或Jota+,把文件另存為一下,拷進/etc/hosts,權限是rw-r--r--,重啟即可

沒有留言:

張貼留言