kaaass / ZerotierFix

An unofficial Zerotier Android client patched from official client
GNU General Public License v2.0
1.67k stars 193 forks source link

最新alpha版依旧有卡在请求配置的错误 #44

Closed xzl0326 closed 12 months ago

xzl0326 commented 1 year ago

有时候开启连接,软件会显示已连接,但是VPN并没有启动。用其他VPN重新开然后冲突启动VPN才可以正常开启,然后就会出现正在请求配置。获取不到信息,但是实际已连接。在zerotier的设置页面所分配的ip地址是可以用的 手机是安卓13 1679933808278

kaaass commented 1 year ago

感谢反馈!我在移动网络里复现出来了。

有时候开启连接,软件会显示已连接,但是VPN并没有启动。

这个主要是目前 APP 显示信息的方式有点迷惑,显示连接了但其实是还没连接上。连接到网络的完整顺序是:

  1. 连接到 Zerotier 全局网络(Planet 服务器),这时 APP 下方状态显示 “已连接”
  2. 连接到指定 ZT 网络
  3. 打开系统 VPN 服务、通知栏弹出提示、弹出 Toast 提示

在连接速度比较慢的情况(尤其是移动网络不设置 Moon),第 1 到第 2 步可能会用到好几分钟,这段时间虽然节点 “已连接” 到 Zerotier 全局网络,但实际上等到系统 VPN 启动才算是成功连接到特定的网络。这个之后会考虑下怎么在界面上更直观的做一些提示。

获取不到信息,但是实际已连接。在zerotier的设置页面所分配的ip地址是可以用的

确实,试了下网络详情页面的数据在特定状态下不会更新。预计下个版本修复。

xzl0326 commented 1 year ago

不过我是有一个moon节点的,和连接速度可能关系不大,第三步等系统VPN服务启动感觉是有问题的,这个情况在WiFi和移动数据下都会出现,但是只要有其他VPN软件先开启VPN,然后zerotier再开启顶掉原来的,这样几乎百分百能回归正常。 41D0D370

kaaass commented 1 year ago

如果长时间等是否最终会成功连接呢?即打开开关后,等待 VPN 已经连接(比如状态栏出现 Icon)或者出现常驻通知。这个 “顶掉” 的操作我暂时从代码的角度不太能理解为啥发挥了作用,感觉或许是因为等了更久所以成功了。

xzl0326 commented 1 year ago

并不会,我刚刚又启动了一下。已连接,网络信息显示正常,moon也连上了(就是贼慢不知道为什么,延迟很低的)。系统的VPN一直没有启动。但我只要去开启别的VPN软件,再回来重新开zerotier就立马连上了

xzl0326 commented 1 year ago

就是做了上面的操作之后就会出现网络信息显示错误,不过实际是连上了

xzl0326 commented 1 year ago

系统的VPN没有启动是指,设置里的VPN开关并没有开启,通知栏和状态栏也没有VPN的图标

kaaass commented 1 year ago

好,我确认下是否是打开 APP 第一次连接网络之后:

另外可以尝试下重新开关连接网络是否会正常连接 VPN

xzl0326 commented 1 year ago

现在无法复现,做完上面的操作之后,现在的情况就是打开开关-状态栏会先显示VPN的图标,然后软件下方显示已连接,并没有Toast提示,网络信息也是请求配置中,但实际VPN已经连接成功。Toast提示我在刚刚复现的时候看到过,软件显示已连接,弹出了Toast提示并且网络信息显示正常,但VPN没有连接成功。我下次再遇到我录个视频

kaaass commented 1 year ago

好的,感谢报告!我刚刚试出来了一次这种现象,不过没及时记录日志(捂脸)。之后我再研究下具体的触发条件。

xzl0326 commented 1 year ago

好的

xzl0326 commented 1 year ago

我这边测试如果使用ipv6的时候,如果切换网络突然没有ipv6连接的话会导致你说的这样。禁用ipv6连接就不会了

xzl0326 commented 1 year ago

不过现在不知道为什么结点列表里,moon中转信息一直刷不出来

arcticblueoat commented 1 year ago

您好 我几乎是百分百复现您说的问题,只装1.10.6版本的加入网络没有提示添加vpn,安装1.8.9版本加入节点后升级到1.10.6后,要么是通知栏不显示vpn,要么就是通知栏显示vpn,状态显示正在申请配置,禁止ipv6后能连上zerotier控制器所在的内网(自建恒星节点),但是其他网络就无法连接。同网络下的win电脑(版本1.10.6)连接访问都没问题。(手机小米10s miui v14.0.23.4.17.dev) 现在不清楚这是软件的bug还是miui的bug。 本人只是电脑爱好者并非专业人士,描述不专业不严谨的地方还请海涵。

xzl0326 commented 1 year ago

感觉可能是安卓13对于VPN机制做出了一些改变。现在的解决办法是如果出现VPN连接不上就去打开一个VPN应用(游戏加速器或其他梯子)成功连上VPN之后,不要断开,直接切回zerotier fix启动服务,把另外一个软件的VPN直接挤掉,这样zerotier fix就是正常的

openwrt2223 commented 12 months ago

感觉可能是安卓13对于VPN机制做出了一些改变。现在的解决办法是如果出现VPN连接不上就去打开一个VPN应用(游戏加速器或其他梯子)成功连上VPN之后,不要断开,直接切回zerotier fix启动服务,把另外一个软件的VPN直接挤掉,这样zerotier fix就是正常的

有人觉得这跟安卓12的行为变更有关。 @kaaass

kaaass commented 12 months ago

@openwrt2223

有人觉得这跟安卓12的行为变更有关。

与 VPN 连接有关的问题已经在 #49 中解决了,1.0.7 版本中已经包含了这个修复。本 Issue 的问题主要还是由于 Zerotier core 和 SDK 上的一些变更引发的,需要重写一些逻辑。

kaaass commented 12 months ago

本 Issue 的问题已经在 #53 中得到修复,预计下个版本将包含此修复。

kaaass commented 12 months ago

包含该问题修复的 1.0.8_011006_alpha 版本已发布,请注意更新