根據網路環境自動變更 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 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>PayloadContent</key> <array> <dict> <key>DNSSettings</key> <dict> <key>DNSProtocol</key> <string>HTTPS</string> <key>ServerURL</key> <string>https://dns.nextdns.io/xxxxx</string> </dict> <key>OnDemandRules</key> <array> <dict> <key>Action</key> <string>Disconnect</string> <key>SSIDMatch</key> <array> <string>MySSID1</string> <string>MySSID2</string> <string>MySSID3</string> </array> </dict> <dict> <key>Action</key> <string>Connect</string> </dict> </array> <key>Name</key> <string>DoH OnDemand</string> <key>PayloadDescription</key> <string>Configures device to use DoH OnDemand.</string> <key>PayloadDisplayName</key> <string>DoH OnDemand</string> <key>PayloadIdentifier</key> <string>com.apple.dnsSettings.managed.8F2760B2-23C1-4735-B5BE-D64A0ADBEC09</string> <key>PayloadType</key> <string>com.apple.dnsSettings.managed</string> <key>PayloadUUID</key> <string>8F2760B2-23C1-4735-B5BE-D64A0ADBEC09</string> <key>PayloadVersion</key> <integer>1</integer> </dict> </array> <key>PayloadDescription</key> <string>Adds DoH OnDemand to Big Sur and iOS 14 or newer systems</string> <key>PayloadDisplayName</key> <string>DoH OnDemand</string> <key>PayloadIdentifier</key> <string>14737786-645C-42BF-9B13-6B339B2D81C1</string> <key>PayloadRemovalDisallowed</key> <false/> <key>PayloadType</key> <string>Configuration</string> <key>PayloadUUID</key> <string>51851357-7736-4A33-90E6-45FB8C3BEC59</string> <key>PayloadVersion</key> <integer>1</integer> </dict> </plist> 上述內容,有幾行需要自行修改後才能使用 ...

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,想說不是廢話嗎? 轉念想說該不會是中華電信在測試 DNS over https 吧 把 Firefox 的 DOH 設到 https://t.co/K4ADIsJ3du 還真的可以用 XD pic.twitter.com/8HLIaRJJtX ...

September 26, 2020 · 2 min · jkgtw

使用 AdGuard for iOS 便利小工具建立自定義規則阻擋網頁元素

​ 看到有人說裝了 AdGuard for iOS 以後,在使用瀏覽器上網時候還是會有廣告阿!? 🤨 其實這跟訂閱的規則比較有關,但是也有少部分網站廣告並沒有被收錄到 所以這時我們還可以利用 AdGuard 提供的便利小工具自己手動建立自定義清單來阻擋 ​ 隨便打開個有廣告的網頁~ ​ 👆 本次目標在左邊截圖中,下方出現「東京住宿比價」的廣告條 ​ 依序點 iOS 瀏覽器中的 Share Sheet(上圖 1 的 icon),然後點一下 AdGuard 呼叫出選項視窗 ​ 👆 依序點選,準備開始手動選擇你想要阻擋的網頁元素 ​ 按下開始後,接下來只要在該網頁上,點選出你想要阻擋的廣告內容 ​ ​ 如上圖左的紅框,會有五個按鈕,從左到右分別是確定、預覽、增加範圍、減少範圍、取消 綠框是 AdGuard 顯示出的阻擋範圍,你可以按下增加範圍跟減少範圍的按鈕 來隨意調整你想要阻擋的網頁元素大小 調整完畢後可以按下預覽的按鈕,看看是否已經達到你想要的效果 ​ ​ 預覽無問題後,按下勾勾(確定)的按鈕,然後會跳出是否要在 AdGuard 打開? 按下『打開』之後即可完成自定義阻擋清單的更新 下次再到同樣網站就會直接套用規則,再也看不到同樣廣告位的廣告啦! 🖖

July 14, 2020 · 1 min · jkgtw

AdGuard Pro for iOS 簡易使用教學

​ 昨天 AdGuard Pro for iOS 總算是更新了 v4.0.1,距離上次更新都已經快要一年了 ​ ​ 最主要原因是因為開發團隊之前在這款軟體裡面加入了 DNS 過濾,又內建了常見過濾規則 如此的話,使用者購買打開 app 後,就算不做太多設定也能開始有廣告過濾的基本功能 因太強大,蘋果以會影響到其他 app 的理由拒絕上架,後來開發團隊與蘋果長時間來回交涉後 「如果在軟體裡面把內建規則拿掉,讓使用者自行手動新增」這樣就可以勉強繞過審核上架 所以上架是上架了,要發揮到 AdGuard Pro 完整功能就需要麻煩使用者自己動動手設定一下喔~ ​ ​ iOS Safari 系統設定 第一次打開軟體時候,app 就會顯示讓你去系統設定啟用 Safari 過濾器 此時打開 iOS 系統的設定,往下滑一點找到「Safari」(如下圖) ​ ​ 繼續找到「內容阻擋器」,把 AdGuard Pro 所有開關都打開 ​ ​ 如此就完成 Safari 內容阻擋器的設定,接著回到 AdGuard Pro app 繼續 ​ ​ AdGuard Pro for iOS 的 Safari 過濾設定 AdGuard Pro 有分兩種過濾方式,其中一種就是蘋果 iOS 系統原生支援的 Safari 阻擋器 蘋果有開放 API,允許 app 把網頁的阻擋規則加載到 iOS Safari 內 使用者在使用 Safari 或者其他第三方 app 呼叫 Safari 瀏覽器的話都能達到瀏覽網頁過濾廣告的效果 ...

