2026-09-15 · 进阶原理 · 约 10 分钟

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

梳理 Project V 生态里两条内核分支的来历,对照协议与传输特性的支持情况,说明 v2rayNG 与 v2flyNG 的选择依据。

本文速览

先看节点要求,再选内核。使用 VLESS、XTLS Vision 与 REALITY 组合时,选择支持对应特性的 Xray 版本;使用 VMess、WebSocket 与 TLS 等配置时,逐项核对两端参数。本文适合已经导入订阅、需要判断内核兼容性的用户,重点说明协议分层、安卓客户端选择,以及切换内核后的验证顺序。

区分客户端、内核与 Project V 分支

先把界面和连接引擎分开。v2rayN、v2rayNG、v2flyNG 是客户端,负责保存节点、管理订阅分组、生成配置并展示日志。内核读取配置,执行代理协议、DNS 查询和路由分流。客户端能识别一条订阅链接,不等于它调用的内核一定支持链接里的全部参数。

Project V 是相关工具与协议的项目体系,V2Fly 社区维护其中的 V2Ray 内核。Xray-core 于 2020 年从 V2Ray 分出,随后独立演进。两者保留了一部分共同协议和配置概念,但新功能、字段格式与发布节奏已经不同。不要把它们理解成同一程序的两个皮肤,也不要用“版本号更大”跨项目比较能力。

拆开 VLESS、Vision 与 REALITY 的职责

“VLESS + TCP + REALITY + Vision”描述的是一组配合工作的设置,不是四种可以随意互换的协议名称。VLESS 负责代理协议层,TCP 表示底层传输方式,REALITY 属于安全层方案,Vision 是 Xray 的流控方式。把不同层混成一个开关,最容易出现订阅导入成功、实际握手失败的情况。

名称主要职责核对内容
VMess代理协议,包含认证及相应的数据保护机制UUID、传输设置、服务端兼容性;现代配置通常使用 alterId 为 0 的方式
VLESS轻量代理协议,本身不提供传输加密UUID、加密字段、安全层与 flow 设置
WebSocket承载代理流量的传输方式路径、Host、反向代理设置,以及是否配合 TLS
TLS通过证书验证等机制建立安全连接SNI、证书域名、系统时间及证书链
XTLS VisionXray 中的流控方案,用于特定连接组合xtls-rprx-vision、配套传输和两端支持情况
REALITYXray 提供的安全层方案服务端公钥参数、serverName、shortId 及客户端指纹设置

VLESS 的 encryption=none 不等于整条连接必然明文传输:是否有安全保护,要继续查看外层采用 TLS 还是 REALITY。反过来,不能因为设置了 VLESS,就默认连接已经加密。部署时应按服务端给出的完整组合填写,而不是只复制 UUID。

Vision 也不是一个通用的“加速按钮”。它对承载方式和连接内容有具体要求,不能看到 WebSocket 节点就直接补上 flow=xtls-rprx-vision。REALITY 与 Vision 经常一起使用,但两者并非同义词,启用其中一项不代表另一项已经配置。

核对 Xray 与 V2Fly 的支持边界

选择内核时,以节点实际使用的功能为单位核对。VMess 和常见 WebSocket、TLS 配置在两个项目中都有实现,但配置文件不能因此整份照搬。尤其是 V2Fly 的不同配置格式、Xray 的扩展字段,以及新传输选项,都需要对照目标发行版确认。

节点要求Xray 内核V2Fly 内核选择依据
VMess支持支持核对认证、传输、安全层及版本兼容性
WebSocket + TLS支持常见组合支持常见组合保持路径、Host 与 SNI 等参数一致
基础 VLESS 配置支持核对目标发行版的协议实现与配置格式不能从 VLESS 名称推导出 Vision 或 REALITY 支持
XTLS Vision在支持该功能的版本中使用不支持 Xray 的 Vision 流控节点要求该 flow 时使用对应 Xray 版本
REALITY在支持该功能的版本中使用不支持 Xray 的 REALITY 配置不能通过改字段名称转换为普通 TLS

基础 VLESS 的历史实现、发行版差异,不应被简化成“所有 V2Fly 版本都支持”或“两个项目的 VLESS 完全相同”。对实际选型而言,更明确的边界是:如果节点要求 REALITY 或 xtls-rprx-vision,就按 Xray 的支持范围选择客户端与内核,而不是尝试让 V2Fly 忽略这些字段。

Xray 内核

推荐

本篇针对 VLESS、Vision 与 REALITY 组合优先推荐。保留服务端给出的安全层和 flow 参数,并确认客户端内置版本能够识别它们。

适合:节点明确要求 REALITY 或 XTLS Vision 的连接环境。

V2Fly 内核

按 V2Fly 的配置体系运行已验证的协议与传输组合。已有 VMess 等部署可继续核对兼容性,没有必要仅因分支名称不同就迁移。

适合:服务端提供 V2Fly 配置,且不依赖 Xray 专属特性的环境。

