Windows UWP 應用程式無法連線代理:解除回環限制與問題排查步驟

說明 Microsoft Store 應用程式的回環限制、解除方法與復原檢查,適用於系統代理正常但個別應用程式無法上網的情況。

先確認問題是否屬於 UWP 回環限制

在 Windows 上,如果出現「瀏覽器可以透過 Clash Verge 連線,但 Microsoft Store、Xbox、相片、郵件或其他商店應用程式無法上網」,常見原因之一是 AppContainer 的回環存取限制。這裡的「回環」是指應用程式存取本機位址,例如 127.0.0.1localhost 或 IPv6 回環位址。Clash Verge 啟用系統代理後,通常會將 Windows 代理伺服器指向本機監聽連接埠;應用程式必須先連線到這個本機連接埠,再由 mihomo 核心依規則轉送流量。

傳統桌面程式通常可以直接存取本機代理連接埠,但在 AppContainer 隔離環境中執行的封裝應用程式可能受到額外限制。如果目標應用程式未取得回環豁免,可能無法連線到 Clash 的本機 HTTP、SOCKS 或 Mixed 監聽連接埠。最終表現通常不是所有程式同時斷線,而是個別商店應用程式載入失敗、登入畫面空白、內容持續重新整理,或顯示網路無法使用。

不過,「商店應用程式無法上網」不一定就是回環限制。確認之前,應觀察以下特徵是否同時出現:

  • Clash Verge 已匯入可用設定檔,目前設定與策略群組均處於啟用狀態。
  • Edge、Firefox 或其他桌面程式透過相同的系統代理,可以正常存取目標網站。
  • 受影響的應用程式在關閉系統代理後可以直接連線,或錯誤狀態會隨系統代理開關而改變。
  • 開啟受影響的應用程式時,Clash Verge 的連線記錄中沒有對應要求,表示流量可能尚未抵達本機代理連接埠。
  • 問題集中在一個或少數封裝應用程式,而不是所有程式與所有網域同時失敗。

理解系統代理、AppContainer 與本機連接埠的連線路徑

排查前,先將連線路徑拆開來看。Clash Verge 啟用系統代理時,會將代理位址寫入 Windows。實際連接埠取決於目前設定,常見形式為 127.0.0.1:7890,也可能使用其他 HTTP 或 Mixed 連接埠。支援系統代理的應用程式讀取這項設定後,會將網路要求交給本機的 mihomo 監聽連接埠。

  1. 應用程式讀取 Windows 系統代理設定。
  2. 應用程式嘗試連線到 127.0.0.1 上的 Clash 監聽連接埠。
  3. mihomo 接收要求,並依網域、IP、程序或規則集選擇直連、拒絕或指定策略群組。
  4. 選定的節點或直連出口建立外部連線,回應再沿原路徑返回應用程式。

UWP 與部分 MSIX 封裝應用程式使用 AppContainer 安全邊界。此邊界會限制應用程式存取本機網路資源,目的是避免隔離應用程式任意探測或呼叫本機服務。系統代理恰好位於本機位址,因此即使應用程式已讀取代理設定,也可能在第二步遭到阻擋。回環豁免的作用是允許指定套件存取本機回環介面;它不會替應用程式修改 Clash 規則,也不會讓無法使用的節點恢復連線。

還要區分「UWP 應用程式」、「從商店安裝的應用程式」與「所有現代介面應用程式」。Microsoft Store 中既有 AppContainer 應用程式,也有透過商店發佈的傳統桌面程式,後者可能不受相同的回環限制。判斷對象時,應以套件身分與實際網路行為為準,不能只根據安裝來源下結論。

回環豁免可以解決什麼

  • 指定的 AppContainer 套件無法存取 Clash 本機代理連接埠。
  • 桌面程式正常,但相同網路下的某個封裝應用程式沒有要求記錄。
  • 啟用系統代理後,目標應用程式立即出現網路錯誤,關閉後卻可以直接連線。

