· 故障排查 · 预计阅读约 9 分钟

Windows UWP 应用无法走代理:回环限制解除方法

开启系统代理后浏览器一切正常,Microsoft Store、邮件、天气等商店应用却连不上网或走了直连——这不是 Clash 配置错了,而是 Windows 对 UWP 应用的回环限制在拦截。本文讲清限制原理,给出图形界面勾选与命令行两种豁免方法,以及用 TUN 模式整体接管的替代方案。

问题现象:只有商店应用不正常

这类问题的典型场景:Clash 已开启系统代理,浏览器访问外网流畅,但系统自带的商店应用集体失灵。常见表现有:

原因不在订阅也不在规则。普通桌面程序(Win32)直接读取系统代理设置,把流量发往 127.0.0.1:7890 这个本机端口;而商店应用运行在 AppContainer 沙箱里,系统默认禁止它们连接任何回环地址,请求还没到达 Clash 就被系统拦下了。

原理:AppContainer 与回环限制

自 Windows 8 起,商店应用(UWP,早年叫 Metro)被放进 AppContainer 隔离环境运行,网络层面附带一套 Network Isolation 策略:默认不允许应用向本机回环地址(127.0.0.1::1)发起连接。设计初衷是防止恶意商店应用探测和攻击本机运行的服务。

Clash 的系统代理,本质是让程序把流量交给本机混合端口(默认 7890)。Win32 程序不受 Network Isolation 约束,照走不误;UWP 应用连 127.0.0.1 这一步直接被系统拒绝。后果分两种:应用报网络错误彻底连不上;或干脆绕过代理直连,表现为"能上网但没走代理"。

解法叫 LoopbackExempt,即回环豁免:把指定应用加入白名单,允许它访问回环地址。豁免写入系统配置,重启后保留;添加和删除都需要管理员权限。

豁免不等于走代理

回环豁免只解决"能不能连本机"的问题。豁免之后,应用仍需经过系统代理设置(或被 TUN 接管),流量才真正进入 Clash。两者是先后关系,不是替代关系。

方法一:客户端自带的豁免工具

图形界面操作最省事,适合大多数用户。

  1. 打开 Clash Verge Rev,进入设置页,找到「UWP 回环豁免」入口。
  2. 点击后系统弹出应用列表(调用的是 Windows 自带的 EnableLoopback 界面),勾选需要豁免的应用。
  3. 保存并确认管理员授权弹窗,设置立即生效。

老版本 Clash for Windows 在安装目录附带 EnableLoopback.exe,双击运行同样是勾选列表的界面。勾选建议按需来:Microsoft Store、邮件和日历、Xbox、天气等确实需要走代理的应用勾上即可,不必全选,豁免面越小越好。

方法二:CheckNetIsolation 命令行

图形工具找不到目标应用,或想精确控制时,用系统自带的 CheckNetIsolation.exe。先以管理员身份打开 PowerShell。

第一步,查应用的包系列名(PackageFamilyName):

Get-AppxPackage -Name "*store*"

在输出里找 PackageFamilyName 字段,例如应用商店是 Microsoft.WindowsStore_8wekyb3d8bbwe。然后按需执行:

操作命令
添加豁免CheckNetIsolation.exe LoopbackExempt -a -n=Microsoft.WindowsStore_8wekyb3d8bbwe
查看列表CheckNetIsolation.exe LoopbackExempt -s
删除单条CheckNetIsolation.exe LoopbackExempt -d -n=Microsoft.WindowsStore_8wekyb3d8bbwe
清空全部CheckNetIsolation.exe LoopbackExempt -c

参数说明:-n 接受包系列名或 AppContainer 名,-p 接受 SID,日常操作用 -n 即可。执行 -s 能列出当前所有已豁免的应用,方便核对。如果记不清某个应用的包系列名,可以先用 Get-AppxPackage 配合关键字模糊查询,再从输出里复制完整的 PackageFamilyName,避免手输出错。

权限要求

添加、删除、清空都必须用管理员身份的终端,否则会提示"请求的操作需要提升"。普通窗口只能执行查看列表。

方法三:TUN 模式整体接管

不想逐个应用配置豁免,可以换思路。mihomo 内核的 TUN 模式会创建一张虚拟网卡,在网络层接管整机流量,不依赖系统代理设置。UWP 应用的连接和普通程序一样被路由进 Clash,回环限制不再构成障碍。

TUN 模式需要安装服务模式并授予管理员权限,配置入口在客户端的设置页。适合机器上 UWP 应用多、或经常遇到新应用不走代理的场景。排查其他网络问题时,建议先固定使用系统代理或 TUN 其中一种,避免两种接管方式叠加干扰定位。

验证与常见问题

豁免完成后,打开 Microsoft Store 搜索任意应用,页面能正常加载即说明成功。更直接的确认方式:打开客户端的连接(Connections)面板,操作目标应用,观察是否出现对应的域名连接记录——有记录,流量就确实经过了 Clash。

豁免后应用仍连不上

按顺序检查:系统代理是否仍处于开启状态;混合端口是否被改动过(默认 7890);目标应用是否彻底退出后重新打开,部分应用会缓存网络状态。

命令执行报错

提示"需要提升"说明终端不是管理员身份,关闭后右键以管理员身份重新运行 PowerShell 再执行。

应用更新后豁免失效

豁免按包系列名记录,一般跨版本保留。少数应用大改版后包名变化,需要按新的 PackageFamilyName 重新添加一次,用 -s 对照列表即可确认。

小结

商店应用不走代理,根因是 Windows 的回环隔离,不是 Clash 故障。少量应用用图形工具或 CheckNetIsolation 逐个豁免;应用多就直接上 TUN 模式,一次解决。

下载客户端