Xray 内核与 V2Fly 内核区别:VLESS、XTLS 与 REALITY 支持对照

梳理两条内核分支的由来与配置兼容性,对照各自支持的协议与传输特性,说明 v2rayNG 与 v2flyNG 选择内核时该看哪些字段。

本文速览

选择内核先看节点参数,不先看客户端名称。含有 REALITY 或 xtls-rprx-vision 的节点应使用支持对应特性的 Xray;VMess、WebSocket 与常规 TLS 则需要继续核对传输字段和配置格式。本文适合准备在 v2rayN、v2rayNG 与 v2flyNG 之间迁移配置的读者,重点区分协议、传输、安全层与客户端导入能力,并给出从启动日志到本地端口的验证顺序。

一、Xray 与 V2Fly:内核分支和客户端不是同一层

V2Ray 是代理工具及其配置生态的名称。V2Fly 社区延续维护 V2Ray 内核;Xray 则由 V2Ray 代码分支发展而来,后续形成自己的协议扩展、传输实现与配置演进路径。两者有共同来源,但不能据此推断新字段始终互通,更不能把完整 JSON 文件直接视为通用格式。

客户端负责订阅管理、节点编辑、系统代理和启动内核。内核负责解析运行配置、建立入站与出站、执行路由。客户端能显示一条节点,并不等于所带内核能够运行它;订阅导入成功与协议握手成功是两个不同检查点。

二、VLESS、XTLS、REALITY 支持边界对照

VMess 与 VLESS 属于代理协议;TCP、WebSocket 属于传输方式;TLS、REALITY 属于连接安全层相关配置。XTLS Vision 则通过特定流控方式参与连接处理。这些名称不在同一层,不能简单排列成一组可任意替换的“协议选项”。

项目Xray 内核V2Fly 内核迁移检查点
VMess支持支持核对 UUID、加密设置、传输与 TLS 参数
VLESS支持,常与 Vision、REALITY 配合历史版本有实现,具体以所用版本与配置格式为准不能从支持 VLESS 推导出支持 Xray 扩展
WebSocket + TLS支持支持核对 path、Host、serverName 与证书验证
XTLS Vision支持对应的 VLESS 流控配置不支持 Xray 的 Vision 方案检查 flow 是否为 xtls-rprx-vision
REALITY支持不支持 Xray 的 REALITY 方案检查安全层、公钥、serverName、shortId 等参数
完整运行 JSON按 Xray 配置规范解析按对应 V2Fly 配置版本解析配置结构相似不代表可直接互换

VLESS 本身不提供与 TLS 等价的传输加密。看到 VLESS 节点时,需要继续检查安全层,而不是仅凭协议名称判断连接保护方式。历史 VLESS 实现的存在,也不意味着 V2Fly 可以接收含有 REALITY 或 Vision 的订阅节点。

旧教程中的 security: "xtls" 与当前常见的 flow: "xtls-rprx-vision" 不是同一写法。不要通过把字符串改成 TLS 来“修复”旧配置;服务端监听方式、流控和客户端能力必须同步匹配。

三、按节点参数选择内核,而不是按速度标签选择

内核选择的第一道门槛是配置可执行,之后才是连接质量。延迟受线路、服务端负载、DNS、路由和网络环境共同影响,不能把某一内核直接等同于固定的速度增益。下面的推荐仅针对明确带有 REALITY 或 Vision 参数的节点。

Xray 内核

推荐

节点含有 REALITY、xtls-rprx-vision 或其他明确要求 Xray 的配置时,选择支持这些字段的 Xray 版本,并确认客户端完整保留参数。

适合:VLESS + REALITY、Vision,以及服务端明确要求 Xray 的节点。

V2Fly 内核

已有按 V2Fly 配置规范部署的 VMess 等节点时,可延续对应内核与配置流程;迁移前单独检查传输、DNS 与路由结构。

适合:现有 V2Fly 配置维护、VMess 节点及不依赖 Xray 扩展的环境。

以常见的 VLESS + TCP + REALITY 节点为例,需要逐项检查地址、端口、UUID、流控、安全层、服务端名称、公钥与 shortId。指纹参数也应按提供方要求填写。shortId 允许的取值由服务端决定,不能从另一个节点复制,更不能假设必须填写固定长度。

  1. 在节点编辑界面确认协议为 VLESS,传输类型与服务端一致。
  2. 检查安全层为 REALITY;只有服务端要求 Vision 时,才填写 xtls-rprx-vision。
  3. 核对公钥与服务端名称,不能将连接地址、WebSocket Host 和 serverName 一律填成同一个值。
  4. 启动后查看日志,先确认配置被接受,再判断握手与应用访问是否成功。

四、配置兼容性:先分清分享链接与运行 JSON

