一、先對齊現象:為何「只有商店不聽話」

若你觀察到的是下列組合,就很符合本文要處理的範圍:Edge/Chrome 已走代理Clash 連線日誌有正常命中,但開啟 Microsoft Store 下載或更新 App 時進度條長時間不動、顯示連線錯誤,或 Xbox 相關 UWP 無法登入與同步。此時若立刻懷疑「節點壞了」而頻繁切換伺服器,往往治標不治本,因為問題可能根本不在出口線路,而在應用程式是否被允許連到本機 Proxy

另一個容易混淆的狀況是:你已經在 Clash 裡開了允許區域網路allow-lan),希望手機走電腦的代理,但那是「給其它裝置連進電腦監聽埠」的脈絡,與「同一台電腦上的 UWP能不能連 127.0.0.1」是兩件事。前者可參考《Clash 開啟區域網路代理》;本文則專注在 Windows 本機上 UWP 與本機代理之間的回環豁免

二、核心原因:UWP 的網路隔離與本機回環限制

微軟對 Windows 上的通用 Windows 平台(UWP)應用程式實作了網路隔離(Network Isolation):預設情況下,這類程式不能像傳統 Win32 程式一樣,任意連到本機的 127.0.0.1 或本機其它服務埠。這是為了降低惡意軟體透過本機埠橫向移動、或竊取本機服務的風險。當你把系統代理設成指向本機的 HTTP/SOCKS 埠(例如 Clash 的 mixed-port 常見為 7890),等於要求 UWP 去連本機回環位址;若沒有額外回環豁免(loopback exemption),商店與部分內建 App 就會表現為「代理形同不存在」或連線失敗。

也因此,單純在 Clash 裡「開系統代理」並不足以涵蓋所有 UWP;你還需要在作業系統層,對特定套件宣告:允許它使用本機回環。在 Windows 上,官方提供的命令列工具即為 CheckNetIsolation,搭配參數 LoopbackExempt 維護豁免清單。這與訂閱是否正常、規則是否命中無直接關係,屬於 Windows 與 UWP 執行模型的一部分;但若沒處理,你在介面上會覺得「Clash 明明開著,Microsoft Store 代理卻怎樣都不生效」。

三、前置檢查:確認 Clash Windows 與系統代理一致

在動 CheckNetIsolation 之前,請先完成下列檢查,避免把「埠號抄錯」或「系統代理根本沒指到 Clash」誤判成 UWP 問題。

  1. 確認 Clash 或內建 Mihomo 的圖形客戶端(例如 Clash Verge Rev)已啟動,且系統代理開關為開啟狀態,代理位址指向本機(通常為 127.0.0.1 加你的 mixed-port 或 HTTP 埠)。若你尚未完成安裝與訂閱匯入,建議先依《Clash Verge Rev 設定教學》把基礎流程跑通。
  2. 在 Clash 介面中記下實際混合埠或 HTTP 埠數字,並與 Windows「設定 → 網路和網際網路 → Proxy」中的手動 Proxy內容比對是否一致。若埠號不一致,UWP 與 Win32 都會出現難以預期的行為。
  3. 用瀏覽器開啟一個僅在代理後可訪問的測試頁,確認非 UWP路徑沒問題,再把心力放回商店與 UWP。

若你打算改用TUN 模式在網路層統一接管,部分環境下 UWP 行為會與純系統代理不同;若仍遇到少數 App 異常,可再回來補上本文的回環豁免作為雙保險。TUN 的啟用與權限說明可另參《Clash TUN 模式開啟方法》

四、查出 Package Family Name(套件識別名稱)

CheckNetIsolation 需要的是應用程式的 Package Family Name(套件系列名稱),不是你在開始功能表看到的顯示名稱。以系統管理員身分開啟 PowerShell,可用下列指令列出與「商店」相關的套件(範例):

Get-AppxPackage *Store* | Select-Object Name, PackageFamilyName