检查订阅参数与连接端口

更新订阅只负责获取节点资料,不会把不兼容协议转换成兼容协议。检查一条 VLESS 节点时,先核对地址、端口和 UUID,再看传输、安全层、SNI 与 flow。REALITY 节点还应逐项核对服务端提供的公钥参数、shortId 和客户端指纹;不同版本可能调整字段名称,以当前客户端界面和内核文档为准。

443
远端服务端口示例,以订阅实际配置为准
10808
本地代理监听端口示例,以客户端设置为准

这两个端口不是同一个东西。远端端口用于连接服务端,本地监听端口用于让浏览器或其他程序访问本机代理。把远端的 443 改成本地的 10808,不能解决连接失败;让两个本地进程同时占用同一个监听端口,也可能导致内核启动失败。以上数字是配置示例,不代表当前设备的实际值。

  1. 保存原始节点信息。在修改前保留订阅分组和节点参数,不公开包含 token 或 UUID 的完整链接。
  2. 对照安全层。服务端要求 REALITY,就不要在客户端擅自切换为 TLS;服务端要求 TLS,也不要自行填写 REALITY 公钥。
  3. 对照流控。只有服务端配置要求且组合受支持时,才填写 xtls-rprx-vision。
  4. 对照传输字段。WebSocket 路径如 /example-ws 是路径示例,必须替换为服务端实际值;不要据此给 TCP 节点添加路径。
  5. 执行真连接延迟测试。记录测试时间和日志;TCPing 只说明目标端口的可达情况,不能证明认证和安全握手已经成功。

选择桌面与安卓的配置方案

桌面端先确认 v2rayN 当前节点使用的内核,再做测试。需要检查本地监听和代理相关参数时,进入「设置」→「参数设置」核对;不同发行版的分栏位置可能变化,应以实际界面为准。订阅分组负责管理来源,更新订阅负责刷新节点,这两个操作都不等于切换内核。

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

桌面端:v2rayN
  • 对 REALITY 或 Vision 节点,确认实际调用的是兼容的 Xray 内核。
  • 保留原订阅分组,用同一节点完成切换前后的测试。
  • 先检查内核启动日志,再检查系统代理和路由分流。
安卓端:按内核选择
  • 需要 Xray 特性时,选择内置版本满足要求的 v2rayNG。
  • 按 V2Fly 配置部署时,使用 v2flyNG 并核对字段兼容性。
  • 分别更新订阅;分应用代理与本机规则需要各自设置。

共用订阅地址不代表本地设置同步;两端节点能否一致,取决于订阅内容、解析能力与更新时间。

迁移时不要一次同时修改内核、DNS、路由和代理模式。先保持节点不变,确认新内核能启动并完成真连接延迟测试,再逐项恢复路由分流。系统代理与安卓的流量接管方式不同,即使两端使用相同节点,也不能直接比较所有应用的行为。

按日志区分兼容错误与网络错误

先判断失败发生在哪一层。配置读取阶段报错,优先检查字段和内核;连接远端超时,优先检查地址、端口和网络;出现握手错误,再核对安全层参数。不要遇到任何报错都重新更新订阅,这会丢失原来的对照条件,也不一定触及真正原因。

能导入 REALITY 节点,为什么还是连接失败?

导入是客户端解析链接,连接由内核执行。先从启动日志确认 Xray 版本和实际调用路径,再对照服务端公钥参数、serverName、shortId 与指纹设置。最后执行真连接延迟测试,不要只看节点是否出现在列表里。

日志提示 unknown field,能把那一行删掉吗?

先确认配置属于哪个项目和哪种格式。若报错字段用于 REALITY 或 Vision,删除可能改变连接语义,不能作为兼容方案。应改用支持该字段的内核版本,或由服务端提供另一套完整且兼容的节点配置。

把 REALITY 改成 TLS,能在另一内核上用吗?

不能只改客户端。两种安全层的握手与服务端设置不同。只有服务端另行配置了 TLS 入站,并提供对应端口、证书域名和认证信息,客户端才能按那套参数连接。

TCPing 正常,真连接延迟却超时,先检查哪里?

先检查 UUID、flow、安全层和 SNI,再看日志是否包含认证失败或握手失败。若节点真连接延迟正常但浏览器失败,再检查系统代理、本地端口与路由规则;同时确认测试目标本身可以访问。

换成 Xray 后一定更快吗?

不能仅凭内核名称判断。保持同一网络、同一服务端和同一测试目标,分别记录真连接延迟与实际请求结果。服务端负载、线路、DNS 和路由都会影响体验,兼容成功也不等于吞吐量必然提高。

最终保留一条可重复的验证链:确认内核启动成功,确认节点完成实际请求,再确认应用流量走向。需要补充操作步骤时,可查看真连接延迟测试与系统代理设置;需要核对安卓配置时,查看安卓端使用文档。选型的依据始终是服务端要求与客户端实际能力,而不是单独一个协议标签。

下载v2rayN