先读取节点协议与传输参数,再决定使用 Xray 或 V2Fly。带有 REALITY、XTLS Vision 参数的节点优先匹配 Xray;以 VMess、WebSocket、TLS 为主的既有订阅可分别测试两个内核。读完可以根据分享链接、客户端日志和实际连接结果完成选择,而不是只看内核名称。
Xray 与 V2Fly分别解决什么问题
Xray 与 V2Fly 都来自 Project V 相关技术体系,均可处理入站、出站、DNS、路由规则和多种代理协议。两者在基础配置概念上有较多共同点,例如通过 inbound 接收本地流量、通过 outbound 连接远端服务器,再由 routing 规则决定出口。但它们是独立维护的项目,协议扩展、字段定义、默认行为和发布节奏不能视为完全一致。
Xray 的选型重点是新协议与新传输组合。包含 VLESS、REALITY、XTLS Vision 等参数的节点通常围绕 Xray 生态部署,桌面端可用 v2rayN,安卓端可用 v2rayNG。客户端生成配置后调用 Xray 内核,用户主要负责导入订阅、选择节点、开启系统代理或 VPN 模式,不需要手写完整 JSON。
V2Fly 的价值主要体现在 V2Ray 体系的持续维护和既有配置兼容。对于以 VMess、WebSocket、TLS、TCP 为主的节点,V2Fly 仍是可评估的执行内核。安卓端需要明确使用 V2Fly 时,可选择 v2flyNG,并通过运行日志确认实际加载的内核与配置。
Xray 内核
推荐优先处理 VLESS、REALITY、XTLS Vision 等 Xray 生态常见组合,也适合继续使用 VMess 节点。
适合:新订阅、日常主力、需要 REALITY 的节点
V2Fly 内核
围绕 V2Ray 配置体系持续维护,适合验证 VMess、WebSocket、TLS 等既有节点与规则。
适合:既有配置、VMess 节点、明确要求 V2Fly 的环境
客户端名称不等于协议名称。v2rayN 与 v2rayNG 通常使用 Xray 内核,但仍可导入 VMess;v2flyNG 使用 V2Fly 内核,也应以节点实际字段和日志结果判断能否连接。
按协议与传输参数判断内核
最快的判断入口是订阅生成的节点详情。先在客户端中打开节点编辑界面,记录地址、端口、协议、传输方式、安全类型与流控字段。不要只根据节点备注中的“高速”“中转”等名称判断,这些备注不参与核心握手。
看到 VLESS 不代表所有实现都能直接互换。还要继续检查安全类型是否为 REALITY、流控是否为 xtls-rprx-vision,以及传输层使用 TCP、gRPC 还是其他方式。只要分享信息中出现 REALITY 公钥、短 ID、serverName 或 Vision 流控,优先使用 Xray,并保持这些字段完整。
| 节点组合 | 优先内核 | 需要核对的字段 | 常见结果 |
|---|---|---|---|
| VLESS + REALITY + Vision | Xray | 公钥、短 ID、SNI、指纹、flow | 字段缺失时通常在握手阶段失败 |
| VLESS + TLS + gRPC | 先按服务端要求选择 | serviceName、SNI、端口、TLS | 配置结构接近,但扩展能力需逐项确认 |
| VMess + WebSocket + TLS | Xray 或 V2Fly | UUID、Host、Path、SNI、端口 | 适合通过同网络下的连接测试比较 |
| VMess + TCP | Xray 或 V2Fly | UUID、alterId、加密方式、端口 | 旧配置要特别检查字段是否仍受支持 |
如果订阅只显示 VMess,可在同一网络环境下做十次真连接测试。每次先断开旧连接,再连接目标节点并访问同一测试地址,记录成功次数、首包等待和日志报错。延迟相差 20 至 30 毫秒通常不足以单独决定内核,连续成功率和页面加载是否稳定更有参考价值。
配置兼容不等于配置可以原样互换
两个内核都使用结构化配置,也都能表达入站、出站、DNS 和路由,但字段相同只是表面兼容。某个字段是否可用,还取决于内核版本、协议实现和传输模块。把一份完整配置直接换一个可执行内核运行,可能出现未知字段、出站初始化失败或配置可启动但连接握手失败。
订阅链接比完整 JSON 更适合跨客户端迁移。订阅服务通常输出 VMess 或 VLESS 分享信息,客户端再根据自身内核生成最终配置。迁移时先导入原订阅,不要复制客户端缓存目录;更新订阅后随机抽查三个节点,确认协议、安全类型、SNI、传输方式和端口均未丢失。
- 保留原配置。导出当前订阅设置或记录订阅地址,不要覆盖仍可工作的节点列表。
- 确认实际内核。在 v2rayN 中打开「设置」→「参数设置」,查看核心相关选项;在 v2rayNG 或 v2flyNG 中打开「设置」,再查看版本信息与运行日志。
- 重新生成配置。在目标客户端内导入订阅并执行更新,让客户端按目标内核生成字段。
- 先测单节点。选择一个协议字段完整的节点,完成连接、DNS 解析和网页访问测试后再批量迁移。
- 再恢复路由。基础连接正常后添加域名、IP、进程或分应用规则,避免同时排查内核与路由两类问题。
{
"inbounds": [
{
"listen": "127.0.0.1",
"port": 10808,
"protocol": "socks"
}
],
"routing": {
"domainStrategy": "AsIs"
}
}
上面的片段只展示本地 SOCKS 入站与路由策略,不包含远端凭据。测试时将浏览器或调试工具指向 127.0.0.1:10808,同时确认客户端没有把 HTTP 代理误设到同一个 SOCKS 端口。若另设 HTTP 入站,可使用 10809,并检查两个端口未被其他进程占用。
切换内核前先停止当前连接。两个进程同时监听 10808 或 10809 时,后启动的内核会报告地址占用;此时节点本身可能完全正常。
更新节奏与维护方式怎样影响选择
更新快不自动等于连接更稳。新版本可能加入协议参数、修复握手问题或调整底层依赖,也可能让旧配置中的边缘字段暴露出来。实际使用应先确认新版本是否解决当前问题,再决定是否升级,而不是看到版本提示就立即替换正在工作的环境。
Xray 通常更早承载其生态中的协议扩展,服务端采用 REALITY 或新的 Vision 行为时,客户端内核也需要达到服务商要求的版本。V2Fly 则沿自身路线维护 V2Ray 配置、传输和平台能力。两边的发布编号没有横向大小关系,不能用数字较大判断功能更全。
客户端版本与内核版本也要分开记录。v2rayN、v2rayNG、v2flyNG 负责界面、订阅、路由入口和系统网络接管,内核负责解析最终配置并建立连接。排障时至少记录客户端大版本、核心版本、节点协议和报错时间,单独写“最新版”无法复现问题。
推荐方案:按协议统一桌面端与安卓端
桌面端 v2rayN
- 使用 Xray 处理 REALITY 与 Vision 节点
- 在「设置」→「参数设置」核对本地端口
- 更新后保留一组已验证节点用于回归测试
安卓端 v2rayNG
- 导入同一条 Xray 适配订阅
- 核对分应用代理与本地 DNS 设置
- 连接失败时先读取运行日志
若服务端明确要求 V2Fly,则在安卓端改用 v2flyNG 单独验证,不要把两种内核生成的完整配置文件直接互换。
- 保持稳定分支:生产使用的节点先停留在已验证组合,新版本至少完成连接、DNS、路由和休眠恢复四项测试。
- 保留回退信息:升级前记录客户端版本、内核版本和订阅更新时间,出现问题时按同一节点复测。
- 区分服务端变更:多个设备在同一时间失败,优先确认节点状态;只有单设备失败,再检查本地内核与系统代理。
- 读取发布说明:重点搜索正在使用的协议、传输方式和配置字段,不需要逐项追踪与当前环境无关的变化。
按节点类型完成实际选型
新用户可以采用“协议先行”的顺序。先查看订阅中占比最高的节点类型,再决定客户端。若主要节点是 VLESS + REALITY,桌面端选择 v2rayN,安卓端选择 v2rayNG;若安卓端订阅明确围绕 V2Fly 生成,使用 v2flyNG,并从最简单的 VMess 或服务端指定节点开始测试。
已有用户不必为了内核名称频繁迁移。当前 VMess + WebSocket + TLS 节点如果长期稳定,可以继续使用现有环境;只有遇到服务端协议升级、配置字段不被识别、版本停止满足要求或需要 REALITY 时,再切换到匹配的 Xray 组合。
节点含 REALITY 或 Vision
推荐直接采用 Xray 组合,逐项保留公钥、短 ID、SNI、指纹和 flow,不做字段删减。
适合:v2rayN 桌面端、v2rayNG 安卓端
节点以 VMess 为主
先保持现有可用内核,再用同节点、同网络和同测试地址比较成功率。
适合:既有订阅、兼容性验证
订阅明确指定 V2Fly
按订阅说明使用 V2Fly 环境,避免把 Xray 专属参数强行转换成相似字段。
适合:v2flyNG 安卓端
十分钟判断流程
- 打开节点详情,记录协议、端口、传输、安全类型、SNI 和 flow。
- 发现 REALITY、短 ID 或 xtls-rprx-vision 时,选择 Xray。
- 只有 VMess 时,先测试现有内核,不为迁移而迁移。
- 连接后检查日志,确认没有 unknown field、failed to listen、connection refused 或 timeout。
- 验证网页访问、DNS 解析、订阅更新和路由分流,再把该组合设为日常配置。
判断 connection refused 时先区分方向。如果日志显示远端地址与服务端端口拒绝连接,通常是节点端口未监听、地址错误或服务端状态异常;如果显示本地 127.0.0.1:10808 无法连接,则检查核心是否启动、端口是否一致以及系统代理是否仍指向旧端口。
常见选择问题与排查动作
内核选择问题经常与订阅缓存、端口冲突和路由规则混在一起。排查时应先建立最小环境:只保留一个节点、关闭自定义路由、使用默认 DNS,并确认系统时间准确。最小配置能连接后,再逐项恢复功能。
同一个 VMess 节点在两个内核里都能用,选哪个?
在同一网络下连续连接十次,记录成功次数、首包时间和断线情况。结果接近时保留当前稳定环境;订阅同时包含 REALITY 节点时,优先统一到 Xray。
导入 VLESS 后能看到节点,但一连接就失败?
打开节点编辑页,依次核对地址、端口、UUID、安全类型、SNI、指纹、公钥、短 ID 与 flow。REALITY 节点缺少任一关键字段都可能在握手阶段失败。
切换客户端后订阅节点数量变少?
先手动更新订阅,再检查订阅分组和筛选条件。若减少的节点集中为同一种协议,查看更新日志是否提示不支持字段,并向订阅提供方确认目标内核格式。
核心日志提示端口已被占用怎么办?
停止重复运行的客户端,检查 SOCKS 端口 10808 与 HTTP 端口 10809。修改端口时同步更新系统代理设置,避免核心监听新端口而浏览器仍访问旧端口。
升级后原来的路由分流失效?
先切回全局代理验证基础连接,再检查域名规则、IP 规则和出站标签是否仍对应。修改后重新载入配置,并从日志确认规则命中了预期出口。
最终选择可以压缩成一条规则:服务端协议决定内核下限,客户端功能决定操作方式,实测结果决定是否长期保留。REALITY 与 Vision 优先 Xray;常规 VMess 配置先验证现有环境;明确要求 V2Fly 的订阅使用 V2Fly。不要仅凭客户端名称、单次延迟或版本编号作结论。