TOC

华为手机 v2rayNG 连接不上节点

在一台华为 Nova 9 手机上研究新版本 v2rayNG 运行原理 🐶。
可以正常启动,也能成功更新订阅,但点击连接后没有任何反应,连接按钮状态不会切换。

同一份订阅在另一台华为 Mate 30 手机上运行正常,因此最初怀疑是系统兼容性问题。

查看 v2rayNG 日志后发现报错:

config error: infra/conf/serial: failed to parse json config > infra/conf: failed to build outbound config with tag proxy > infra/conf: failed to build stream settings for outbound detour > infra/conf: Failed to build TLS config. > common/errors: The feature "allowInsecure" has been removed and migrated to "pinnedPeerCertSha256". Please update your config(s) according to release note and documentation.

从错误信息判断,Xray Core 在加载配置时失败,原因是配置中包含已废弃的 allowInsecure 选项。

最初怀疑是两台手机使用了不同版本的 Xray Core,但检查后发现 Core 版本完全一致。

随后分别导出两台设备的完整配置进行对比,发现:

Mate 30:
allowInsecure = false

Nova 9:
allowInsecure = true

虽然订阅来源相同,但本地配置并不一致。

进入 Nova 9 的 v2rayNG 设置后,关闭 allowInsecure 选项,再次更新订阅,问题立即解决。

原因分析

早期 Xray/V2Ray 配置允许使用:

{
  "allowInsecure": true
}

表示跳过 TLS 证书校验。

新版 Xray Core 已移除此配置项,因此当配置中仍包含该字段时,会直接报错并拒绝启动代理核心。

由于核心启动失败,用户看到的现象就是:

  • App 可以正常打开;
  • 节点列表正常显示;
  • 点击连接无任何反应;
  • VPN 不会启动;
  • 状态栏没有连接图标。
如果你有魔法,你可以看到一个评论框~