你通常會看到類似 Microsoft.WindowsStoreName,以及對應的 PackageFamilyName(常見格式為 Microsoft.WindowsStore_8wekyb3d8bbwe;實際字串請以你電腦輸出為準,因版本與通道可能不同)。若你也要為 XboxXbox Game Bar 或其它 UWP 一併開豁免,可改用關鍵字搜尋:

Get-AppxPackage *Xbox* | Select-Object Name, PackageFamilyName

請把要開豁免的每一個 PackageFamilyName 複製到記事本備用。只加商店、或連同 Xbox 生態一併加入,取決於你實際會用到哪些 UWP 下載與登入流程。

五、使用 CheckNetIsolation 加入回環豁免

取得正確的 PackageFamilyName 後,以系統管理員身分開啟「命令提示字元」或 PowerShell,使用下列語法將該套件加入回環豁免清單(請將範例中的套件名稱替換成你實際查到的字串):

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

參數說明:-a 表示新增(add),-n 後接套件識別名稱。若指令成功,系統不會總是輸出冗長訊息;你可以用查詢方式確認是否已列入豁免。若要移除某一筆,改用 -d(delete)與相同 -n 即可還原預設隔離行為。

實務上建議只為你信任的系統元件或必要 UWP開豁免,因為回環等於允許該應用程式與本機服務通訊,範圍應盡量縮小。完成後請完全關閉 Microsoft Store(可從工作管理員結束相關程序)再重開,讓新設定被載入。

六、驗證方式與常見踩雷點

驗證時請依序觀察:重新開啟 Microsoft Store 後,下載或更新是否恢復進度;並在 Clash 的連線日誌中篩選與微軟 CDN、商店相關的主機名稱,確認流量有經過核心。若仍失敗,請不要立刻跳到換節點,先檢查:

  • 套件名稱是否抄錯PackageFamilyName 必須完全一致,包含底線與尾綴。
  • 是否以系統管理員執行:未提升權限時,CheckNetIsolation 可能無法寫入豁免清單。
  • 系統代理與埠:是否仍指向本機正確埠;可對照《Clash 常見報錯與排除》中的埠占用與設定衝突章節。
  • 公司政策或第三方安全軟體:少數環境會鎖定 Proxy 或攔截本機連線,需另行排除。

下圖為 UWP、本機 Clash 與回環豁免關係的示意,方便你與同事說明「為何要跑 CheckNetIsolation」。

七、與 TUN、區域網路方案的關係

TUN 模式在許多情境下能讓未遵循系統 Proxy 的程式也走代理,但依網路堆疊與 App 實作不同,少數 UWP 仍可能出現邊角行為。若你已上 TUN、商店仍異常,可優先確認路由與 DNS 是否被正確劫持到 Clash,再回來補UWP 回環設定。另一方面,區域網路代理是讓「手機連到電腦的監聽 IP」,並不解決「本機 UWP 不能連 127.0.0.1」;兩者常一起出現在進階使用者環境,但機制請分開理解。

八、安全與維運建議

長期開啟大量回環豁免會放大本機攻擊面:若某 UWP 存在漏洞,理論上與本機服務互動的途徑較多。建議只保留必要套件,並在系統升級或重裝後重新檢視清單是否仍合適。若裝置離開可信任網路或交還他人使用前,可考慮移除先前加入的豁免項,讓隔離策略回到預設。

九、小結

Clash Windows 使用情境下,Microsoft Store 代理不生效往往源於 UWP本機回環的預設封鎖,而非單純規則或訂閱問題。透過查詢 Package Family Name,並以 CheckNetIsolation 設定回環豁免,即可讓商店與相關應用程式正確連到你本機的 Clash 監聽埠,與已開啟的系統代理對齊。把這一步納入你的 Windows 排錯清單後,多數「瀏覽器正常、商店不更新」的割裂現象都能被快速定位。

若你希望用圖形介面管理訂閱、模式切換與連線觀測,減少手動比對埠與設定的時間,可優先選擇成熟維護的桌面客戶端體驗。→ 立即免費下載 Clash,開啟流暢上網新體驗