使用 Surge 在網路變化時,自動切換 AdGuard Home 與 NextDNS

​ 之前有寫到一篇介紹 Surge 根據 WiFi 環境變化來自動選擇使用 DNS Server 的文章 每次域名查詢都要去跑一次 Script,先不論有無額外效能損耗,這樣似乎有點不太優雅 前兩天在 Surge 支援論壇裡面,看到某大神寫的一段範例,剛好可以完美解決這個自動切換 DNS 需求 Surge 只有在網路發生變化的時候才會觸發一次,並根據環境自動將 DoH 啟用或者關閉,非常不錯 所以就稍微拿來改一下,用了幾天沒出現什麼問題,就順便在此篇分享並記錄下來 ​ 先說一下我自己的需求,我在家中以及常待的辦公室都有自建 AdGuard Home 在 WiFi 局域網內 所以在認識的 WiFi SSID 下的時候,就用 DHCP Server 指定的 AdGuard Home 即可 只有外出使用行動網路或者不認識 WiFi 時候會需要自動切換啟用 NextDNS DoH 服務 清楚明白自己需求後,就可以開始實作了 😚 ​ 👆 Surge 的 DNS 設定改成預設,DoH 留空白不填 ​ 接著新建一個本機模組,可以啟用 / 關閉 NextDNS DoH 的模組 Surge App -> 模組 -> 建立本機模組,模組內容如下: 1 2 3 4 5 #!...

April 12, 2021 · 2 min · jkgtw

根據網路環境自動變更 DNS 設定的 DNS On Demand

​ 上一篇介紹使用 mobileconfig 在 iOS 14 和 mscOS 11.0 Big Sur 來達到自定義的 DoT / DoH 服務 但是這個一改就是全域的,不管你在家中、辦公室或者是在咖啡廳使用的 WiFi 甚至是使用行動網路 都會使用你預先設定的 DNS Server 來解析 ​ 然而事實上可能不符合進階一點的需求,例如: 在家中或者辦公室有搭自己的 AdGuard Home or Pi-hole,此時連到這些地方的 WiFi 當然使用區網的 DNS Server 來解析,有本地快取以外區網連線速度快延遲又低 出門使用行動網路或者連上其他不認識的 WiFi 就使用 NextDNS 的 DoH 服務 ​ 有上述跟我一樣需求的人,蘋果也有提供一個新的 DNS On Demand(DNS 按需連線)的功能 這功能一樣需要 iOS / iPadOS 14+ 以及 Big Sur 以上才有辦法使用 下面就說說這個特殊的 mobileconfig 描述檔怎麼寫 ​ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 <?...

September 27, 2020 · 2 min · jkgtw

在 iOS 14 / Big Sur 啟用中華電信 DoH 服務

​ 蘋果在 iOS 14 / Big Sur 加入系統原生 DNS over Https / DNS over TLS(DoH / DoT)的支援 在之前介紹過的 NextDNS app 早在 iOS 14 測試版時已經率先加入支援 在 iOS 14 正式版上線後 NextDNS app 也正式推出 v2.0: https://apps.apple.com/tw/app/nextdns/id1463342498 ​ 除了 app 可以直接在 iOS 14 系統中寫入 DoH / DoT 的支援以外 蘋果還有提供給企業或者組織快速設定的 mobileconfig 使用方式 像是 AdGuard 也馬上推出自家 DNS 的 mobileconfig 檔案下載,有興趣可以去他們部落格下載安裝 https://adguard.com/en/blog/encrypted-dns-ios-14.html ​ 不過 AdGuard DNS 在台灣的速度真的不怎麼樣,所以還是參考就好~🥺 接著最近在推特上看見台灣中華電信已經在測試自家 DoH 的服務 發現 https://t.co/YspnbjfZ6b 有 bind 443 port 跑 Nginx ,跑了一張圖寫 Hinet DNS,想說不是廢話嗎?...

September 26, 2020 · 2 min · jkgtw

使用 Surge DNS Script 自動切換本地 DNS

​ 最近在 iPhone 跟 iPad 上都是使用 Surge 來最佳化設備上的網路與調整線路 而因為在家中跟辦公室都有搭建自己本地的 AdGuard Home,外出時想要連到 NextDNS DoH 自己每次動手切換實在太煩了,也不可能每次都記得 Surge 目前版本還沒有內建提供自動根據網路環境切換 DNS Server 的功能 所以昨天在推特上亂入問了作者,作者回覆可以使用 Surge DNS Script 來完成這個功能 ​ DNS 脚本可以实现 — Yachen Liu (@Blankwonder) August 14, 2020 ​ 於是就自己動手寫一段簡單 Script 來完成 下面就記錄一下設定過程,有需要的人可以照著設定即可 ​ 首先先設定一下會在外出時要連線的 DoH,推薦 NextDNS 或者 FutaDNS,也可以同時設定兩組互相備援 ​ ​ 接下來新增一個 DNS Script 進去,請先拷貝下面的 Script 其中第一行的「SSID1」跟「SSID2」請根據你的實際的 SSID 來修改 寫在這裡的 SSID,Surge 會直接使用該網路內 DHCP Server 分發下來的 DNS Server 來解 不會連到你上面設定的 DoH Server,如此即可做到根據 SSID 來自動切換 DNS Server 的簡易功能...

August 15, 2020 · 1 min · jkgtw

如何在 macOS 使用 DNS over Https(DoH)

​ 之前寫到一篇可以在 iOS 上面使用 DoH、DoT 加密 DNS 的方法 發現也有人在問 macOS 應該要怎麼做?這篇就來快速教學一下 2021/02/06 update 如果你使用 macOS 11 Big Sur 以上的版本,系統已經原生支援 推薦可以直接使用 NextDNS or 中華電信的加密 DNS 服務,或者自己改 https://apple.nextdns.io 描述檔 ​ 安裝 HomeBrew HomeBrew 官方推薦一行快速安裝 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)" ​ ​ 安裝 cloudflared 用 HomeBrew 簡易快速安裝 cloudflared brew install cloudflare/cloudflare/cloudflared ​ ​ 建立 cloudflared 設定檔 這裡除了上次推薦的 FutaDNS 以外,另外再推薦一個同樣使用 AdGuard Home 搭出來的公共 DNS 服務 伺服器在谷歌 GCP 台灣機房,台灣各地連線過去的速度都很快 公共 DNS 項目的簡介網頁: https://readme.avpclub.gq...

June 16, 2020 · 1 min · jkgtw