Qv2ray: UWP 沙箱机制导致无法进行代理

Created on 29 Apr 2020  ·  8Comments  ·  Source: Qv2ray/Qv2ray

  • [ ] 我确定我已经尝试多次复现此次问题,并且将会提供涉及此问题的每个软件及其版本。
  • [ ] 我已知晓如果未能提供有效信息(譬如正确填写以下内容),Qv2ray 工作组会视情况关闭此 Issue

我们建议您按照下方模板填写 Bug Report,以便我们收集更多的有效信息

简单描述这个 Bug:

QV2ray开启系统代理后, 需要联网的UWP几乎全部抽风, 无一幸免.

如何复现这个 Bug:

  1. 开启系统代理
  2. 开启任意需联网的UWP, 例如邮件, 应用商店
  3. 开始抽风

如果是连接问题,在其他 v2ray 客户端里出现过吗?

仅限Windows UWP

相关截图或日志

Qv2ray 日志:
此问题我认为不需要日志

Microsoft Store 无限加载...

系统信息 (请删掉不符合的项)

受影响的 Qv2ray 安装平台

  • Windows

受影响的 Qv2ray 安装源

  • 手动编译
  • Github Release

### 已安装的插件 & 插件安装源:
-

首选项 -> 关于信息:

版本号: 2.5.0
内部版本号:1
编译信息:Qv2ray built from Github Action
其它编译信息:qt5.14.2-16b22386257916edf9de0b77845c875b062b5776-ci.windows-latest

其他信息

你认为对我们修复bug有帮助的任何信息都可以在这里写出来:

研究今天 UWP 网络问题后, 看到网上解决方案基本上都是通过SID添加UWP排除网络隔离来解决走系统代理问题.

由此想到可以在QV2ray新增UWP应用排除网络隔离开关.

大概流程是开启后, 先遍历注册表

HKEY_CURRENT_USER\Software\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppContainer\Mappings

中所有UWP SID.

得到SID Array后, 批量执行

CheckNetIsolation loopbackexempt -a -p=UWPSID

添加排除网络隔离

仅提供大概逻辑参考

Documentations NewFeature Upstream plugin system-proxy help wanted platforWindows

Most helpful comment

是的,这个问题与 Windows 对于 UWP 程序的 loopback 接口策略相关

之前也有用户汇报此问题,但因为受众群体原因,不计划在 Qv2ray 本体里嵌入,因此我们会开发一款实用工具插件。

敬请期待

All 8 comments

取消排除UWP网络隔离命令为

CheckNetIsolation loopbackexempt -d -p=UWPSID

是的,这个问题与 Windows 对于 UWP 程序的 loopback 接口策略相关

之前也有用户汇报此问题,但因为受众群体原因,不计划在 Qv2ray 本体里嵌入,因此我们会开发一款实用工具插件。

敬请期待

超级赞,感谢大佬的辛苦付出

有个现成小软件叫 EnableLoopback 可以解决这个,把需要的勾选下就行。
个人感觉没必要整合进 qv2ray 里面...

有个现成小软件叫 EnableLoopback 可以解决这个,把需要的勾选下就行。
个人感觉没必要整合进 qv2ray 里面...
+1,不过这个存在(豁免程序?)是什么东西
image

已加入教程:https://qv2ray.github.io/getting-started/step4.html#%E4%BD%BF%E7%94%A8%E7%B3%BB%E7%BB%9F%E4%BB%A3%E7%90%86
已加入官网:https://qv2ray.github.io/EnableLoopback.zip

已加入教程:https://qv2ray.github.io/getting-started/step4.html#%E4%BD%BF%E7%94%A8%E7%B3%BB%E7%BB%9F%E4%BB%A3%E7%90%86
已加入官网:https://qv2ray.github.io/EnableLoopback.zip

除了“启用 UWP 回环”之外,个人补充2个其他的简单解决方案(避开回环地址)的:

  • 方法一:单网卡,但有静态ip的机器(例如家庭台式机),监听该静态ip就行。
  • 方法二:对于额外启用了虚拟网卡的机器(例如VMware提供的虚拟nat网络会给宿主机分配一个虚拟网卡VMnet8,默认地址通常为192.168.x.2),监听该虚拟网卡的静态ip即可。(原理和sstap类似,只不过是借用了虚拟机软件创建的虚拟网卡)

我个人的电脑启用了hyper-v,且手动设定了虚拟nat网络(跑 Debian server 方便 vsc 搞远程开发),就是用的上面的方法二避开了UWP的回环问题。

这个问题困扰我好多天了 解决不了

Was this page helpful?
0 / 5 - 0 ratings