很多人都以為 iPhone 上裝了 AdGuard 只能在 Safari 裡攔廣告,App 裡的開屏、遊戲彈窗照樣滿天飛。其實不是 AdGuard 不夠強,是你沒挖到它的完整形態。iOS 的封閉生態確實給廣告攔截設了各種條條框框,但 AdGuard 用一套組合拳,完全可以做到接近 Android 那種「全局清靜」——關鍵就在 DNS 過濾和本地代理的配合上。
為什麼 iOS 去廣告總被限制在 Safari?
根源在 Apple 的沙盒機制。iOS 不允許第三方 App 去攔截其他 App 的網路流量,所以常規的廣告攔截擴展只能貼在 Safari 上,透過內容攔截器(Content Blocker)的規則告訴 Safari 哪些域名、元素不要載入。這就是為什麼你明明開了「全局過濾」,打開 Chrome 或者某款新聞 App,廣告依然活著。這不是 AdGuard 的鍋,所有同類工具在 iOS 上都面臨一樣的圍牆。Reddit 上也有用戶吐槽,「AdGuard 效果很好,唯一的缺點是只適用於 Safari」,話沒錯,但只說了半句。後半句是:你可以用 DNS 層面的東西把圍牆鑿開。
AdGuard DNS 設定檔:把廣告擋在系統之外
如果你不想折騰,這條路最簡單也最快。AdGuard 提供一整套免費的 DNS 服務,專門用於屏蔽廣告、追蹤器和成人內容。在 iOS 上,你不需要越獄,也不需要時刻開著 VPN 圖示,只要裝一個設定檔,所有網路請求裡的廣告域名就會被 DNS 直接解析到黑洞。
操作步驟:
- 打開 AdGuard 官網的 DNS 設定頁面(adguard-dns.io),選擇「iOS」標籤。
- 根據需求選伺服器:預設版屏蔽廣告和追蹤器,家庭保護版多一層成人內容過濾,非過濾版只管隱私不限廣告。
- 點擊「下載設定檔」,系統會彈出描述檔安裝提示,去「設定-一般-VPN 與裝置管理」裡點安裝。
- 完成後連上 Wi-Fi 或行動數據,廣告就這麼被掐在 DNS 請求階段了。
這個方法的好處是無需額外 App 一直運行,裝完設定檔甚至可以刪掉 AdGuard App 本體(雖然不建議,因為組合使用更香)。Reddit 上很多用戶也是這麼幹的,一個從 Android 轉過來的用戶分享:「為 iOS 安裝 AdGuard DNS 設定檔,可以全系統阻止廣告,甚至在遊戲或桌布應用程式中。」連那種臃腫小遊戲裡的突然彈窗都能攔,因為它不是干擾介面,而是直接讓廣告請求失敗,廣告位直接空白或顯示佔位異常,體驗清爽一大截。
不過 DNS 過濾也有局限。它只能基於域名做屏蔽,無法處理同一域名下的不同路徑,也不支援元素隱藏、腳本注入等高級操作。所以有些網站的反反廣告、空白留白區域它就束手無策了。
把 AdGuard 本地代理拉滿:Safari 之外的進階玩法
AdGuard for iOS 的完整形態其實是 「Safari 內容攔截 + 本地 DNS 代理」 雙引擎。在 App 裡進入「保護」標籤,把「DNS 保護」開關打開,並選擇「AdGuard DNS」或你自訂的 DNS。這時候它會建立一個本地 VPN 隧道(注意,這不是遠端 VPN,是裝置本地的虛擬網路介面),把所有流量接管過來進行過濾。
這個模式下,你可以做三件純 DNS 設定檔做不到的事:
- 自訂過濾規則:直接導入喜愛的規則列表,比如 EasyList、AdGuard 基礎規則、中文補充規則,甚至單獨針對某個 App 的廣告域名寫一條用戶規則。
- 查看即時日誌:哪個 App 在背景偷偷請求追蹤域名,一清二楚,反手就是一個屏蔽。
- 相容性更高:本地代理能處理一部分 DNS-over-HTTPS 或 DoT 的加密請求,避免被電信業者或路由器劫持 DNS。
代價就是狀態列會一直顯示 VPN 圖示,有點礙眼,而且會稍微增加一丁點電量消耗。另外 App Store 審核政策要求這類 VPN 本地的功能必須明示,所以 AdGuard 會在開啟時彈出提示,很多人被唬住不敢開,其實這是完全合規的本地服務,不存在隱私外洩。

