Skip to content

WLOC 虚拟定位 2.5.1

Choose a tag to compare

@ios151 ios151 released this 16 Oct 07:09
· 27 commits to main since this release

⬇️ 安装

点此一键安装 —— 必须在 iPhone / iPad 上用 Safari 打开。

这一版累积了 2.3.2 之后的全部改动(2.3.3 – 2.5.1)。中间几个版本只在仓库里存在过,直接装这个就行。


蜂窝数据下连不上,根因查清了

以前只知道「开关一次飞行模式能好」,不知道为什么。现在知道了:

蜂窝下 remotepairingd 只绑在回环地址上,没绑任何网络接口。 WiFi 下它绑 ANY,所以隧道对端连得通;蜂窝下缩回回环,而设备又不接受从回环直连配对服务——两头堵死。开关飞行模式起作用,是因为接口重建会让它重新绑定。

判据是两个错误码的区别:10.7.0.1 是 connect 阶段 ECONNREFUSED(没人在听),而 127.0.0.1 是 read 阶段 ECONNRESET(连上了、对面读完才砍,服务确实在那儿)。

由此修掉的

  • Bonjour 公告的地址以前被整个丢掉,只取了端口,连接一律打到隧道对端。WiFi 下两者碰巧是一回事,蜂窝下不是。现在「隧道对端 + 公告地址」逐个试。
  • 公告里只有回环地址时直接给结论,不再列一串「开发者模式开了吗」「配对记录还在吗」的猜测——那些都不是原因。
  • 失败从 20 秒缩到 1 秒。回环地址不再做全段端口扫描:服务就在公告的那个端口上,扫出别的同样连不通,每个还要赔 6 秒握手超时。
  • 「握手超时」不再被误报成「本机隧道可能没真正建立」。那两件事的下一步完全相反。

仍然需要开关飞行模式

试过让脚本自己重建隧道(VPN.stop() → start())来代替,实测无效:重建完公告里依然只有回环地址。remotepairingd 要的是蜂窝/WiFi 接口本身重建,utun 顶替不了。代理工具也不行——Surge 的 reflect 是交换源/目的地址,落点是 TUN 自己的地址而非 127.0.0.1,同样连不上。

脚本侧能做的已经到头了,现在至少能准确告诉你卡在哪、该做什么。


提示弹窗改成半屏浮层

系统 alert 的正文不滚动:行数一多就压字号,再多直接截断。而这个脚本最需要说清楚的恰恰是最长的那几段——连不上时那段带四步操作指引的说明,配对页那条「设置 → 隐私与安全性 → 开发者 → 配对」的路径,都是十几行。

  • 正文可滚动,高度跟着内容走:有详情时半屏起步、可往上拉到整屏;一行短提示就只占一小条。
  • 确认框的主按钮改放上面。系统弹窗是反的,而手指自然落点在下面那颗——最该谨慎的操作反倒最好按。
  • 蜂窝引导里三档按钮现在一律整行。「我正在使用移动数据」原先是个窄胶囊、「取消」只有两个字那么大,可点面积比「重试」小一大截;而这个浮层弹出来的时候,用的多半就是蜂窝。
  • 收藏页空状态换成系统标准组件,字号和配色会跟着系统设置走。

其他

  • 图标换成系统符号(绿色定位箭头),不再是那张远程 PNG——它不扁平,也不跟随深色模式。
  • 启动时「上次的模拟没有正常结束」修了个缺陷:以前下拉关掉也会清除恢复记录,下次就不再提醒,可设备那头可能还保持着假位置。现在只有明确点「暂不处理」才清。
  • 「一键跳转到开发者模式设置页」确认做不到。苹果官方的 Supported URL Schemes 清单里没有「隐私与安全性」,网上那些 prefs:root= 的写法在 iOS 18 之后也全部失效(只能跳到设置根页)。这条路已经堵死,页面里继续写文字指引。