RethinkDNS 評測:Android 上的開源防火牆與 App 連線控管軟體

computer%20screen%20showing%20data%20visualization...
發表時間:2026 年 09 月 24 日 | 更新日期:2026 年 09 月 24 日 | 編輯:雅寶社區編輯團隊
RethinkDNS 評測:Android 上的開源防火牆與 App 連線控管軟體 - 雅寶社區 · 頂客論壇

  • RethinkDNS(服務端):這是 Celzero 提供的公開 DNS 解析服務,你可以在任何裝置、任何作業系統上把 DNS 設成它的位址,享受它內建的過濾規則。它是一個「服務」。
  • RethinkDNS + Firewall(Android App):這是本文評測的主角,是一款安裝在 Android 手機上的應用程式。它可以使用自家的 DNS 服務,也可以使用別家的,甚至可以搭配本機黑名單完全離線運作。它是一個「工具」。
  • 兩者共用同一個品牌與部分規則資料,但用途完全不同。本文以下提到的「RethinkDNS」,除非特別註明,指的都是 Android App。

    二、核心功能拆解:從 DNS 解析到應用層防火牆

    RethinkDNS 的功能可以分成幾個層次來理解,而這幾層其實是互相疊加的。最底層是「本地 VPN 架構」,中層是「DNS 解析與過濾」,上層是「應用程式連線控管」,最外層則是可以選擇性掛上的「WireGuard 或代理」。理解這個堆疊關係,後面所有設定都會變得直覺。

    本地 VPN 架構:為什麼它不需要 Root 權限

    Android 從 4.0 之後就提供了 VpnService API,允許應用程式建立一個「本機 VPN 介面」,把所有網路流量導進自己的處理程序。這個機制原本是為了讓 VPN 客戶端運作,但因為流量不必真的離開裝置,也可以用來做本地過濾。

    RethinkDNS 正是利用這個機制。當你首次啟動並授予 VPN 權限時,它會建立一個 loopback 介面,把所有 App 的對外連線先攔下來,判斷是否符合規則,再決定放行、阻擋或改寫。整個過程發生在手機內部,流量不需要繞到任何外部伺服器,因此不會拖慢連線速度,也不涉及資料外送。

    系統列的 VPN 圖示會一直顯示,這點常被誤認為「它把我的流量傳出去了」。事實上那只是 Android 對 VpnService 的統一提示,無法區分「真 VPN」與「本地過濾介面」。這是作業系統層級的限制,不是 App 的問題,但確實是新手最容易誤解的地方。

    DNS 解析器:DoH、DoT、DNSCrypt 與自訂上游

    DNS 是網路上最古老也最容易被忽視的環節。傳統 DNS 查詢以明文傳輸,你的電信商、公共 Wi-Fi 管理者、甚至同一網段的人都可能看到你查了哪些網域。RethinkDNS 在這一層提供了相當完整的現代協定支援:

  • DNS over HTTPS(DoH):把 DNS 查詢包進 HTTPS 加密通道,是目前最普及的加密 DNS 方案,穿透性最好。
  • DNS over TLS(DoT):使用專用連接埠 853 的加密 DNS,效率通常略優於 DoH,但部分網路會封鎖 853。
  • DNSCrypt:較早期的加密 DNS 協定,仍有一群忠實的公開伺服器支援。
  • DNS over HTTP/3(DoH3):在新版中逐步加入的選項,利用 QUIC 降低握手延遲。
  • 更實用的是它允許你混搭多個上游。你可以設定一組「主要解析器」與一組「備援解析器」,當主要解析器逾時或失敗時自動切換。這在對外網路品質不穩的環境下非常有用,例如行動網路訊號邊緣地帶。

    此外,RethinkDNS 也支援在 App 內自建「自訂 DNS 規則」,用萬用字元(wildcard)方式把特定網域強制導向某個解析結果。這對開發者、測試人員、或想要封鎖特定服務的人來說,是相當有價值的細節功能。

    網域黑名單與規則引擎

    DNS 過濾的核心是黑名單。RethinkDNS 內建了多組知名的封鎖清單,包含廣告、追蹤器、惡意軟體、釣魚網站等分類。這些清單多半來自社群維護的公開專案,例如 StevenBlack、OISD、AdGuard 清單等。

    規則引擎的處理順序大致如下:

    檢查是否命中「自訂允許清單」(白名單優先)。

    檢查是否命中「自訂封鎖清單」。這兩份清單由使用者自行維護,優先權最高。

    檢查是否命中已啟用的內建黑名單分類。

    若以上皆未命中,則依使用者選擇的解析策略處理(放行、導向指定解析器、或直接回傳 NXDOMAIN)。

    值得注意的是,RethinkDNS 的過濾是在裝置本機執行。也就是說,黑名單會下載到手機上,DNS 查詢的比對也在手機完成,不需要把你的瀏覽紀錄送到任何人的伺服器去做「判斷」。這一點和許多雲端 DNS 過濾服務的架構有本質差異。

    應用程式連線控管(App Firewall)

    這是 RethinkDNS 與一般 DNS 過濾器最大的分水嶺。多數廣告阻擋工具只能管「網域」,但 RethinkDNS 可以管「應用程式」——而且是細到連線類型的層級。

    在 App 清單中,你可以針對每一個已安裝的應用程式設定:

    允許/封鎖 Wi-Fi 連線:禁止該 App 在無線網路下連線。

    允許/封鎖行動數據連線:禁止該 App 使用 4G/5G。

    允許/封鎖背景連線:App 不在前景時是否仍可傳輸資料。

  • 是否允許繞過 VPN(bypass):讓特定 App 不受 RethinkDNS 的過濾影響。
  • 這四組開關組合起來,能處理非常多現實場景。例如:某個遊戲只有在你開著螢幕時才需要聯網,你就可以封鎖它的背景連線,省下電量與流量;某個中國來源的 App 你不得不用,但不想讓它在半夜偷偷上傳資料,就把背景連線關掉;某個銀行 App 會偵測 VPN 而拒絕運作,就把它設為 bypass。

    這種顆粒度,過去通常只有 Root 後的 iptables 或 Xposed 模組才能做到。RethinkDNS 用 VpnService 在非 Root 環境重現了大部分能力,這是它技術上最值得肯定的一點。

    WireGuard、SOCKS5 與代理鏈整合

    RethinkDNS 還有一個常被忽略的進階功能:它可以同時扮演「防火牆」與「VPN 客戶端」。你可以在同一套 App 內設定 WireGuard 設定檔,讓過濾後的流量再經由 WireGuard 隧道送出。

    順序上是這樣的:App 流量 → RethinkDNS 過濾 → 通過的流量 → WireGuard 隧道 → 外部伺服器。這意味著你不需要同時跑兩套 VPN App(Android 系統一次只允許一個 VpnService 生效),也不需要 Root 去做串接。

    此外,它也支援將流量轉發到本機或遠端的 SOCKS5 代理,甚至可以把 DNS 查詢走一條路、實際流量走另一條路。對進階使用者而言,這等於把手機變成一個可以靈活調度的網路節點。當然,這些功能對一般使用者來說屬於「可以不用,但不能沒有」的類型。

    三、安裝與實際設定流程

    功能講完,接下來談實際操作。RethinkDNS 的介面在同類工具中屬於「資訊密度偏高」的那一類,第一次打開會有點不知所措。以下按照建議順序拆解設定流程。

    首次啟動與權限請求

    安裝完成後首次啟動,App 會要求兩項主要權限:

  • VPN 連線權限:這是核心,用於建立本地過濾介面。系統會跳出一個明確的同意視窗。
  • 通知權限:用於顯示常駐通知,讓你知道過濾正在運作,也方便快速切換。

    它不會要求通訊錄、位置、儲存空間等不相關權限,這在 Android 應用中算是相當克制。若你選擇不安裝來自 Google Play 的版本,也可以從 GitHub Releases 或 F-Droid 取得 APK,功能基本相同,差別只在於更新機制。

    啟動後建議先到「設定」把介面語言切到繁體中文(若你的版本支援),並且把「啟動時自動開啟」關掉,等到你確認規則都設定正確再打開,避免一開機就被自己設錯的規則斷網。

    設定 DNS 與黑名單

    進入 DNS 設定頁面,你會看到解析器清單。建議的起點是:

  • 選擇一組你信任的 DoH 解析器,例如 Cloudflare、Quad9、或 Celzero 自家的端點。
  • 再選一組作為備援,最好位於不同網路路徑上,避免同時失效。

  • 到「黑名單」區塊,勾選你要啟用的清單分類。原則是「先少後多」——一開始只開廣告與追蹤兩類,確認日常使用沒有問題,再逐步加入更多清單。
  • 很多人一次勾選十幾份清單,結果把某些正常服務也擋掉了,然後怪工具難用。實際上清單越多,誤殺機率越高,這是必然的取捨。比較務實的做法是:把 RethinkDNS 的「查詢記錄」打開,觀察一兩天,看看有哪些被擋下的網域其實是你需要的,再把它們加進白名單。

    建立應用防火牆規則

    切換到「應用程式」頁籤,你會看到手機上所有 App 的清單,每一列旁邊有幾個圖示對應不同的連線類型。點進去可以個別調整。

    建議的策略是「預設寬鬆、重點緊縮」:

    不要一開始就封鎖所有 App 的背景連線,那會導致訊息延遲、推播失效,體驗會很差。

    先處理你明確不信任的 App,或明顯不需要背景連線的遊戲、工具類程式。

    社群軟體、通訊軟體通常需要背景連線才能收訊息,除非你確定不需要即時通知。

    另外,App 清單上方通常有搜尋與排序功能,可以依「最近使用」或「資料用量」排序,這對於找出「誰在偷偷吃流量」非常方便。

    進階設定:封包記錄與除錯

    如果你遇到「某個 App 明明允許連線卻不能用」的情況,可以打開連線記錄來除錯。RethinkDNS 的記錄頁面會顯示每一個被處理的連線:來源 App、目標網域或 IP、使用的協定、以及最終處置(允許/封鎖)。

    這是它最有價值的功能之一。你可以清楚看到某個 App 在背景試圖連到哪些位址,很多時候你會驚訝地發現,一個簡單的計算機 App 居然在連廣告聯播網與分析服務。這些資訊本身就足以改變你對手機生態的認知。

    不過要提醒的是,開啟詳細記錄會略微增加耗電與儲存佔用,長期開啟並非必要。建議在調查問題時打開,平時可以關閉或縮短保留時間。

    四、實測表現:效能、耗電與相容性

    功能再強,如果拖慢手機、吃掉半顆電池,那也是白搭。以下是筆者在 Android 中階機種(約 6GB RAM、Android 13)上的實際使用觀察,並非實驗室數據,但足以反映日常感受。

    網頁載入與 DNS 延遲測試

    在開啟 RethinkDNS 與關閉的狀態下反覆測試常見網站,主觀感受上差異不明顯。這是因為 DNS 查詢有快取機制,且本地過濾的判斷成本極低(本質上是一次雜湊表查詢)。只有在第一次造訪某個網域、或快取過期時,才會多出一次解析的往返。

    真正影響延遲的反而是你選擇的上游解析器。如果選了一個回應較慢的 DoH 端點,那感受到的延遲會遠大於「有沒有開防火牆」這件事。因此在抱怨變慢之前,先換一組解析器試試,通常就能解決。

    電池續航影響

    這是使用者最關心的問題。結論是:有影響,但通常可接受,且與使用強度高度相關。

    因為 RethinkDNS 需要維持一個常駐的 VpnService 並處理每一個連線,它必然比不開任何過濾時要多耗一些電。實際觀察下,在中度使用(整天正常收訊息、偶爾滑社群、看一些影片)的情況下,額外耗電大致落在個位數百分比區間。但如果你是一個手機裡裝了上百個 App、而且很多都有背景連線的人,耗電差異就會更明顯,因為每一條連線都要經過處理。

    幾個可以降低耗電的設定:

    關閉不必要的詳細記錄。

    減少啟用的黑名單數量與長度(清單越大,比對成本越高)。

    避免同時掛 WireGuard 與複雜代理鏈,除非你確實需要。

    在系統設定中把 RethinkDNS 加入電池優化白名單,避免系統反覆喚醒它。

    與其他 App 的相容性問題

    由於採用了 VpnService,RethinkDNS 與其他 VPN 應用本質上互斥。你不能同時開著它和另一款 VPN App,系統只會允許其中一個生效。若你有商業 VPN 需求,解法是把 WireGuard 設定直接匯入 RethinkDNS,或把 VPN App 設為例外。

    另一個常見問題是部分 App 會偵測 VPN 而拒絕服務,特別是某些銀行、串流平台或遊戲。這時可以在應用清單中把該 App 設為「繞過」,讓它的流量不經過 RethinkDNS。要注意的是,繞過之後該 App 也不受 DNS 過濾保護,這是無法兩全的。

    還有一種情況是「拒絕連線」而非「無法連線」:例如某個 App 在背景連線被擋之後,會反覆重試,導致耗電增加。這通常表示你擋到了它運作所必需的端點,建議查看記錄後調整規則。

    五、與同類工具的比較

    Android 上的連線控管工具不少,各有側重。以下用表格整理幾款常見工具的核心差異,方便你判斷 RethinkDNS 是否適合自己。

    工具

    開源

    App 層防火牆

    加密 DNS

    WireGuard 整合

    主要定位

    RethinkDNS

    是(MPL 2.0)

    支援,顆粒度細

    DoH/DoT/DNSCrypt

    支援

    全能型連線控管平台

    NetGuard

    支援,成熟穩定

    有限

    不支援

    純防火牆

    Blokada

    部分(新版本閉源)

    基本

    支援

    支援(付費)

    廣告阻擋為主

    AdGuard for Android

    支援

    支援

    不支援

    廣告過濾與瀏覽防護

    TrackerControl

    支援

    有限

    不支援

    追蹤器可視化與封鎖

    從表中可以看出,RethinkDNS 的獨特之處在於「功能廣度」。它是少數同時把 DNS 加密、網域過濾、App 防火牆、VPN 隧道整合在單一 App 中的開源方案。NetGuard 在純防火牆的穩定性與成熟度上仍有優勢,AdGuard 在過濾規則的商業化維護與使用者體驗上更精緻,但若你要的是「一個 App 解決所有連線控管需求」且堅持開源,RethinkDNS 幾乎是唯一選項。

    值得一提的是,RethinkDNS 的介面複雜度也是這份清單裡最高的。它給予使用者的自由度換來的是學習成本,這點在選擇時必須納入考量。

    六、優點與缺點總整理

    值得推薦的理由

  • 完全開源且無商業追蹤:沒有廣告、沒有帳號、沒有分析 SDK,程式的行為可以被檢驗。
  • 功能整合度極高:DNS 加密、黑名單過濾、App 防火牆、WireGuard、代理轉發全部內建,不需要拼裝多套工具。
  • 非 Root 即可運作:透過 VpnService 實作,一般使用者不需解鎖 Bootloader 或刷機。
  • 本機過濾,不外送資料:黑名單在本機比對,查詢紀錄不會上傳到開發者伺服器。
  • 透明度高:連線記錄讓使用者清楚看到每個 App 的實際行為,本身就是一種教育工具。
  • 持續維護:專案活躍,更新頻繁,並非放生專案。

    需要注意的不足

  • 學習曲線偏陡:設定項多,新手容易設錯導致斷網或通知延遲,需要一些耐心。
  • 耗電與效能仍有代價:常駐 VpnService 必然有成本,重度使用者感受會更明顯。
  • 與其他 VPN 互斥:系統限制使然,無法同時與另一套 VPN App 並存。
  • 部分 App 相容性問題:偵測 VPN 的應用需要個別設定例外。

  • 介面資訊密度高:對非技術背景的使用者不夠友善,中文化雖有但用語偶有生硬之處。
  • 沒有官方技術支援:開源專案依賴社群與 GitHub Issue,遇到問題需要自行查找。
  • 七、適用族群與使用建議

    誰適合用 RethinkDNS

    以下幾類人會特別感受到它的價值:

  • 重視隱私的進階使用者:想確切知道手機上的 App 連到哪裡,並且有辦法自行判斷與調整規則。
  • 不想 Root 但需要防火牆的人:過去只有 Root 才能做到的 App 層級控管,現在可以無痛達成。
  • 想擺脫廣告與追蹤卻不信任商業軟體的人:對於「用防廣告軟體卻被防廣告軟體追蹤」這件事感到荒謬的使用者。
  • 需要 WireGuard 又不想犧牲過濾功能的人:直接把設定檔匯入,一次解決兩個需求。
  • 喜歡研究網路行為的人:連線記錄本身就是一座資訊礦山。

    相反地,如果你只是想要「裝了就不要管、自動擋廣告」的體驗,那麼 RethinkDNS 可能會讓你感到挫折。這類需求用商業化程度較高的工具會更省心,代價是隱私與控制權的部分讓渡。

    隱私設定的務實建議

    很多人一頭熱把所有隱私開關開到最大,結果手機變得難用,幾天後就整組關掉。比較務實的做法是分階段:

  • 第一週:只開 DNS 加密與基本廣告黑名單,不碰 App 防火牆,先習慣它的存在。
  • 第二週:打開連線記錄,觀察哪些 App 有異常的背景連線,建立自己的判斷基礎。
  • 第三週起:針對已確認不需要背景連線的 App,逐一封鎖,並觀察是否有副作用。
  • 長期:定期檢視黑名單與白名單,清掉不再需要的規則,保持設定精簡。

    記住一個原則:過度封鎖帶來的困擾,往往大於它帶來的隱私收益。真正有效的隱私策略是「精準」,而不是「全擋」。

    八、結論:值得長期留在手機裡的工具嗎?

    RethinkDNS 不是一款「開箱即用、零學習成本」的應用,它的設計哲學更接近專業工具:把控制權交給你,同時也把判斷責任交給你。這在當今愈來愈多軟體選擇「幫你決定一切」的趨勢下,反而顯得珍貴。

    從技術角度看,它把 VpnService 這個被大量濫用的 API,用在了一個相對正當且透明的用途上;從隱私角度看,它做到了開源、無追蹤、本機過濾這三件關鍵的事;從功能角度看,它把過去需要多套工具才能拼湊出的能力整合進一個 App。

    它的缺點同樣明顯:學習曲線、耗電代價、相容性問題、以及不夠親切的介面。這些都是真實存在的門檻,不應該被「開源好棒」的濾鏡掩蓋。

    所以結論其實取決於你是誰。如果你願意花一點時間理解自己的手機在連什麼、願意接受偶爾需要調整規則的麻煩,那麼 RethinkDNS 非常值得長期留在手機裡,甚至可能改變你使用 Android 的方式。如果你只想要一個安靜運作的廣告阻擋器,那它可能不是最省事的選擇——但它依然是這個領域裡,值得被認識與尊重的開源作品。

    常見問題 FAQ

    RethinkDNS 會看到我的瀏覽內容嗎?

    RethinkDNS 在裝置本機處理連線,理論上技術上能觀察到連線的目標位址。但因為它是開源軟體,程式碼可被檢驗,而且專案明確聲明不收集、不上傳任何使用者資料。真正需要注意的是你選擇的「上游 DNS 解析器」,那一端才會看到你的查詢內容,因此選擇可信的解析器很重要。

    為什麼裝了之後某些 App 不能上網?

    最常見的原因是該 App 依賴被你封鎖的網域或連線類型。請到連線記錄中查看被阻擋的項目,或直接將該 App 設為「繞過」,讓它不受過濾影響。也可以把自己加的黑名單規則暫時停用,逐一排查。

    它跟一般 VPN 有什麼不同?

    一般 VPN 會把你所有流量導向遠端伺服器,藉此隱藏你的真實 IP;RethinkDNS 建立的本地 VPN 介面只用於在手機內部攔截與過濾流量,流量不會因此繞道。當然,如果你在 RethinkDNS 內設定 WireGuard,它就同時具備了真正的 VPN 功能。

    需要 Root 嗎?

    不需要。它完全依靠 Android 官方的 VpnService API 運作,一般未解鎖的手機即可安裝使用。

    會不會很耗電?

    會有額外耗電,但幅度取決於使用強度與設定複雜度。關閉詳細記錄、精簡黑名單、避免同時掛多層代理,都能有效降低影響。

    可以同時使用其他 VPN 嗎?

    不行。Android 系統同一時間只允許一個 VpnService 生效。若你有多個 VPN 需求,建議把 WireGuard 設定檔直接匯入 RethinkDNS,由它統一處理。

    🏠 返回首頁