回環豁免無法取代什麼

  • 無法修復過期訂閱、失效節點或設定檔語法錯誤。
  • 無法自動解決 DNS 解析失敗、憑證時間錯誤或規則誤判。
  • 無法強制不讀取系統代理的應用程式改用 HTTP 代理。
  • 無法修復 Microsoft 帳戶、商店快取或 Windows Update 服務本身的故障。

解除限制前的基本檢查

直接修改回環豁免清單之前,先確認 Clash Verge 的本機代理狀態。這樣可以避免將連接埠錯誤、系統代理殘留或設定未啟用誤判為 AppContainer 限制。

確認 Clash Verge 的監聽連接埠

進入 Clash Verge 的設定頁面,查看 HTTP、SOCKS 或 Mixed 連接埠,並確認核心運作正常。接著開啟 Windows 的「設定 → 網路和網際網路 → 代理伺服器」,檢查手動代理位址是否與 Clash Verge 目前的監聽值一致。如果 Clash Verge 曾變更連接埠,但 Windows 仍保留舊位址,所有讀取系統代理的應用程式都可能連線失敗。

不要讓多個代理程式同時佔用相同連接埠。發生連接埠衝突時,Clash Verge 可能無法啟動監聽,或系統代理實際指向另一個程式。此時應先關閉衝突程式、調整連接埠,再重新關閉並開啟一次系統代理。

檢查設定與策略群組狀態

確認目前訂閱已更新並選取,常用策略群組中也有可用節點。可以先用桌面瀏覽器存取一個明確需要代理的位址,再查看 Clash Verge 的連線記錄。如果瀏覽器要求能夠出現並完成,表示本機監聽、基本規則與至少一個出口大致可用。

判斷目標應用程式是否確實使用系統代理

部分應用程式使用自有網路堆疊,可能忽略 Windows 系統代理;另一些系統元件則會使用 WinHTTP 設定,而不是目前使用者的 Internet 代理設定。回環豁免只會放行本機存取,不會改變應用程式選用哪一套代理介面。如果應用程式既不讀取系統代理,也未由 TUN 接管,新增豁免後仍可能沒有流量進入 Clash。

使用回環豁免解除 UWP 應用程式限制

部分 Clash Verge 版本或 Windows 輔助工具提供 UWP 回環管理入口。如果目前用戶端設定中有類似「UWP 回環」、「Loopback」或「解除回環限制」的功能,應優先使用該介面查看應用程式套件清單,只勾選確實需要透過本機代理的應用程式。不同版本的入口位置可能不同,因此不應按照舊截圖機械式尋找固定選單。

如果用戶端沒有對應入口,可以使用 Windows 內建的 CheckNetIsolation.exe 管理豁免清單。操作時必須準確識別應用程式的 Package Family Name,也就是套件系列名稱。它不是開始功能表顯示的應用程式名稱,也不是安裝目錄名稱。

步驟一:查詢應用程式套件系列名稱

以系統管理員身分開啟 PowerShell,先列出目前使用者安裝的封裝應用程式及其套件系列名稱:

Get-AppxPackage | Select-Object Name, PackageFamilyName

清單較長時,可以依名稱篩選。例如查詢 Microsoft Store 相關套件:

Get-AppxPackage -Name "*WindowsStore*" |
  Select-Object Name, PackageFamilyName

命令結果中的 PackageFamilyName 才是後續需要使用的值。Microsoft Store 常見的套件系列名稱為 Microsoft.WindowsStore_8wekyb3d8bbwe,但其他應用程式必須以本機查詢結果為準。相似名稱可能對應主程式、執行元件或擴充套件,不應只憑名稱猜測。

步驟二:新增指定應用程式的回環豁免

繼續在系統管理員終端機中執行以下命令,將範例值替換為目標應用程式實際的套件系列名稱:

CheckNetIsolation.exe LoopbackExempt -a -n="PackageFamilyName"

例如,若要為查詢到的 Microsoft Store 套件新增豁免,可以執行:

CheckNetIsolation.exe LoopbackExempt -a -n="Microsoft.WindowsStore_8wekyb3d8bbwe"

