Clash Android 客戶端使用要點:VpnService 授權與省電白名單設定
Android 版的 Clash 客戶端並非透過傳統 root 方式接管流量,而是依賴系統提供的 VpnService 介面建立一張虛擬網卡。搞懂這套機制的授權流程與系統限制,再針對不同廠牌的客製化系統做好省電白名單與自啟動設定,才能避免應用程式被背景回收導致莫名斷線。
Android 版的 Clash 客戶端並非透過傳統 root 方式接管流量,而是依賴系統提供的 VpnService 介面建立一張虛擬網卡。搞懂這套機制的授權流程與系統限制,再針對不同廠牌的客製化系統做好省電白名單與自啟動設定,才能避免應用程式被背景回收導致莫名斷線。
在 Android 系統中,一般應用程式並沒有權限直接竄改系統路由表或攔截其他 App 的網路請求。Google 為此提供了一套官方介面——VpnService,允許應用程式在取得使用者一次性授權後,建立一張虛擬網路介面(通常命名為 tun0),並宣告自己願意接管全部或部分流量。系統隨後會把符合條件的封包轉發給這個虛擬介面,由發起授權的應用程式讀取、處理、再轉發出去。
Clash 及其核心 Clash Meta(mihomo)在 Android 上正是借助這套機制實現全域代理:客戶端申請 VpnService 權限成功後,系統網路清單裡會出現一個類似「VPN 已連線」的圖示,這不代表流量真的走了傳統 VPN 伺服器,而是 Clash 在本機把符合規則的流量重新分派到已設定的代理節點,不符合規則的流量則直接放行。這也是行動裝置上實現類似 TUN 模式全域接管效果的唯一合規方式,不需要 root 權限。
VpnService 建立的虛擬網卡在系統層面顯示為「VPN 連線中」,但其資料流向完全由本機應用程式的設定檔決定,是否代理、代理到哪個節點都取決於規則與策略群組設定,與傳統意義上連上某台遠端 VPN 伺服器接管全部流量的模式並不相同。
首次在 Android 上啟動 Clash 客戶端並點下「開始代理」或類似按鈕時,系統會跳出官方權限確認視窗,內容大致是「此應用程式想要建立 VPN 連線,是否信任此應用程式」。這是系統層級的安全確認,任何使用 VpnService 的應用程式首次執行都會遇到,屬於正常流程。
如果點下授權後沒有跳出系統對話框,或點選「確定」後立刻退回未連線狀態,通常是裝置上已有另一個啟用中的 VPN 應用程式(包括其他代理工具或企業 MDM 政策)。Android 系統同一時間只允許一個 VpnService 保持啟用,需先關閉衝突的應用程式再重試。
VpnService 建立的連線依賴一個前台服務(Foreground Service)維持存活,系統要求這類長時間占用網路資源的服務必須顯示一則常駐通知,這也是為什麼連上代理後通知欄會一直有一則無法清除的提示。這則通知不是廣告或多餘資訊,而是系統強制要求的存在證明,若被第三方清理工具強行滑掉通知或結束程序,虛擬網卡會隨之失效,代理立即中斷。
部分使用者習慣用手機內建的「一鍵清理」或第三方安全軟體清理背景程式,這類操作往往會連通知一起把 Clash 的程序清掉。建議在系統設定裡把該應用程式從「可清理背景應用程式」清單移除,或在清理工具裡加入信任名單,避免連線被意外中斷。
看到常駐通知不會消失屬於正常現象,代表服務仍在前台執行,代理鏈路穩定;若強行下拉清除該通知,虛擬網卡會被系統回收,需要重新開啟客戶端並再次授權才能恢復連線。
台灣市面上常見的手機廠牌在 Android 原生系統基礎上都加入了更激進的省電管理策略,目的是延長續航,但代價是會主動凍結、限制甚至砍掉被判定為「不活躍」的背景程式,這正是 Clash 在部分機型上長時間閒置後突然斷線的主要原因。以下是幾家常見廠牌的排查思路,具體選單文字可能隨系統版本調整,但設定邏輯大致相同。
無論哪個品牌,核心思路一致:找到系統的電池最佳化 / 背景管理 / 自啟動三個入口,分別把 Clash 設為白名單或不受限制狀態。原生 Android(如 Pixel 系列)相對寬鬆,通常只需在「設定 → 應用程式 → 特殊應用程式存取權 → 電池最佳化」裡把該應用程式設為「不要最佳化」即可。
如果希望重新開機手機後代理能自動恢復,除了上文提到的自啟動開關,還需要在客戶端本身的設定裡確認是否開啟「隨系統啟動」或「開機自動連線」相關選項(具體文字依客戶端而異)。開啟這類選項後,客戶端會在系統廣播「開機完成」事件時嘗試喚起自身程序並重新建立 VpnService 連線,但前提是系統層面的自啟動權限已經放行,否則應用程式本身根本無法被喚醒,內部設定形同虛設。
另外要注意,部分廠牌系統對「背景彈出畫面」與「自啟動」做了區分管理,即使自啟動開關已開啟,系統仍可能限制應用程式在背景自行彈出授權視窗,這種情況下開機後需要手動點開一次客戶端完成靜默重連,之後才能維持穩定狀態。
如果代理經常在鎖螢幕一段時間後自動斷開,可依下列順序排查:
把省電白名單、自啟動權限、背景鎖定三項一次設定完成後,大多數機型可以維持代理長時間穩定運作,不需要每次重開機後重新手動操作。