June 18, 2020 · 2 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 來源: https://www.pcdvd.com.tw/showthread.php?t=1157681 ​ # 新建資料夾跟設定檔 mkdir -p /usr/local/etc/cloudflared nano /usr/local/etc/cloudflared/config.yaml ​ 拷貝以下內容貼上 proxy-dns: true proxy-dns-upstream: - https://adh.avpclub.gq/dns-query - https://dns.futa.gg/dns-query 記得保存退出 ...

June 16, 2020 · 1 min · jkgtw

蘋果生態圈的網路神器 Surge 4 for iOS 簡易入門教學

​ 我最早接觸 Surge 是在 2015 年 iOS App Store 剛上架就第一批入手了~ 當時我人在中國,翻牆就跟吃飯、喝水、睡覺一樣是每天都需要的 記得當時蘋果 iOS 8 剛剛開放了 NetworkExtension framework Surge 橫空出世最早支援 NetworkExtension,多樣且自由的網路策略非常強大,也是當時最佳 iOS 翻牆工具 隨著時間也有其他開發者也漸漸投入研究蘋果這種系統等級的網路框架,App Store 上漸漸多了許多選擇~ 像是小火箭(Shadowrocket)、小氣球(Loon)或者圈叉(Quantumult X),都是同類相當不錯的競品 其中又以圈叉特別厲害,最早開始支援 Scripting 的功能 後來 2016 年時候我因為搬回台灣,台灣網路無需翻牆,所以瞬間就沒有繼續用下去的動力了。。。 ​ Surge 作者在去年的時候推出一個密碼管理工具「Elpass」 所以從去年那時候開始我又會三不五時看到作者在 Surge 開發的相關進度 最近會又開始用回 Surge 是因為發現作者加入一系列強大功能 如支援 MitM、Scripting、專屬 Snell 協議與快速設定的 Module 功能。。等等 玩法已經不僅僅是翻牆代理工具而已,已經是一個功能強大完整的「網路工具」了~ ​ 強大的 iOS 平台網路工具一下吸引許多寫 Script 的大佬們投入研究,像是有針對 Netflix 的 Script 在非越獄情況下可以在官方 Netflix App 影片介紹頁,直接顯示 imdb 與 douban 的第三方評分分數 ​ 👆 如上,左邊是原本 App 內的樣子,右邊是開啟 Script 以後的樣子,紅色框框就是 ​ 類似像這種強大 Script 都有人分享在 Github 上面,沒事去多搜尋一下,你會發現新大陸~ ...

April 20, 2020 · 3 min · jkgtw

macOS 播放任何影片都快閃並無聲的解決方法

​ 自從升級到 macOS Catalina 以來一直有個小毛病困擾著我 最扯的是已經將近半年以上的時間,我仍然不知道是什麼原因會出現這種 bug ​ bug 出現時候,在電腦上播放任何的影片都會瞬間快轉到結束,過程沒有聲音也沒有辦法恢復正常播放速度 不管是在電腦上使用播放器播放硬碟上的 MP4 影片或者是在任何瀏覽器裡面看線上串流影片 通通都會出現瞬間快轉到結束的靈異現象。。。 這實在很難用文字表達,但實際有遇到的人應該懂我在講什麼。。。🤷‍♂️ ​ 每次遇到這個問題時候,只能重新登出登入或者是重新啟動電腦才能解決 直到前兩天又一次發生這種 bug 了,我就打開 macOS 系統的活動監視器,果然發現有個不正常的東西在佔用大量 CPU 資源 這個程式的名字就是coreaudiod,只要將它強制退出就解決了!(你強退這個程式後,系統又會馬上啓動它) ​ ​ 👆 如果你沒看見,就去 Menu bar 那邊找「顯示方式」,改成「所有程序」就能找到了 ​ 沒錯!這事件告訴我們以後遇到問題,不知道是什麼原因就打開「活動監視器」多看看 說不定是某個程式掛掉了呢。。。 🥺 ​ 最近幾年蘋果的硬體或者軟體水準都有下滑的趨勢喔! 🤔 ​ 2020/04/25 update 初步推測可能是安裝的 Boom 3D 造成的 bug?先移除之後再觀察看看。。。

