OpenClash icon indicating copy to clipboard operation
OpenClash copied to clipboard

[Bug] 安卓端会有webrtc泄露,而pc端没有, 请问一下是配置不当还是原理决定的?

Open huoshan12345 opened this issue 10 months ago • 9 comments

Verify Steps

  • [x] Tracker 我已经在 Issue Tracker 中找过我要提出的问题
  • [x] Branch 我知道 OpenClash 的 Dev 分支切换开关位于插件设置-版本更新中,或者我会手动下载并安装 Dev 分支的 OpenClash
  • [x] Latest 我已经使用最新 Dev 版本测试过,问题依旧存在
  • [x] Relevant 我知道 OpenClash 与 内核(Core)、控制面板(Dashboard)、在线订阅转换(Subconverter)等项目之间无直接关系,仅相互调用
  • [x] Definite 这确实是 OpenClash 出现的问题
  • [ ] Contributors 我有能力协助 OpenClash 开发并解决此问题
  • [ ] Meaningless 我提交的是无意义的催促更新或修复请求

OpenClash Version

v0.46.064

Bug on Environment

Lean

OpenWrt Version

OprX eS24.8.19

Bug on Platform

Linux-amd64(x86-64)

Describe the Bug

测试网站: https://browserleaks.com/webrtc 测试浏览器: chrome

测试结果: pc端: 无泄漏, ipv4和ipv6均是节点的ip

安卓端: 真实的ipv6暴露了, 如下图所示 Image

补充说明: ipv6可被我使用的机场正常代理, 例如我现在访问instagram用的就是ipv6

To Reproduce

相关设置:

  • 插件设置 - 流量控制 - 仅允许常用端口流量: 停用
  • 覆写设置 - 规则设置 - 仅代理命中规则流量: 未勾选
  • 插件设置 - IPv6 设置:
  1. IPv6 流量代理: 勾选
  2. IPv6 代理模式: TProxy 模式
  3. UDP 流量转发: 勾选
  4. 允许 IPv6 类型 DNS 解析: 勾选
  5. 实验性:绕过指定区域 IPv6: 停用

然后使用安卓手机访问测试网站: https://browserleaks.com/webrtc

OpenClash Log

2025-02-21 18:54:15 level=info msg="[TCP] 192.168.2.159:33028 --> browserleaks.com:443 match Match using 🐟 漏网之鱼[香港 03 | 专线]"

OpenClash Config


Expected Behavior

真实的ipv6无法被webrtc获取到

Additional Context

No response

huoshan12345 avatar Feb 21 '25 10:02 huoshan12345

只要你让openclash代理了udp流量,那么webrtc测试只会显示局域网ip或者节点ip

xiaoyangdkj avatar Feb 21 '25 13:02 xiaoyangdkj

只要你让openclash代理了udp流量,那么webrtc测试只会显示局域网ip或者节点ip

但问题不是, 安卓端ipv6是手机的真实ip

huoshan12345 avatar Feb 22 '25 09:02 huoshan12345

只要你让openclash代理了udp流量,那么webrtc测试只会显示局域网ip或者节点ip

但问题不是, 安卓端ipv6是手机的真实ip

忽略即可,这是预期效果,除非节点支持ipv6并启用ipv6 tproxy

xiaoyangdkj avatar Feb 22 '25 11:02 xiaoyangdkj

只要你让openclash代理了udp流量,那么webrtc测试只会显示局域网ip或者节点ip

但问题不是, 安卓端ipv6是手机的真实ip

忽略即可,这是预期效果,除非节点支持ipv6并启用ipv6 tproxy

节点支持的, 而且pc端就不泄露, 否则我也不回来提这个问题, 正是因为安卓和pc不一样我才来问的

huoshan12345 avatar Feb 22 '25 11:02 huoshan12345

节点支持的, 而且pc端就不泄露, 否则我也不回来提这个问题, 正是因为安卓和pc不一样我才来问的

尝试一下把ipv6流量代理关掉,因为有的节点只是声明自己拥有ipv6地址,实际上仍然是ipv4访问

xiaoyangdkj avatar Feb 22 '25 18:02 xiaoyangdkj

楼主换苹果手机吧,苹果没有这个问题

dwbii avatar Feb 25 '25 05:02 dwbii

同样的配置,在clash meta for android alpha 没有问题

楼主可以试试

dwbii avatar Mar 03 '25 01:03 dwbii

This issue is stale because it has been open 60 days with no activity. Remove stale label or comment or this will be closed in 5 days

github-actions[bot] avatar May 11 '25 08:05 github-actions[bot]

楼主,还有一个方法,在路由器lan上修改 IPv6 前缀过滤器 为 local (本地 ULA)

这样你测试时显示的v6地址就是一个本地v6地址了

dwbii avatar May 13 '25 00:05 dwbii

This issue is stale because it has been open 60 days with no activity. Remove stale label or comment or this will be closed in 5 days

github-actions[bot] avatar Jul 13 '25 08:07 github-actions[bot]

老哥,遇到同样的问题了,有解决吗

lim-kim930 avatar Sep 10 '25 04:09 lim-kim930

找到问题了,此时是网页自己通过webrtc获取的本地ipv6(离线就可以获取,没有走stun,所以跟udp无关),而分配的ipv6就是公网的,所以能看到

lim-kim930 avatar Sep 10 '25 12:09 lim-kim930