-a 代表新增,-n 後方指定套件系列名稱。完成後徹底關閉目標應用程式,包括可能仍在背景執行的程序,再重新開啟應用程式測試。僅將視窗最小化,通常不足以重新建立完整的網路工作階段。

步驟三:查看目前的豁免清單

使用以下命令檢查項目是否已寫入:

CheckNetIsolation.exe LoopbackExempt -s

輸出內容會列出已取得回環豁免的應用程式套件。如果目標套件已存在,就不需要重複新增。反覆執行新增命令通常無法修復規則、DNS 或節點問題,反而會干擾排查方向。

步驟四:不再需要時刪除豁免

如果目標應用程式不再使用本機代理,或需要還原修改前的狀態,可以使用 -d 刪除指定項目:

CheckNetIsolation.exe LoopbackExempt -d -n="PackageFamilyName"

刪除後再次執行 -s 核對清單,並重新啟動應用程式。應優先維持最小範圍的豁免清單,只為需要存取本機代理的套件開放回環,而不是一次修改所有應用程式。

新增豁免後的驗證順序

命令執行成功只代表 Windows 接受了設定,不代表整條代理鏈路已經正常。驗證時應依序觀察「應用程式程序、本機連線、規則比對、上游出口」。

  1. 重新啟動應用程式:在工作管理員中確認舊程序已結束,再開啟目標應用程式。必要時可先登出目前的 Windows 使用者,但通常不需要立即重新啟動整台電腦。
  2. 觀察 Clash 連線記錄:進入 Clash Verge 的連線或記錄頁面,再觸發應用程式重新整理。如果出現目標網域或相關程序的要求,表示流量已抵達核心。
  3. 核對規則結果:檢查要求命中了哪項規則與策略群組。如果命中 REJECT、錯誤的直連規則或無法使用的策略,應修改設定或切換策略,而不是繼續處理回環問題。
  4. 測試多個功能入口:商店首頁、搜尋、圖片資源、帳戶登入與下載服務可能使用不同網域。首頁可以開啟,不代表所有介面都已恢復。
  5. 比較系統代理開關:在其他條件不變的情況下測試開啟與關閉狀態,確認現象確實與代理鏈路有關。

如果新增豁免後 Clash Verge 開始出現要求,但應用程式仍顯示失敗,問題已從「無法存取本機連接埠」轉移到後續環節。此時應重點查看記錄中的錯誤類型。例如 DNS 查詢逾時需要檢查 nameserver、DNS 劫持與網路可達性;連線逾時需要檢查節點與路由;TLS 錯誤可能與系統時間、憑證環境或中間鏈路有關。

Microsoft Store 的頁面內容、應用程式授權與下載工作可能由不同的系統服務處理。為商店主套件新增回環豁免後,頁面瀏覽可能恢復,但下載佇列仍可能受到 Windows Update、Delivery Optimization、帳戶狀態或服務原則影響。這類現象需要分別排查,不宜將所有商店錯誤歸咎於同一套件的回環問題。

系統代理仍無效時,是否改用 TUN 模式

TUN 模式從虛擬網路介面層接管流量,不完全依賴應用程式主動讀取 Windows 系統代理,因此對忽略系統代理的程式有更廣的涵蓋能力。對於無法穩定使用本機 HTTP 代理的應用程式,TUN 可以作為另一條排查路徑,但它不是回環豁免的簡單替代開關。

啟用 TUN 前,需要確認 Clash Verge 對應的服務元件或權限已正確設定,並記錄原本的系統代理狀態。TUN 會涉及路由、DNS 劫持、介面優先順序與程序流量接管,問題範圍比單一 UWP 套件更大。如果只有一個明確的 AppContainer 應用程式無法存取 127.0.0.1 代理,先新增指定回環豁免通常更容易驗證,也更方便撤銷。

適合考慮 TUN 的情況包括:

  • 確認目標應用程式不讀取 Windows 系統代理,開啟系統代理前後都沒有連線記錄。
  • 遊戲啟動器、命令列程式或特定網路元件使用的通訊協定,無法透過一般 HTTP 代理涵蓋。
  • 希望在同一套規則體系下處理更多不支援明確代理的程序流量。

