在 v2rayNG 中打开节点编辑页,先看协议,再看传输与安全设置。VMess 有自身的数据加密机制;常见 VLESS 配置把链路保护交给 TLS 或 REALITY。本文适合已经拿到订阅、需要核对字段的 Android 用户,重点解释额外 ID、SNI、传输路径与 flow,帮助区分导入错误和线路问题。
先在节点编辑页分清协议、传输和安全层
在 v2rayNG 主界面找到节点,点该条目的编辑图标,查看顶部协议及下方连接参数。不同版本的字段排序可能不同,但核对顺序不变:服务器地址与端口、用户 ID、传输方式、传输层安全。查看后若没有明确修改依据,直接返回,不要保存试填值。
VMess、VLESS 是代理协议;TCP、WebSocket、gRPC 是传输方式;TLS、REALITY 是连接安全相关的选项。它们不是同一层的替代品。节点写着 VLESS,并不能据此判断它使用哪种传输,也不能推断它一定启用了 REALITY。
| 核对项 | VMess | VLESS |
|---|---|---|
| 用户身份 | 通常使用 UUID | 通常使用 UUID |
| 协议数据加密 | 支持自身的数据加密机制 | 常见配置的 encryption 为 none,依靠外层保护 |
| 额外 ID | 现代 AEAD 配置使用 0 | 没有此字段 |
| 常见连接组合 | VMess + WebSocket + TLS | VLESS + TCP + REALITY,或 WebSocket + TLS |
| 导入时的重点 | 额外 ID、加密选项与传输参数 | 安全层、flow 与对应安全参数 |
订阅是配置的分发入口,不是第四种协议。同一份订阅可以包含两类节点。路由分流则决定哪些连接走哪个出口,不会把 VMess 自动转换成 VLESS;分应用代理也只是改变流量进入客户端的范围。
加密方式不同,不等于 VLESS 可以省略安全设置
在 VMess 编辑页查看「加密方式」时,通常能看到 auto 等选项。VMess 的协议机制与外层 TLS 是两件事:即使协议本身提供加密,服务端仍可能要求 WebSocket 配合 TLS。删除 TLS 设置并不会让这条节点变成“更直接”的连接,而可能使服务端根本无法接收请求。
常见 VLESS 配置中的 encryption=none 指协议自身不做这一层数据加密,并不代表完整连接没有保护。应继续检查「传输层安全」是否为服务端要求的 TLS 或 REALITY。仅凭一个 none 就打开「跳过证书验证」,既没有解决层级问题,也会削弱 TLS 的身份验证。
服务端已提供完整参数的 VLESS
推荐在新配置可选、参数齐全的前提下,直接导入服务端给出的 TLS 或 REALITY 组合。保留安全层、SNI 和 flow,不要只复制地址与 UUID。
适合:新建连接,且订阅明确支持当前 v2rayNG 内核
已经稳定运行的 VMess AEAD
保留现有协议与传输配置。没有连接故障时,不需要为了名称更新而手动改成 VLESS;转换协议必须由服务端同步提供支持。
适合:现有订阅以 VMess 为主,日常连接稳定
判断:选择可完整导入的组合,而非只选协议名
如果一条 VLESS 节点缺少 REALITY 公钥等必要信息,先更新订阅或索取完整配置;不要用另一条节点的参数补齐。已经可用的 VMess 可以继续作为对照连接。
额外 ID 怎么填:现代 VMess 通常是 0
打开 VMess 节点编辑页,找到「额外 ID」或 alterId。现代 VMess AEAD 配置使用 0。旧教程中常见的 64 属于历史配置语境,不能当作提升兼容性或速度的通用数值。当前内核对旧认证方式的支持还可能受版本影响。
这三个数字分别对应认证模式、标识符格式和网络入口,不能互相推导。UUID 长度正确不代表账号有效,端口为 443 也不代表服务器一定启用了 TLS。端口必须以订阅下发值为准,不要因为看到 TLS 就把其他端口改成 443。
- 导入后额外 ID 为 0:先保留,再检查地址、UUID 与传输设置,不要机械改成 64。
- 旧配置给出非零值:优先更新订阅或向提供方获取 AEAD 配置,单改客户端数值不等于服务端已经迁移。
- VLESS 页面没有额外 ID:这是正常区别,不需要寻找隐藏开关,也不要把该值放进 flow。
- 认证失败且时间明显不准:在 Android「设置」→「系统」→「日期和时间」开启自动校时。厂商入口可能略有不同;VMess 认证与 TLS 证书判断都会受时间影响。
WebSocket、TLS 与 REALITY:按服务端组合逐项对照
先在节点编辑页展开「传输方式」和「传输层安全」。WebSocket 节点要检查路径与 Host;TLS 节点要检查服务器名称,即 SNI。服务器地址用于找到入口,SNI 用于握手时声明目标服务器名称,WebSocket Host 则属于 HTTP 请求字段,三者可能相同,也可能按部署要求不同。
两类常见配置的核对方案
VMess + WebSocket + TLS
- 确认协议为 VMess,额外 ID 符合服务端配置。
- 传输选择 WebSocket,路径保留开头的斜杠。
- Host 与 SNI 分别照填,不能仅因名称相似就互换。
- TLS 证书验证保持启用,域名应符合证书要求。
VLESS + TCP + REALITY
- 确认安全层为 REALITY,而非普通 TLS。
- 逐项核对服务器名称、公钥、shortId 与指纹要求。
- 若服务端要求 Vision,flow 使用 xtls-rprx-vision 的正确配置值。
- 不要额外添加另一条 WebSocket 节点的路径或 Host。
以上是两种常见组合,不是所有可用组合的清单;实际参数以服务端配置与内核支持为准。
REALITY 不是在普通 TLS 配置上随意切换一个开关即可使用。客户端持有的公钥必须与服务端私钥匹配;shortId 必须符合服务端允许的取值;服务器名称也要符合服务端要求。shortId 可以按服务端设计为空,因此“空值”本身并不能证明配置错误。
在使用 Vision 的 VLESS 节点中,常见 flow 值是 xtls-rprx-vision。它不是加密算法名称,也不适合复制到任意 WebSocket 配置。VMess 则不能通过填写这个 flow 变成 VLESS + REALITY。遇到不识别的字段,先核对客户端与内核支持,再确认订阅是否针对该客户端生成。
导入后无法连接:先看失败阶段,再看协议
在 v2rayNG 点右上角「+」→「从剪贴板导入」可以导入分享链接。订阅则进入侧栏「订阅分组设置」,新增分组并保存地址,再从主界面菜单执行订阅更新。不同版本可能显示为「更新订阅」或带有更新方式的菜单项。粘贴链接成功只说明客户端完成了解析,不代表账号、服务器和网络都已可用。
- 确认导入结果:打开新条目的编辑页,对照协议、端口、UUID、传输和安全层。不要仅看节点备注,备注中的“VLESS”文字不能替代真实协议字段。
- 启动后查看日志:在侧栏打开「日志」。若内核尚未启动就报告字段或配置错误,先处理配置兼容问题;此时反复测延迟意义不大。
- 区分连接与握手:连接超时先查服务器可达性和端口;证书或握手报错再查时间、SNI、证书与安全层参数。错误文本只是线索,需要结合完整上下文判断。
- 最后检查转发范围:若节点能连接而某个应用不通,确认 VPN 权限、分应用代理和路由规则。应用被排除时,更换 VMess 或 VLESS 都不会让它自动进入代理。
能把 VMess 节点直接改成 VLESS 吗?
不能只改客户端协议。先让服务端提供 VLESS 入口与完整参数,再导入为新条目。保留原节点,方便回退与对照。
VLESS 显示 none,是不是忘了开启加密?
先确认 none 属于哪个字段。若是协议 encryption,继续检查 TLS 或 REALITY;若传输层安全也为空,应向提供方确认部署方式,不要自行猜测。
REALITY 导入后一直握手失败,要关证书验证吗?
不要把跳过证书验证当修复手段。先按订阅核对服务器名称、公钥、shortId、指纹及 flow,再确认内核支持和服务端状态。
同一条订阅在桌面能用,安卓为什么不行?
先在 v2rayN 与 v2rayNG 中核对同名节点的实际参数和更新时间,再检查 Android 的 VPN 授权与分应用规则。同名条目不一定来自同一次订阅更新。
选哪个协议:保留稳定节点,用同条件测试决定
仅凭“轻量”不能断言 VLESS 一定更快。实际表现还取决于线路拥塞、服务器负载、传输方式和目标站点。两条不同地区、不同入口的节点即使协议不同,也不能用一次测速证明协议性能高低。
- 已有稳定 VMess:继续使用,确保配置采用当前内核支持的认证方式。迁移前要求提供方给出完整的新节点。
- 新订阅提供 VLESS + REALITY:用 v2rayNG 的 Xray 内核按原参数导入,重点检查安全层与 flow,不凭旧教程补字段。
- 需要比较体验:在同一 Wi-Fi、同一时段和同一目标下各重复测试 3 次,记录连接成功率、网页加载和持续下载表现,不只比较延迟数字。
- 更换 Android 客户端:v2flyNG 使用 v2fly 内核,不能把 v2rayNG 的 Xray 专用配置支持情况直接套用过去;先核对目标内核是否支持所需组合。
实际维护时,把“协议、传输、安全层”当作一组完整配置。先更新订阅,再核对字段,最后调整路由与分应用代理。这样既能保留可用连接,也能避免把服务端参数错误误判为某个协议本身不可靠。