✕
开启精彩搜索
热门搜索
emby EMBY 解析 免流 源码 IPV6 阿里 阿里云 青龙 音乐 网心 网心云 webdav 阿里云盘 unraid 洗白 Rclone 刮削 云梦

新版 x-ui 连不上 Clash Verge?一文讲清原因与四种解法

最近在 NodeSeek 上看到一位用户反馈:更新 x-ui 后,原本在 Clash Verge 上正常使用的节点突然连不上了,而老版本配置一直没问题。原帖下的回复很有代表性,集中反映了新版 x-ui 升级 Xray 内核后引发的客户端兼容性问题。我把讨论内容整理成一篇教程,方便遇到同样问题的朋友按步骤排查。

一、问题现象

  • 老版本 x-ui 配置的节点,在 Clash Verge 上可以正常使用。
  • 更新到新版 x-ui 后,同样的节点在 Clash Verge 上连不上了。
  • 服务端面板看起来一切正常,但客户端就是握手失败。

二、原因:Xray 内核加了版本校验

问题的根源不在 x-ui 面板本身,而在它捆绑的 Xray 内核版本。

3x-ui 从 v3.5.0 开始,将内置的 Xray-core 升级到了较新的版本(后续版本捆绑了 v26.7.28 甚至更高)。新版 Xray 在 REALITY 入站配置中默认添加了“最小客户端版本”限制,要求连接客户端满足一定的版本要求。

而 Clash Verge 使用的代理核心是 Mihomo(原 Clash Meta 内核),Mihomo 目前并没有适配 Xray 的这个新限制。两者版本校验对不上,连接自然就被服务端拒绝了。

简单说:服务端要求客户端“报版本号”,Mihomo 报的版本号不满足要求,于是被拒。

LINUX DO 论坛上也有用户遇到完全相同的情况,讨论中明确指出:“最新版 xray 限制了最小客户端版本,mihomo 内核目前没有适配”。

三、四种解法

解法一:改 x-ui 入站设置(最推荐)

在 3x-ui 面板的入站编辑界面中,REALITY 配置里有一个“最小客户端版本”的设置项。新版 x-ui 在创建或升级入站时,可能默认填了一个较高的版本号(比如 26.x.x)。把它改成 1.0.0,等于告诉服务端“不限制客户端版本”,Mihomo 的连接就不会被拒绝。

操作步骤:

  1. 登录 3x-ui 面板,进入入站列表。
  2. 编辑对应的 REALITY 入站。
  3. 找到“最小客户端版本”设置项。
  4. 改为 1.0.0,保存并重启 Xray。

优点:面板点几下即可,不需要降级内核,也不需要改客户端配置。
缺点:每次新建入站时可能要重新设置。

解法二:Clash 配置加一行参数

如果不想动服务端,可以在客户端配置里解决。

新版 Xray 的 REALITY 增加了对后量子密钥交换算法 X25519MLKEM768 的支持。客户端如果不声明支持这个曲线,服务端可能在版本协商时判定不兼容。

在 Clash 配置文件的 reality-opts 字段下,添加一行:

reality-opts:
  public-key: <你的公钥>
  short-id: <你的 short-id>
  support-x25519mlkem768: true


图片描述

support-x25519mlkem768 是 Mihomo 的 REALITY 出站配置中的一个布尔字段,默认值为 false。手动添加这一行,相当于告诉服务端:“我虽然版本看起来不高,但我支持这个新的密钥交换方式”,从而绕过版本校验。

注意:这需要你能编辑 Clash 的配置文件(YAML)。纯订阅用户可能需要服务端下发订阅时包含这个参数,或者在本地覆写配置。

解法三:Shadowrocket 改指纹(iOS 用户)

如果用的是 iOS 上的 Shadowrocket(小火箭),可以通过改 TLS 指纹来解决。

操作步骤:

  1. 打开 Shadowrocket,进入 设置 → 隧道 → TCP。
  2. 找到 TLS → 指纹 这一项。
  3. 在指纹选择列表中,选择带有 supports X25519MLKEM768 标注的项,比如 Safari26_3、Chrome120、Chrome140、Firefox148 等。
  4. 保存后重新连接。

    原理和解法二类似:通过选择一个“声明支持 X25519MLKEM768”的 TLS 指纹,让客户端在握手时带上服务端要求的特性,从而通过版本校验。

解法四:降级 Xray 内核(最稳妥)

如果上面几种方法都不想折腾,可以直接把 Xray 内核降回旧版本。

原帖回复中给出的版本边界是:Xray 不要超过 v26.7.28。3x-ui v3.6.0 捆绑的正是 v26.7.28,后续版本内核更激进,兼容性问题也随之出现。

操作思路:

  1. 在 3x-ui 面板中找到 Xray 版本管理。
  2. 切换/回退到 v26.7.28 或更早的版本。
  3. 重启 Xray。

优点:简单粗暴,立竿见影。
缺点:放弃了新内核的安全更新和功能改进,且每次 x-ui 更新后可能又要重新降级。

四、方案对比

方案 操作位置 适用客户端 推荐度
改入站最小客户端版本 x-ui 面板 所有客户端 ★★★★★
配置加 support-x25519mlkem768 Clash 配置文件 Clash Verge / Mihomo ★★★★
改 TLS 指纹 Shadowrocket 设置 iOS 小火箭 ★★★★
降级 Xray 内核 x-ui 面板 所有客户端 ★★★

五、补充:为什么会反复出现兼容问题?

原帖回复中还有人提到“换 sui 了”(指切换到 sing-box),以及有人说“其实升到最新版反而可以”。这涉及到更深层的生态分歧。

Xray 的作者 rprx 对部分第三方客户端(包括 Mihomo/Clash、sing-box 等)的 REALITY 实现方式有不同看法,认为它们“部分实现不规范”,因此 Xray 在较新版本中主动增加了版本限制。LINUX DO 的讨论中有人提到:“singbox, clash, surge 是第三方客户端,rprx 认为它们部分实现不规范……xray 不打算兼容”。

这意味着,如果你选择留在 Xray 生态里,用 Clash Verge 作为客户端,版本兼容问题可能会反复出现。每次 x-ui 更新捆绑的内核,都可能带来新的校验规则。

长期来看,要么每次手动调整配置,要么考虑切换到 Xray 自家的客户端,或者换用对 Mihomo 更友好的服务端方案。

六、总结

新版 x-ui 在 Clash Verge 上连不上,根源是 Xray 内核的版本校验,不是配置写错了。

建议排查顺序:

  1. 先试解法一(改入站最小客户端版本为 1.0.0),成本最低。
  2. 如果服务端不方便改,试解法二(Clash 配置加 support-x25519mlkem768: true)。
  3. iOS 小火箭用户试解法三(改 TLS 指纹)。
  4. 都不想折腾,用解法四(降级 Xray 内核到 v26.7.28 或更早)。

原帖的讨论虽然简短,但把问题定位和几种解法都覆盖到了。希望这篇整理能帮到遇到同样问题的朋友。

🔒
评论后可见
本条内容需要评论一次才能查看
去评论 ↓

💬 评论区 0