啟用 TUN 後,如果出現無法存取區域網路裝置、DNS 查詢異常或虛擬網卡衝突,應先檢查 Clash 設定中的 DNS、路由排除項目與介面設定。VPN、虛擬機器軟體、容器網路及其他網路過濾程式都可能改變路由優先順序。排查時不要同時頻繁切換系統代理、TUN、節點與 DNS,否則很難判斷故障來源。

仍然無法連線時的分層排查清單

Clash Verge 中完全沒有要求

先確認套件系列名稱是否選對,並使用 CheckNetIsolation.exe LoopbackExempt -s 查看豁免是否存在。接著核對 Windows 系統代理位址與連接埠。如果應用程式不使用系統代理,可以短暫測試 TUN,觀察是否開始出現連線記錄。沒有記錄通常表示問題發生在要求抵達 mihomo 之前。

記錄中有要求,但遭規則拒絕

查看命中的網域、規則與策略群組。規則集可能將某些 Microsoft 網域歸類為直連,也可能因自訂規則而錯誤拒絕。調整前應記錄具體網域與比對結果,不要只憑應用程式名稱新增過於寬泛的萬用字元規則。修改規則後重新載入設定,並確認新的連線使用預期策略。

記錄顯示 DNS 失敗

確認系統網路本身能夠存取設定中的 DNS 伺服器,並檢查 Clash DNS 是否啟用、nameserver 是否可達,以及 DNS 劫持是否與其他網路程式衝突。如果使用 TUN,還要檢查虛擬介面的 DNS 接管狀態。DNS 失敗與回環限制可能產生相似的「頁面空白」,但前者通常會在記錄中留下查詢錯誤。

只有登入、圖片或下載功能失敗

這通常表示主要要求已透過代理,但子資源、帳戶介面或下載服務使用了不同網域與程序。逐一觸發失敗功能,同時觀察新增的連線。Microsoft Store 下載還依賴相關系統服務、磁碟空間、時間設定與帳戶授權,不能只檢查前景應用程式套件。

關閉代理後仍然無法存取

如果關閉 Clash Verge 系統代理並退出用戶端後問題仍存在,應檢查 Windows 網路、應用程式快取、帳戶登入與系統服務。可以先在「設定 → 應用程式」中找到目標應用程式,使用其提供的修復選項;重設會清除應用程式資料,應確認影響後再執行。也可以檢查系統日期、地區與網路連線是否正常。

系統代理殘留或連接埠變更

Clash Verge 異常結束後,Windows 可能暫時保留原本的代理位址。重新啟動用戶端並正常關閉系統代理,或在 Windows 代理設定中核對開關。如果連接埠已變更,必須確保 Windows 指向的新連接埠與 mihomo 實際監聽的連接埠完全一致。

復原後保留一份可供複查的記錄

問題解決後,建議記錄目標應用程式的顯示名稱、Package Family Name、Clash Verge 監聽連接埠、使用的系統代理或 TUN 模式,以及最後生效的調整。應用程式更新通常不會改變相同的套件系列名稱,但重新安裝、改用預覽版或更換發行管道後,套件身分可能改變,原有豁免未必涵蓋新套件。

之後如果再次出現相同現象,先執行豁免清單查詢命令,再查看 Clash 連線記錄。只要確認要求是否抵達本機代理,就能快速區分 AppContainer 回環、代理連接埠、規則設定與上游連線問題。對於已不再使用的應用程式,應刪除對應豁免,讓設定保持清晰。

完整的排查邏輯可以概括為:桌面應用程式是否正常、目標套件是否受到隔離、要求是否抵達 mihomo、規則是否正確比對、出口是否可用。沿著這條路徑逐層檢查,比反覆切換節點或重新安裝應用程式更容易找到實際故障點。

繼續安裝 Clash Verge

前往下載頁選擇系統與架構,或先閱讀完整安裝步驟。

下載Clash