分享链接描述节点,客户端将其转换成运行配置;完整 JSON 则可能同时包含本地监听、DNS、路由和多个出站。前者导入成功,只能证明解析器接受了链接;后者复制成功,也不代表另一内核认识其中每个字段。

下面是用于识别 Xray 安全层的配置片段,不是可独立运行的配置。它没有包含服务端地址、用户身份与 REALITY 连接参数,不应直接保存为完整配置后启动。

{
  "streamSettings": {
    "network": "tcp",
    "security": "reality"
  }
}

五、本地端口与握手日志的验证顺序

测试时先固定本地入口,再测试远端连接。下面三个数字是排查示例:10808、10809 需要与本机实际监听配置一致;443 只是常见远端 TLS 端口,不是所有节点的固定要求,也不能据此判断服务使用哪一种协议。

10808
示例本地 SOCKS 监听端口
10809
示例本地 HTTP 监听端口
443
示例远端安全连接端口
  1. 确认启动:日志中若出现未知协议、未知传输或配置解析失败,先修正配置或匹配内核,不进入线路测速环节。
  2. 确认监听:检查本地地址与端口。出现 address already in use 时,查找占用进程,或修改本地端口并同步修改测试命令。
  3. 确认握手:内核已经启动但连接失败时,再核对远端端口、UUID、flow、serverName、公钥、shortId 和系统时间。
  4. 确认路由:命令行经代理可访问而浏览器不行时,检查系统代理、浏览器代理设置与分流结果,不先更换内核。

桌面环境已安装 curl、且 SOCKS 入口确为 127.0.0.1:10808 时,可用下面的命令验证一次显式代理请求。--socks5-hostname 让目标域名交给 SOCKS 代理侧处理;它不是对整个系统 DNS 或所有应用代理状态的证明。

curl --socks5-hostname 127.0.0.1:10808 --connect-timeout 10 --max-time 20 -I https://v2ray88.com/

收到 HTTP 响应表示这一次目标请求完成了连接流程,不代表全部站点和规则均正常。若返回的是站点自身的访问限制响应,也要与代理握手失败区分。记录错误时保留时间与报错类型,分享日志前移除订阅链接、UUID 和其他敏感连接信息。

六、桌面端与安卓端的配置分工

同一个订阅源可以提供多种协议。两端导入相同链接后,列表也可能因解析器、过滤条件、更新时刻而不同。先选一条两端都能明确识别的节点验证,不要用“列表数量一样”代替兼容性检查。

方案:按节点特性分配客户端

桌面端:v2rayN
  • REALITY 或 Vision 节点使用对应的 Xray 内核。
  • 从启动日志确认实际执行的内核与版本。
  • 先测试本地代理入口,再启用完整分流规则。
安卓端:按协议选择
  • v2rayNG 用于匹配 Xray 特性的节点。
  • v2flyNG 用于匹配 V2Fly 能力的节点。
  • 切换客户端时先停止另一客户端的 VPN 连接。

结论:订阅来源可以相同,运行能力仍由各端客户端、内核与节点参数共同决定。

安卓端出现 VPN 授权提示时,需要按系统提示确认。更换客户端后还要检查分应用代理范围:某个应用被排除,可能表现为该应用无法访问,而其他应用正常。这类现象不能单独证明 REALITY 参数或内核实现有问题。

七、内核切换常见问题

订阅能导入,为什么启动后提示未知安全类型?

打开失败节点的编辑界面,查看是否选择 REALITY,再核对启动日志中的内核名称。若当前运行的是 V2Fly,改用支持对应字段的 Xray 环境;若已经是 Xray,继续确认内核版本与客户端生成的配置,不要只更新订阅。

把 REALITY 改成 TLS,就能在 v2flyNG 使用吗?

不能只改客户端。两种方式的握手与服务端配置不同。需要由服务端提供实际匹配的 TLS 节点,再按新参数导入;清空公钥或修改安全层名称,不会让原来的 REALITY 入口变成普通 TLS 入口。

VMess 节点在两个内核上都能用,还需要更换吗?

若现有节点、DNS 和分流运行正常,没有仅因名称不同就更换的必要。确需迁移时,先保留原配置,单独验证传输路径、TLS 服务端名称与证书验证,再逐步加入路由规则。

日志没有报错,浏览器仍打不开,先查哪里?

先用实际本地端口执行显式代理请求。命令成功后,在 v2rayN 的系统代理菜单检查当前代理状态,并检查浏览器是否另设代理;命令失败则回到内核日志,区分本地拒绝连接、远端超时与握手失败。

最终判断顺序是:节点要求什么特性、客户端是否完整解析、实际内核是否支持、生成配置是否正确、应用流量是否进入代理。需要进一步核对字段时,可查阅配置大全;首次建立可用连接时,按快速上手逐步操作,比同时调整多项参数更容易定位问题。

下载v2rayN