节点含 REALITY 或 xtls-rprx-vision 时,优先确认 Xray 支持;普通 VLESS、VMess 与 Trojan 节点则要继续核对传输方式和配置字段。本文适合准备切换内核、选择 Android 客户端或排查订阅兼容性的人阅读,重点是把协议名称拆成可核对的连接参数,而不是按内核名称判断速度。
内核与客户端:先区分职责
Xray-core 与 V2Fly 维护的 V2Ray-core 是不同的内核项目。两者有共同的技术渊源,但已经各自演进。内核负责处理入站连接、匹配路由规则、建立代理出站;客户端负责订阅管理、界面操作和生成配置。客户端能显示一个节点,不等于当前内核能执行该节点的全部字段。
v2rayN 是桌面客户端,实际连接能力取决于选用的内核及其版本。Android 上,本文按 v2rayNG 使用 Xray 内核、v2flyNG 使用 V2Fly 内核的路径讨论。安装包版本与内核版本是两组信息,排查问题时应分别记录,不要把客户端的版本号当作协议支持依据。
- 解析阶段:订阅字段能否被客户端识别,决定参数是否完整进入配置。
- 加载阶段:内核能否接受字段名、字段值和组合关系,决定进程是否正常启动。
- 连接阶段:服务端参数、证书、时间与网络路径是否匹配,决定握手能否完成。
这三层可以分别失败。例如客户端导入成功,但生成的配置没有带上 REALITY 公钥;也可能内核已启动,但服务端的 shortId 与客户端不一致。因此,“列表里有节点”和“节点可以连接”需要分开验证。
协议对照:VLESS 不等于 REALITY
VLESS 是代理协议名称,XTLS Vision 是特定流控机制,REALITY 是 Xray 的安全层方案。它们不在同一层。只看到订阅链接以 vless:// 开头,无法判断 V2Fly 是否能使用;还要读出传输、安全层和 flow。
| 能力或组合 | Xray | V2Fly | 核对重点 |
|---|---|---|---|
| VMess | 支持常用组合 | 支持常用组合 | 传输方式、TLS、客户端与服务端版本 |
| 基础 VLESS | 支持 | 支持基础协议 | 不能据此推断扩展能力相同 |
| Trojan | 支持 | 支持 | TLS 名称、密码与具体传输组合 |
| VLESS + Vision | 支持,需匹配版本与配置 | 不支持 Xray 的 Vision flow | xtls-rprx-vision |
| VLESS + REALITY | 支持,需匹配版本与配置 | 不支持 Xray 的 REALITY | 公钥、serverName、shortId、指纹 |
| WebSocket + TLS | 支持常用配置 | 支持常用配置 | path、Host、serverName 不能混为一项 |
这里的“支持”不是任意配置可以互换的承诺。某个协议在两边都存在,只能说明存在共同能力;新增传输、配置格式和扩展参数仍须按实际版本确认。尤其不要把 Xray 的新传输字段直接复制到 V2Fly 配置中。
结论:按完整组合选内核
先查 security 与 flow,再查传输。发现 REALITY 或 xtls-rprx-vision,就按 Xray 路径验证;只有普通 TLS 和共有协议时,再评估 V2Fly 的配置兼容性。
XTLS、Vision 与 REALITY:配置名称的边界
旧教程中的 XTLS 与当前常见的 Vision 配置不能机械对应。历史 flow 名称如 xtls-rprx-direct 不应照抄到新配置。常见的 Vision 组合使用 flow: xtls-rprx-vision,安全层可以是 TLS,也可以是 REALITY;并不是只有 REALITY 才能使用 Vision。
REALITY 不是把 TLS 证书检查关掉。客户端要核对服务端提供的公钥、允许的 serverName、shortId 和指纹等参数。服务端私钥只应保留在服务端,不能作为订阅字段发给客户端。普通 TLS 则通常依赖证书链与名称验证,遇到证书错误时应先查名称和系统时间。
VLESS + REALITY + Vision
- 传输
- TCP/raw,名称依版本而定
- 安全层
- REALITY
- Flow
xtls-rprx-vision- 认证参数
- 公钥、shortId、serverName
- 内核路径
- Xray
以服务端提供的组合为准,字段名称需按所用 Xray 版本核对。
VMess + WebSocket + TLS
- 传输
- WebSocket
- 安全层
- TLS
- 路径示例
/ws- 名称示例
example.com- 内核路径
- Xray 或 V2Fly,逐项验证
路径与名称仅作教学示例;是否经过中转取决于服务端部署。
不要给 WebSocket 节点随手加上 Vision flow,也不要把 TLS 节点的 security 改为 REALITY 后期待自动兼容。这样的修改改变了连接协议,服务端必须提供对应配置。订阅信息不完整时,应取得缺失参数,而不是从另一个节点复制公钥或 shortId。
配置迁移:端口相同也不代表配置相同
切换内核前,应保留原配置并先验证一个节点。订阅链接、客户端保存的节点记录和内核 JSON 是三种不同的数据形态。即使都是 JSON,也可能采用不同的配置格式。V2Fly 的不同配置格式与 Xray 常见的 JSON 配置不能仅靠文件扩展名判断兼容。
以上数字是排查用的配置示例,不是所有版本的默认值。服务端端口 443 与本地端口 10808 分属不同方向。报本地端口占用时,改服务端端口通常没有作用;服务端没有在 443 提供对应服务时,本地入站正常也无法完成代理连接。
- 记录原环境:记下客户端版本、启动日志中的内核版本、节点传输和安全层,保留可恢复的配置。
- 先测共同协议:用参数完整的 VMess + WebSocket + TLS 等共同组合建立基线,不要先批量迁移扩展节点。
- 核对生成配置:检查
protocol、传输设置、TLS 名称和出站标签;日志对外分享前移除凭据。 - 再查规则依赖:确认
geosite.dat、geoip.dat可被实际内核找到,规则引用的分类存在。 - 逐项恢复功能:依次恢复 DNS、路由分流和 TUN,避免把多个变量的错误叠在一起。
路由与 DNS 也不是附件。相同域名可能因解析位置、IPv6 可用性或规则顺序而走不同出站。比较内核时,应固定这些设置;否则出现速度变化,可能只是从代理改成了直连,不能据此判断协议效率。更多规则说明可参阅进阶配置中的 DNS 设置。
客户端选择:v2rayNG 与 v2flyNG 怎么取舍
选择 Android 客户端时,先看现有订阅需要什么,再看操作习惯。含 REALITY 或 Vision 的节点应选择可提供对应 Xray 能力的 v2rayNG 版本;已有 V2Fly 配置、使用共有协议并希望继续沿用该内核路径时,可以评估 v2flyNG。不能用节点数量或界面相似程度替代协议核对。
- v2rayNG:适合需要 Xray 扩展能力的节点。导入后仍需确认 flow、指纹、公钥等参数没有被旧版解析器遗漏。
- v2flyNG:适合按 V2Fly 能力提供的节点与配置。不能把导入成功视作支持 REALITY 的证据。
- v2rayN:桌面端要确认节点实际调用了哪个内核。更新客户端后,也要观察启动日志,确认正在执行的内核确实已更新。
有些节点手动补齐字段后能连接,而同一订阅导入失败,问题可能在客户端解析层,不一定在内核。反过来,界面能保存所有字段,但内核报不支持该 flow,也不是订阅地址本身的问题。区分两者,可以避免反复重装却没有改变真正的错误点。
结论:先验证一个节点,再迁移订阅
保留原客户端的可用配置,用一个参数完整的节点验证新客户端。连接、DNS 和分流都符合预期后,再导入其余分组;不要在切换内核时同时重写全部规则。
排查顺序:从字段到握手再到网络
“启动失败”和“启动后无法访问”是不同问题。前者优先查配置格式、字段支持和端口占用;后者再查地址解析、握手参数与路由。错误信息的原文很重要,下面列的是常见含义,不是各版本一定会输出的固定句子。
| 现象 | 优先检查 | 下一步 |
|---|---|---|
| 加载配置时报未知字段或不支持的 flow | 内核版本、字段名称与协议组合 | 确认是否把 Xray 扩展交给了 V2Fly |
| 本地监听失败 | 127.0.0.1:10808 是否已被占用 | 关闭重复进程,或同步修改入站与使用方端口 |
| TLS 名称或证书验证失败 | serverName、证书有效期、系统时间 | 修正参数,不把关闭验证当作长期方案 |
| REALITY 握手失败 | 公钥、shortId、serverName、指纹与服务端日志 | 逐项与服务端给出的配置核对 |
| 超时但没有配置错误 | 域名解析、服务端端口、路由与网络可达性 | 先确认连接是否到达正确地址,再检查协议参数 |
| 一部分域名能访问 | DNS 策略、IPv6、规则次序与出站标签 | 固定同一测试目标,检查实际命中的规则 |
测速也要固定条件。TCP 握手成功,只能说明目标端口在当时可达,不代表 VLESS 认证、TLS 或 REALITY 握手完成。比较 Xray 与 V2Fly 时,应使用双方都支持的同一协议组合、同一出口和同一测试地址;分别记录真实请求延迟与下载吞吐,不能混成一个“速度”分数。
最后的选择原则很简单:需要 REALITY 或 Vision,走 Xray 路径;使用共同协议,按配置兼容性和现有维护方式选择。内核名称不直接决定稳定性,完整参数、匹配版本以及正确的 DNS 与路由,才是可复现连接的基础。