Clash Android 使用指南:VpnService 與省電白名單設定
說明 Android 系統代理依賴、VpnService 權限、省電限制與背景常駐設定,降低連線意外中斷的機會。
在 Android 手機上使用 Clash 用戶端時,連線失敗或執行一段時間後自動停止,通常不只是訂閱內容的問題。Android 的網路權限模型、VpnService 授權、電池最佳化策略、手機品牌的背景管理,以及用戶端採用的執行模式,都會影響代理是否能持續運作。安裝用戶端後,先確認代理模式與系統權限,再處理省電設定,這樣的排查順序通常比反覆更換節點有效。
本文以支援 Clash Meta(mihomo)核心的 Android 用戶端為背景,說明系統代理、VpnService 與 TUN 模式之間的關係,並提供從首次授權到背景常駐的檢查流程。不同手機品牌的選單名稱可能略有差異,但判斷依據大致一致:用戶端是否取得 VPN 權限、系統是否允許它在背景執行、目標應用程式的流量是否經過代理,以及設定中的 DNS 與規則是否能正常完成解析。
一、Android 上的代理連線依賴哪些條件
Android 應用程式通常不會直接讀取 Clash 的本機連接埠。Clash 用戶端需要在本機啟動代理核心,接著透過系統代理設定或 Android 的 VpnService 接管應用程式流量。兩種方式的涵蓋範圍不同,不能簡單理解為「開啟開關後就完全相同」。選擇哪一種方式,取決於用戶端實作、應用程式是否遵守系統代理,以及是否需要處理不支援 HTTP 代理的程式。
系統代理與 VpnService 的差異
系統代理通常會向應用程式提供 HTTP 或 SOCKS 代理位址。能遵守 Android 系統代理設定的瀏覽器、部分網路工具與應用程式,會將請求傳送至 Clash 的本機監聽連接埠,再由規則組決定直連、代理或拒絕。系統代理的路徑較輕量,通常不會接管所有應用程式的網路介面,但有些應用程式會忽略系統代理,或只針對特定請求使用自己的網路堆疊。
VpnService 是 Android 提供的虛擬網路介面服務。用戶端取得授權後,可以建立本機 VPN 介面,讀取經過該介面的流量,再交由 mihomo 核心處理。這裡的 VPN 是 Android 的本機流量接管機制,不代表用戶端會自動取得遠端 VPN 伺服器;實際出口仍由設定中的代理節點、策略組與規則決定。首次啟用時,系統會顯示 VPN 連線授權提示,使用者必須明確允許,用戶端才能建立通道。
當手機中有不遵守系統代理的應用程式,或需要讓更多 TCP、UDP 流量進入規則處理時,VpnService 通常更適合。代價是系統會顯示 VPN 狀態,而且這項權限通常與其他 VPN 應用程式互斥。同一時間只能有一個應用程式占用系統 VPN 介面;開啟其他 VPN、部分防火牆或網路加速工具後,Clash 可能無法啟動,或已建立的連線會被系統切換。
Clash Meta 與本機網路路徑
Clash Meta(mihomo)負責讀取 YAML 設定、建立代理連線、執行規則比對,並提供 DNS、HTTP、SOCKS、透明代理等功能。Android 用戶端則負責將核心嵌入應用程式、申請系統權限及提供圖形介面。遇到「用戶端已開啟但某個應用程式無法存取」時,應分別檢查這兩個層面:前者著重核心、設定與節點狀態,後者則檢查 VpnService、背景執行,以及應用程式流量是否被排除。
如果只使用系統代理,常見的本機監聽位址可能是 127.0.0.1 搭配 HTTP 或 SOCKS 連接埠;如果啟用 TUN,應用程式流量會先進入虛擬網卡,再由核心依據路由與規則處理。不要將遠端訂閱網址、節點伺服器位址與本機監聽連接埠混為一談。訂閱用來提供設定或節點資訊,本機連接埠則只供手機上的應用程式存取,兩者用途不同。
二、首次安裝與 VpnService 授權順序
安裝完成後,建議依照固定順序操作,避免同時變更多個變數而難以判斷故障來源。先準備設定,再啟動連線;先確認單一節點可用,再測試規則與應用程式。匯入訂閱後不要立即修改大量進階參數,保留一份可還原的基本設定,有助於定位 DNS、路由或規則組造成的問題。
- 確認用戶端來源與核心支援。開啟用戶端的關於頁面或核心資訊頁面,確認目前版本支援 mihomo 或相應的 Clash Meta 功能,並查看 Android 版本需求。不同用戶端的 TUN、指令碼與 DNS 功能並不完全相同。
- 匯入訂閱並完成一次更新。確認訂閱網址可以連線,更新完成後查看代理節點清單與策略組。如果更新失敗,先檢查網路、系統時間與訂閱網址是否完整,不要將更新失敗誤判為 VpnService 故障。
- 選擇明確的代理模式。首次測試可以使用規則模式,並手動為代理策略組選擇一個節點。全域模式適合確認基本連線能力,但長期使用仍應依照規則分流;直連模式下,代理節點不會參與大多數請求。
- 啟動系統 VPN 授權。點選用戶端的連線開關後,Android 會跳出 VPN 連線要求。確認應用程式名稱後選擇允許。若系統提示已有 VPN,先中斷其他 VPN、流量防火牆或同類網路工具,再重新提出授權要求。
- 驗證本機狀態。觀察用戶端是否顯示執行中、VPN 圖示是否出現,以及核心日誌是否持續輸出。接著分別測試一個應直連的網站和一個應經過代理的網站,避免只用單一目標判斷整份設定。
Android 的 VPN 授權是系統層級操作,用戶端無法繞過確認步驟。部分系統會在首次授權後提供「永遠允許」或類似選項,也可能在重新啟動、切換使用者或系統安全策略變更後再次要求確認。遇到授權視窗沒有出現的情況,可以先停止用戶端、關閉其他 VPN,再從系統設定的 VPN 頁面刪除舊連線紀錄,或重新選取該應用程式。
什麼時候需要啟用 TUN 模式
TUN 模式透過虛擬網卡接收流量,適合需要接管不遵守系統代理的應用程式,或需要讓 TCP、UDP 請求統一進入 mihomo 規則流程的情境。它不是提升節點速度的開關,也不會自動修復無效訂閱、錯誤 DNS 或無法使用的節點。啟用 TUN 後,系統路由、DNS 劫持與應用程式排除清單會變得更重要,設定錯誤可能導致所有應用程式都無法上網。
建議先在系統代理或用戶端預設模式下完成基本連線測試,再啟用 TUN。啟用前記錄原本的 DNS、模式與節點選擇;啟用後只變更一項設定並重新測試。若啟用 TUN 後無法連線,優先檢查 TUN 權限、自動路由、DNS 模式、IPv6 處理方式與其他 VPN 衝突,而不是立即刪除訂閱。
三、省電限制如何造成背景斷線
Android 會根據應用程式使用頻率、螢幕狀態、充電狀態與手機品牌策略限制背景程序。Clash 用戶端在背景執行時,需要維持核心程序、VPN 服務、節點連線與 DNS 請求;如果系統暫停服務或回收程序,可能會出現狀態列 VPN 圖示消失、切回應用程式前已停止、鎖定螢幕後無法存取,或連線仍顯示開啟但實際請求已逾時。
「省電白名單」並不是所有手機都採用的統一名稱。常見入口包括「電池」、「應用程式耗電管理」、「背景活動」、「自動啟動管理」、「電池最佳化」、「背景彈出介面」與「鎖定螢幕清理」。需要調整的是用戶端本身,而不是瀏覽器或被代理的目標應用程式。將用戶端設定為「不限制」或「允許背景活動」,可以降低系統暫停 VpnService 與回收核心程序的機率。
通用設定路徑
- 開啟系統設定,進入應用程式清單,找到正在使用的 Clash Android 用戶端。
- 在電池或耗電管理頁面,將背景使用策略調整為「不限制」、「無限制」或意義相同的選項。
- 在行動網路與 WLAN 頁面,確認允許背景資料。若系統提供「節省流量模式」例外,也將用戶端加入允許清單。
- 如果系統提供自動啟動管理,允許用戶端在開機時啟動或於背景啟動服務。只有確實需要開機自動連線時才啟用,避免擴大背景應用程式範圍。
- 在最近使用的任務介面將用戶端鎖定。部分手機品牌的「全部清除」會結束未鎖定的背景應用程式,即使電池策略已放寬也一樣。
- 鎖定螢幕五至十分鐘後重新測試。不要只在應用程式位於前景時測試,因為前景狀態無法反映背景限制。
部分手機品牌會將同一項限制分散在多個頁面。例如,電池頁面允許背景執行,但「睡眠待機最佳化」仍會在夜間凍結網路;或者用戶端未受到限制,卻因系統的背景彈出權限被關閉而無法重新顯示連線狀態。完成設定後,應重新啟動一次用戶端並觀察實際行為。若問題只在鎖定螢幕、切換應用程式或行動網路切換時出現,通常與省電及網路切換策略的相關性較高。
省電白名單的取捨
允許背景執行會提高用戶端維持程序與網路連線的機會,也可能增加待機耗電。長期使用時,可以先選擇「不限制」來驗證穩定性,確認原因後再逐項恢復限制。若裝置主要在家中使用,鎖定螢幕後不需要代理,可以在用戶端內關閉自動啟動;若需要即時通訊、同步或遠端存取,則應保留 VPN 服務的背景執行權限。
四、訂閱、規則與 DNS 的聯合檢查
權限與背景設定正常後,仍可能出現「部分應用程式可用、部分應用程式無法使用」。這類現象通常需要回到設定層檢查。訂閱更新只是將設定內容下載到用戶端,並不保證每個節點、策略組與規則都適合目前的網路。應先確認訂閱更新時間,再查看目前模式、策略組選擇與規則命中結果。
依現象區分問題範圍
- 所有應用程式都無法存取:檢查 VPN 是否確實連線、目前節點是否可用、TUN 是否取得系統授權、是否存在其他 VPN,以及預設策略組是否選擇了有效節點。
- 瀏覽器可以存取,某個應用程式卻不行:檢查該應用程式是否被用戶端排除,是否使用獨立 DNS、QUIC 或特殊網路介面。TUN 模式可以擴大接管範圍,但仍須遵守用戶端的應用程式繞過設定。
- 網域無法開啟,直接使用 IP 偶爾可用:重點查看 DNS 模式、上游 DNS 可達性、Fake-IP 設定,以及規則對 DNS 請求的處理方式。不要只更換代理節點。
- 鎖定螢幕後中斷,回到前景便恢復:優先重新檢查電池最佳化、自動啟動、背景資料與最近使用任務鎖定,不要先修改規則。
- 只有特定地區或服務異常:查看規則命中的策略與節點出口地區。策略組可能選到了直連,或規則將目標網域送入不適用的策略。
規則模式會按照規則由上到下比對,命中後交由對應策略處理;末尾的 MATCH 通常負責兜底。匯入不同來源的訂閱後,規則集名稱、策略組名稱與 DNS 行為可能不同。修改規則或策略組後,必須儲存並執行設定重新載入,再重新發出請求。可以使用用戶端的連線日誌查看網域、命中的規則與最終策略,這比只根據瀏覽器錯誤頁面判斷更接近實際鏈路。
Fake-IP 與 Android 應用程式相容性
Fake-IP 模式會為網域指派虛擬位址,並在後續連線中根據對應關係還原網域,再交由規則處理。它可以減少部分 DNS 解析等待,但並非所有區域網路探索、銀行類應用程式、遊戲或需要真實區域網路位址的程式都適合。若只有某一類應用程式異常,可以嘗試將相關網域加入 Fake-IP 排除清單,或使用用戶端提供的相容模式;具體欄位應以目前核心支援的設定說明為準。
DNS 設定應與 TUN 和規則設計保持一致。啟用 TUN 後,如果 DNS 請求繞過核心,可能造成規則判斷與實際解析出口不一致;如果上游 DNS 在目前網路中無法連線,則會表現為所有網域逾時。排查時可以暫時採用用戶端建議的基本 DNS 設定,確認連線能力後再恢復自訂上游。每次只變更一個參數,並記錄修改前後的結果。
五、連線中斷後的標準排錯流程
建議將排錯分為「系統層、用戶端層、設定層、目標應用程式層」四個步驟。如此可以避免將背景回收、節點故障與規則設定錯誤混在一起。以下流程適用於鎖定螢幕後斷線、切換 Wi-Fi 與行動網路後失效,以及 Android 顯示 VPN 已連線但應用程式無法上網等情況。
- 確認系統層。查看狀態列 VPN 圖示,進入系統 VPN 頁面確認目前應用程式仍處於連線狀態;檢查是否啟用了其他 VPN、代理、私人 DNS 或流量防火牆。
- 確認用戶端層。開啟用戶端查看執行狀態、核心日誌與活動連線。若程序已停止,重新啟動並檢查電池限制;若程序仍在執行,繼續檢查設定。
- 確認設定層。檢查訂閱是否過期、節點是否可用、策略組是否指向可用節點、目前模式是否為規則或全域,並查看請求對應的規則命中情況。
- 確認 DNS 與路由。在 TUN 模式下檢查自動路由與 DNS 設定;在系統代理模式下確認目標應用程式是否遵守系統代理。必要時暫時關閉 IPv6 或 Fake-IP 相關選項進行對照測試。
- 確認目標應用程式。清除目標應用程式的網路狀態後重試,檢查應用程式是否有自己的代理、憑證驗證、地區限制或登入工作階段問題。只有單一應用程式失敗時,不宜直接判定 Clash 整體故障。
如果重新啟動用戶端後立即恢復,但再次鎖定螢幕又中斷,應重點檢查背景策略。如果更換 Wi-Fi 後失效,查看網路切換時是否重新建立 VPN,以及新網路是否阻擋訂閱或節點連接埠。如果 VPN 圖示持續存在但所有網域都無法解析,應重點檢查 DNS;如果網域能解析但連線逾時,則查看節點、規則策略與傳輸協定。透過現象定位問題層級,可以減少無目的地重複匯入訂閱。
檢查順序:
1. VPN 授權與其他 VPN 衝突
2. 用戶端背景執行與電池最佳化
3. 核心狀態、訂閱更新時間與節點可用性
4. 模式、策略組、規則命中與 DNS
5. 目標應用程式的獨立網路行為
六、適合長期使用的 Android 設定習慣
長期執行時,建議保留一套可正常運作的基本設定,並在修改前匯出或複製目前設定。訂閱更新、核心升級、系統升級與手機品牌安全策略變更,都可能改變網路表現。更新後先測試常用瀏覽器、即時通訊與需要登入的應用程式,再逐步啟用 TUN、Fake-IP、IPv6 或自訂規則等進階功能。
選擇節點時,先選取延遲穩定且連續測試成功的節點,再觀察實際存取情況。延遲測試只反映測試目標與節點之間的部分鏈路,不能單獨證明所有服務都可用。策略組可以保留一個明確的預設節點,避免訂閱更新後自動選到無法使用或不適合的節點。規則分流則應盡量保持易讀,發生異常時能快速找出網域對應的策略。
Android 系統升級後,應重新檢查四項設定:VPN 授權是否仍然有效、用戶端是否允許背景活動、電池最佳化是否重新啟用,以及最近使用的任務是否仍保持鎖定。若使用工作資料、應用程式雙開或多使用者功能,也要確認實際執行用戶端的使用者空間擁有獨立的 VPN 權限。部分系統會分別管理工作資料與個人資料的網路服務,不能只檢查其中一側。
完成設定後,可以進行一次完整驗證:在前景啟動用戶端,確認 VPN 圖示出現;在規則模式下測試直連與代理目標;鎖定螢幕等待數分鐘後再次測試;切換一次 Wi-Fi 與行動網路;最後查看日誌是否持續出現連線錯誤。這個過程涵蓋使用 Clash Android 時最常見的權限、背景與設定問題,也能協助區分系統限制與節點本身的故障。