April 3, 2020 · 1 min · jkgtw

教你打開 Telegram for iOS「羞羞臉」群組跟頻道

​ 之前有分享過一篇 Nicegram 的使用,其中一個特殊功能就是 Nicegram 可以在 iOS 上面瀏覽羞羞臉群組 跟頻道 如今 Telegram 官方也偷偷加入類似的選項了,這篇就來快速教學一下。。。😎 ​ 👆 如果你用過 Telegram for iOS,應該很熟悉這畫面!? ​ 某些羞羞臉群組因為 Apple 的要求,在 Telegram for iOS 上面是無法顯示的 不過這限制僅僅在 Apple App Store 上架的版本而已,其他 Telegram 官方來源 App 均無此限制 ​ 廢話不多說,首先這功能沒辦法直接透過 App Store 的 Telegram App 打開 Telegram 官方採用跟 Nicegram 類似的手法躲避 Apple 的審核機制 ​ 首先先打開 Telegram 官方的網頁客戶端: https://web.telegram.org ​ ​ 如上圖,打開之後就會讓你登入,這裡請輸入你當初註冊 Telegram 的手機號碼,並按下 Next 接著官方會發一個驗證碼到你的 Telegram 上面,你可以打開 iPhone 上面的 Telegram 接收 ​ ...

January 4, 2020 · 1 min · jkgtw

用 Docker 快速搭建 iOS / macOS 按需連線的 IKEv2 VPN Server

​ 之前寫過兩篇介紹在樹莓派搭 IKEv2 VPN Server,以及按需連線(On Demand)的文章 當時很多人跟我說步驟太多太複雜,其中一個步驟搞錯就搭不起來 最近我新入手一台 Intel i5 mini PC,主要想把群暉 NAS 上面很多在跑的軟體都移轉過去,順手整理一下內部網路環境 因為我發現我給群暉 NAS 太多工作,他有點不是很開心,速度越來越慢了。。。 ​ 然後我看了一看之前文章,我自己也覺得很繁瑣,就乾脆重新用 Docker 來搭建 VPN Server 🤣 當初會用原生來搭建是因為擔心樹莓派用 Docker 模擬的方法效能不足。。 ​ 搜尋一下 Docker Hub 相關資源,找到一個不錯的版本 只要兩行指令就能搭好 IKEv2 VPN Server 與 On Demand 的 iOS / macOS 描述檔,非常方便! 原始程式網站在這: https://github.com/billimek/ikev2-vpn-server ​ 不過在開始前,要先製作一個 strongswan.conf 的設定檔 因為作者 Docker 映像檔裡面塞了一個國外的 DNS Server,我們在台灣使用的話速度超慢 所以我們要另外做一個設定檔,把它換成 CloudFlare 跟 Google 的 DNS 速度就會快上許多 ​ 當然你也可以改成你自己的,甚至是你自己搭的 AdGuard Home or PiHole 廣告阻擋器 ​ # SSH 登入到你要安裝的主機中 $ ssh username@IP # 建立一個設定檔 $ nano ~/strongswan.conf ​ ...

November 4, 2019 · 1 min · jkgtw

香港 3HK 推出 eSIM 國際漫遊服務!支援全球 19 個熱門旅遊地區!

Apple iPhone XS、iPhone XS Max 以及 iPhone XR 推出時候,蘋果宣佈即將啟用大家期待已久雙卡雙待的功能 直到最近 iOS 12.1 正式推出後,Apple 總算解除此封印~ 除了中國以及香港、澳門出售的 iPhone 是雙實體卡的架構 其他國家買的 iPhone 都可以插一張實體 SIM 卡再搭配 eSIM 來達到雙卡雙待的功能 (根據蘋果官方的資料:香港、澳門出售的機器僅 iPhone XS 有 eSIM) 香港的 3HK 手腳超快,馬上就推出 eSIM 國際漫遊的預付卡! 僅需在網路上填寫資料並使用信用卡付款後,立刻就能 email 收到 eSIM 開通的 QR Code,iPhone 掃描以後馬上就能加入並啟用! 從付錢到開通,整個過程不到 10 分鐘! 完全不用出門去電信門市領 SIM 卡,也不用在家苦等快遞將實體 SIM 卡寄來 真是超級方便的啦!這才是 eSIM 新科技給消費者帶來真正的便利體驗~ 3HK 的 eSIM 目前可以漫遊覆蓋全球 19 個旅遊熱門地區,亞洲的「日韓中台」或者「新馬泰」、北美、甚至是歐洲的「英法意」都有喔! 價格也不高,10 天的漫遊上網費用是 138 港幣,大概是每一天不到 14 港幣,就是約台幣不到 55 元,C/P 值挺高 如果你只去日本四天,可以把沒用完的天數保留下來,像是還要去一趟韓國,就可以把之前剩餘的六天上網拿出來再用,自由度很高 ...

December 7, 2018 · 1 min · jkgtw