先按节点参数选内核,再检查客户端能否正确生成配置。使用 REALITY 或 xtls-rprx-vision 的节点,应选择支持相应特性的 Xray 内核;已有 VMess、WebSocket 或 TLS 节点,则需要逐项核对传输与安全参数。本文适合准备在桌面与安卓之间迁移订阅的用户,重点解释哪些设置可以复用、哪些必须重新确认。
区分客户端、内核与节点协议
v2rayN 是桌面客户端,负责订阅管理、节点编辑、系统代理和内核进程管理。Xray 与 V2Fly 是实际处理代理流量的内核。安装了某个客户端,并不代表当前连接一定由某个内核处理;应以运行日志中的内核名称、版本和启动结果为准。
V2Fly 社区维护 V2Ray 项目。Xray 从 V2Ray 项目分支发展而来,后来在传输、安全机制与配置字段上形成独立演进路线。两者有共同来源,但不能据此推断新功能会同步出现,也不能把完整 JSON 配置视为可直接互换的文件。
- 客户端层:v2rayN、v2rayNG、v2flyNG 负责提供操作界面、导入订阅并启动内核。
- 内核层:Xray 或 V2Fly 解析配置,建立入站、出站连接并执行路由规则。
- 协议层:VMess、VLESS、Trojan 等描述代理通信方式,不等同于客户端名称。
- 传输与安全层:TCP、WebSocket、TLS、REALITY 等字段共同决定连接条件,不能只看节点列表中的协议标签。
安卓端的 v2rayNG 使用 Xray 内核,v2flyNG 使用 V2Fly 内核。桌面端使用 v2rayN 时,应再核对当前版本提供的内核选项与该节点实际调用的内核。界面能保存节点,只说明输入通过了界面检查,不代表内核已经成功建立连接。
对照 REALITY、XTLS Vision 与常见协议
REALITY 与 XTLS Vision 解决的问题不同。REALITY 是 Xray 提供的一种传输安全机制;Vision 则是以 xtls-rprx-vision 表示的流控模式,常见于 VLESS 配置。两者经常组合使用,但不是同一个开关,Vision 也可以出现在符合要求的 TLS 配置中。
| 检查项目 | Xray 内核 | V2Fly 内核 | 迁移时的处理 |
|---|---|---|---|
| VMess | 支持,仍需匹配传输参数 | 支持,仍需匹配传输参数 | 核对 UUID、安全选项、传输与 TLS |
| VLESS | 支持,常与 REALITY 或 Vision 配合 | 已有 VLESS 实现,但不等于支持 Xray 的全部扩展 | 继续检查 security 与 flow,不能只看 VLESS 名称 |
| REALITY | 由支持该特性的版本处理 | 不能直接使用 Xray 的 REALITY 配置 | 保留 Xray,或向服务商获取另一种节点配置 |
| xtls-rprx-vision | 由支持该流控的版本处理 | 不能直接按同名 Xray 流控迁移 | 核对服务端要求,不能只删除 flow 字段 |
| WebSocket + TLS | 支持常见组合 | 支持常见组合 | 核对路径、Host、SNI 与证书验证 |
REALITY 客户端通常需要服务端提供的公钥相关参数、serverName、shortId,以及客户端指纹等设置。服务端私钥不应放进客户端。分享链接、客户端表单和内核 JSON 的字段名可能不同;应按当前版本的字段说明对应填写,而不是机械复制字段名。
按节点需求选择 Xray 或 V2Fly
如果订阅已经包含 REALITY 或 Vision 节点,优先选择支持这些特性的 Xray 客户端。如果已有配置长期运行在 V2Fly 环境,且使用双方都支持的协议与传输,则可保留原有环境,先验证再迁移。内核选择不是速度排名,实际体验还取决于线路拥塞、服务端负载和本地网络。
Xray 内核
推荐用于需要 REALITY、xtls-rprx-vision 的节点。选择前确认客户端内置版本与表单支持情况,避免出现内核支持、界面却无法完整导入字段的情况。
适合:含 REALITY 或 Vision 的订阅、桌面与 v2rayNG 配套使用
V2Fly 内核
用于已经验证可用的 V2Fly 配置与常见 VMess 等节点。保留既有路由与 DNS 方案时,仍要检查配置格式和当前版本是否一致。
适合:已有 V2Fly 配置、使用 v2flyNG 且节点参数匹配的环境
不要把“新内核”理解为“所有旧节点都能原样导入”。客户端订阅解析器也参与转换:同一条分享链接可能被不同客户端解析成不同字段,某些扩展参数可能被忽略。切换客户端后先打开节点编辑页逐项复核,比反复更新订阅更容易定位问题。
迁移配置时检查五组字段
迁移时优先导入单个节点,确认可用后再导入整组订阅。完整配置除了远端连接,还包含本地监听、DNS、路由和出站标签。只迁移节点信息通常更容易控制变量;直接覆盖完整 JSON,可能同时改变应用接入方式和分流结果。
- 记录当前环境。在客户端日志中记录内核名称与版本,保存原配置副本。v2rayN 可先打开「设置」→「参数设置」检查本地监听相关设置;不同版本的分页名称可能不同,以当前界面为准。
- 核对远端身份。检查服务器地址、端口、UUID 或密码。端口属于服务端约定,不能因为另一条节点使用 443 就把当前节点也改成 443。
- 核对传输字段。WebSocket 的 path 与 Host、TLS 的 serverName,以及 REALITY 参数均需对应服务端。Host 与 serverName 用途不同,即使值相同,也不能合并为一个字段。
- 核对安全与流控。检查 TLS 或 REALITY 的选择,以及是否要求
xtls-rprx-vision。导入后看到 VLESS 标签,不代表这些附加条件已经完整保留。 - 重建本地策略。重新检查 DNS、路由顺序、出站标签和系统代理。引用了不存在的 outboundTag,可能导致配置启动失败或分流不符合预期。
V2Fly 存在不同配置格式与演进路线,Xray 也会调整字段和校验规则。因此,“都是 JSON”不等于结构相同。遇到未知字段、无效传输或不支持的 flow 报错,应先确认读取该配置的内核与格式,再依据错误所在字段处理,不要批量删除所有报错项。
这三个数字展示的是不同角色,不是要求照填的推荐配置。远端端口用于连接服务器,本地端口用于让应用接入代理。例如浏览器指向本机 HTTP 端口时,内核必须确实提供该监听;若当前使用混合端口,应按实际监听类型配置,不能照搬旧客户端的端口记录。
安排桌面与安卓的订阅使用方案
同一条订阅可以包含多种协议。桌面端导入成功,并不能证明安卓端支持其中每一项。服务商也可能按客户端类型返回不同内容,因此两端节点名称相同,仍需要检查协议、传输和安全字段是否一致。
配置方案:按内核能力拆分可用节点
桌面端:v2rayN
- 使用 REALITY 或 Vision 时确认实际调用 Xray。
- 先测试单节点,再确认系统代理与路由。
- 保留原配置副本,单独记录本地监听端口。
安卓端:v2rayNG 或 v2flyNG
- 需要 Xray 特性时选用 v2rayNG。
- 使用 v2flyNG 时选择与 V2Fly 匹配的节点。
- 首次连接检查系统 VPN 授权,再测试应用访问。
共享订阅不等于共享全部运行设置;节点参数、DNS、路由与系统接入方式应分别验证。
Mac 上的系统代理主要影响遵循系统代理设置的应用;安卓客户端通常通过系统 VPN 接口接管流量。这两种入口不同,不能把安卓端能访问网页当作 Mac 系统代理已经正确设置的证据。排查时先确认内核启动,再确认应用流量是否进入内核。
处理导入成功但连接失败的问题
按“配置能否启动 → 远端握手是否成功 → 应用是否进入代理”的顺序检查。每次只改一组参数,并保留第一条具体错误。节点列表中的测试结果只覆盖某个测试目标,不能代替浏览器、DNS 与路由的完整验证。
REALITY 节点能导入 v2flyNG,为什么仍然连不上?
导入器可能只保存了部分字段。打开节点编辑页,检查安全类型与 flow;如果服务端要求 REALITY 或 Vision,应改用支持相应特性的 v2rayNG,或向服务商获取适配 V2Fly 的节点。不要仅把安全类型改为 TLS 后重试。
换了 Xray,为什么原来的 WebSocket 节点失效?
先看日志是否已成功启动,再核对 WebSocket 路径、Host、TLS serverName 和远端端口。若日志提示本地端口占用,先停止另一个代理进程;若是握手错误,先恢复原节点参数,不要同时调整 DNS 和路由。
日志显示启动成功,Mac 浏览器却打不开网页?
核对 v2rayN 的系统代理状态,并在「设置」→「参数设置」确认实际监听端口。再到 macOS「系统设置」→「网络」→ 当前网络服务 →「详细信息」→「代理」核对代理地址与端口。若客户端使用自动代理配置,还要确认对应配置已生效。
两种内核哪个延迟更低,需要反复切换吗?
先选双方都支持的同一节点、同一传输和同一测试目标,在相近时间重复测试,再观察实际网页加载与持续传输。跨地区节点之间的结果不能用于证明内核快慢。已有配置稳定且功能满足需求时,不必只为一次延迟数字迁移。