1. 現象:TUN 正常但 UWP「像沒代理」
在實務上,最常見的描述是:Chrome / Edge(桌面版)顯示的 IP 已經是節點出口,但開啟 Microsoft Store 下載仍緩慢或失敗;或是某個 UWP 內建瀏覽元件(WebView)始終連不上後端 API。此時若僅檢查「TUN 開關是否打開」,往往得不到答案,因為流量其實可能根本沒有以你預期的方式進入 Clash 的規則鏈,或是在進入前就被 UWP 的沙箱政策擋在 localhost 之外。
另一種容易誤判的情況,是使用者看到「系統代理已開」就以為萬無一失。Windows 上同時存在系統代理、TUN 虛擬介面、防火牆設定與應用程式自己的網路堆疊;UWP 又常透過 AppContainer 執行,與傳統 exe 路徑不完全相同。若沒有先把「哪一類流量、由哪一個處理序發起」釐清,很容易在規則裡寫了 PROCESS-NAME,卻對不到實際負責連線的執行檔。
本文假設你已能使用 TUN 模式 讓一般應用程式走代理;若 TUN 本身尚未穩定,請先完成介面與權限相關設定,再回頭處理 UWP 特例。
2. 為什麼 UWP 容易成為例外
微軟對傳統桌面程式與 Microsoft Store 應用(UWP / 打包應用)採用不同的隔離模型。多數 UWP 在 AppContainer 內執行,對本機 localhost(127.0.0.1)的連線有額外限制:預設情況下,並非所有 UWP 都能像 Chrome 一樣直接連到本機上的代理埠。若你的 Clash 或本機閘道依賴「應用連到本機某埠再轉發」的模型,UWP 可能在回環(loopback)層就被擋下,外觀上就像「完全沒走代理」。
此外,微軟商店與部分系統元件會使用特定的網路堆疊與背景工作,處理序名稱可能是 WinStore.App.exe、SystemSettings.exe,或是載入 WebView2 時的 msedgewebview2.exe。在 Clash 規則中以 PROCESS-NAME 精準分流時,若寫錯檔名或只寫了主程式而忽略實際發起連線的子程序,就會出現「規則看起來正確卻永遠匹配不到」的狀況。
總結:UWP 問題往往是作業系統網路隔離與規則匹配粒度兩件事並存,而不是單一開關可以解決。接下來我們分別從回環豁免與處理序規則兩條線說明。
3. 回環豁免(Loopback)與 CheckNetIsolation
回環豁免(loopback exemption)指的是允許特定的沙箱化應用程式對本機位址發起連線。當 UWP 需要連到執行在本機的服務(例如本機代理、開發伺服器、或某些客戶端元件)時,若未豁免,連線會失敗或行為異常。微軟提供的工具是 CheckNetIsolation,一般會在以系統管理員身分開啟的命令提示字元或 PowerShell中操作。
實務上常見步驟是:先查詢目前已豁免的項目、再針對特定套件家族名稱(Package Family Name)新增豁免。套件名稱會隨應用更新而固定帶有一段發行者雜湊,例如微軟商店常見的後綴格式。你可以透過系統內建的應用程式清單或 PowerShell 查詢已安裝套件的完整名稱,再將其代入指令。
指令範例(請依實際套件名稱替換)
# List current loopback exemptions (run as Administrator) CheckNetIsolation LoopbackExempt -s # Add exemption for a store app by package family name CheckNetIsolation LoopbackExempt -a -n="Microsoft.WindowsStore_8wekyb3d8bbwe"
實測時建議:每新增一項豁免後,完全關閉再重開該 UWP,必要時重新開機,避免工作階段快取干擾判斷。若你使用多使用者環境,也要注意豁免是否僅對目前使用者生效。對一般使用者而言,重點不是背指令,而是理解「UWP ↔ localhost」這條路預設可能被擋,必須顯式放行。
與 Clash TUN 的關係
開啟 TUN 後,許多流量會改走虛擬介面,理論上可減少「應用程式不支援系統代理」的問題;但若 UWP 仍須與本機元件溝通,或某段連線仍落在回環路徑上,回環豁免仍是獨立維度,不能自動被 TUN「一併修好」。因此實測時請把 TUN 與 Loopback 當成兩張檢查清單,分別打勾。
4. PROCESS-NAME 規則:名稱怎麼寫才對
在 mihomo / Clash Meta 系規則中,PROCESS-NAME 可依「發起連線的處理序檔名」分流。實測上最常踩的坑包括:只寫了主程式、忽略副檔名 .exe、大小寫與實際工作管理員顯示不一致、以及 WebView 與容器程序分離。
建議在工作管理員 → 詳細資料中確認實際執行檔名稱,必要時在測試階段暫時開啟核心日誌或連線記錄(若你使用的 GUI 支援),觀察命中的是哪一條規則。對於透過 Edge WebView2 載入介面的應用,實際對外連線可能顯示為 msedgewebview2.exe,此時規則若只寫應用程式主執行檔,就會對不到。
規則片段範例
rules: # Match by process filename (examples) - PROCESS-NAME,WinStore.App.exe,🔰 Proxy - PROCESS-NAME,msedgewebview2.exe,DIRECT # ... your other rules
請將上述策略組名稱替換為你設定檔中的實際名稱。實測時不要一次堆疊過多 PROCESS 規則,先以單一應用、單一目的(例如「商店下載是否走代理」)驗證,再逐步收斂。若與 DOMAIN / GEOIP 規則並存,也請留意規則由上而下的優先順序:前面已命中的規則會蓋過後面。
5. TUN、系統代理與規則順序的實測心得
在 Windows 上,Clash TUN 能把大量 TCP / UDP 導入虛擬介面,對「不遵循系統代理」的程式特別有幫助。但若你同時開啟系統代理與 TUN,少數情境下會出現預期外的雙重轉發或 DNS 行為差異。實測建議:針對 UWP 問題排查時,先固定一種主路徑(例如僅依賴 TUN + 規則),確認穩定後再考慮疊加,避免變因太多。
DNS 方面,若 UWP 仍解析到錯誤區域的位址,請一併檢查 Clash 的 DNS 與 fake-ip / redir-host 設定是否與你的策略一致;僅修正規則卻未對齊解析結果時,表面症狀會像「規則無效」。這類主題與整體網路架構有關,可搭配本站 規則分流指南 一併閱讀。
最後,請留意防火牆與其他安全軟體是否對 Clash 或虛擬介面設了攔截規則。某些套件會預設阻擋「未簽名的虛擬網卡流量」,症狀同樣會落在「只有特定程式異常」,與 UWP 問題十分相似,需要交叉比對。
6. 分層排查清單
將下列項目依序勾選,可系統化縮小問題範圍;大多數案例在「回環豁免」與「PROCESS-NAME 對應實際程序」兩步即可看到變化。
寫在最後
Windows 與 UWP 的組合,本質上是桌面開放世界與商店沙箱世界並存;Clash TUN 能解決很大一部分「程式不跟系統代理」的問題,但沙箱與回環策略仍屬作業系統層級。把回環豁免與處理序規則兩條線拆開處理,通常比反覆重裝客戶端更有效。
相較於僅依賴過時教學或單一開關說法,採用持續維護核心與清楚介面的 Clash 用戶端,能在規則除錯、覆寫與日誌觀察上省下大量時間;若你尚未從舊版 CFW 遷移,也可參考 CFW 替代與遷移指南,先把基底環境整理乾淨,再針對 UWP 做細部調校。
若你希望在一套介面中完成訂閱匯入、TUN 開關與規則覆寫,建議從本站 下載頁 取得適合 Windows 的安裝包,並搭配 訂閱匯入教學 完成初始配置。相比四處拼湊設定檔,整合度高的工具能讓你在排查 UWP 這類邊角案例時,更專注在規則與系統層面的真實原因,而不是被版本與路徑差異拖住。若你準備好讓桌面與商店應用都能穩定走代理,現在就可以動手:→ 立即免費下載 Clash,開啟流暢上網新體驗。