本文速览

VMess 与 VLESS 是代理协议,不是客户端名称。先看一分钟对照,再按需检查配置:VMess 有自己的加密机制,认证依赖时间;常见 VLESS 配置把连接保护交给 TLS 或 REALITY。普通用户应保留订阅下发的整组参数,不要只把协议下拉框从 VMess 改成 VLESS。下文按加密、时间、传输、导入和排错展开。

一分钟对照:协议、传输与连接保护

节点编辑页 →「协议」「传输方式」「TLS」:这三处需要分开看。VMess、VLESS 负责代理通信的格式与身份验证;TCP、WebSocket 等负责承载数据;TLS 或 REALITY 则是另一层连接保护配置。订阅里看似很长的一串参数,实际是在描述这些层如何组合。

检查项 VMess VLESS
身份凭据 通常使用 UUID,还要留意认证相关字段 通常使用 UUID,部分组合还要求匹配 flow 等字段
协议层加密 可使用协议自身的数据加密;具体取决于 security 设置 常见配置使用 encryption=none,连接保护交给外层
时间要求 认证有时间窗口,客户端和服务端需要准确时钟 没有 VMess 式时间认证,但证书等仍可能受时间影响
常见组合 VMess + WebSocket + TLS VLESS + WebSocket + TLS,或 VLESS + TCP + REALITY
能否直接互换 不能。服务端协议、凭据、传输及安全参数必须对应。

判断:先核对整组参数,再比较协议名称

遇到导入后不能连接,先把端口、传输方式和 TLS/REALITY 设置与提供方说明逐项对照。协议名称相同,只能证明其中一项相同,不能证明配置完整。

加密区别:VLESS 的 none 不等于明文连接

节点编辑页 →「加密方式」:先确认这个字段属于哪一层。VMess 的 security 与 VLESS 的 encryption 不是 TLS 开关。常见 VLESS 链接中的 encryption=none,表示不在 VLESS 这一层提供数据加密,并不表示外层 TLS 也关闭了。

端口 443 也不能单独证明启用了 TLS。端口只是服务入口编号,真正的行为取决于双方配置。反过来,TLS 也可以工作在其他端口,因此不要把订阅中的端口统一改成 443。

时间校验:VMess 连接失败先同步时钟

Windows「设置」→「时间和语言」→「日期和时间」→「立即同步」;安卓「设置」→「系统」→「日期和时间」→开启自动设置时间。安卓菜单名称随厂商变化,可以在系统设置中搜索“日期和时间”。先让设备获得准确时间,再重新连接。

VMess 的认证依赖时间窗口。设备休眠后时钟漂移、手动改过日期,或服务端时间不准,都可能造成认证失败。日志不一定直接写“时间错误”,所以节点突然全部不可用时,同步时钟是一项成本很低的检查。

  1. 确认自动设置时间已开启,并完成一次网络同步。只修改时区显示,不一定能修正实际时钟。
  2. 重新连接原节点并查看日志,不要同时修改 UUID、传输和加密方式,否则难以判断是哪一步恢复了连接。
  3. 若其他设备同一节点正常,优先检查本机时间、网络与客户端配置;若所有设备同时失败,再向提供方确认服务端状态。

VLESS 没有 VMess 这种时间认证依赖,但这不代表可以忽略系统日期。TLS 证书有有效期,错误日期仍可能触发证书尚未生效或已经过期的提示。切换协议不能替代修正系统时间。

传输组合:WebSocket、TLS 与 REALITY 怎么看

节点编辑页 →「传输方式」→对应的主机名、路径或服务名:这些字段必须与服务端相符。VMess 和 VLESS 都可以配合多种传输方式,但是否能用某个组合,要看客户端实际调用的内核、内核版本和服务端部署,不能只凭客户端名称判断。

订阅中的组合 重点核对字段 常见误改
VMess / VLESS + WebSocket + TLS 端口、WebSocket path、Host、TLS serverName 认为 Host 与 serverName 一定相同,把两者强行统一
VLESS + TCP + REALITY 服务器名称、公钥、短 ID,以及提供方要求的 flow 漏填公钥,或把其他节点的短 ID 复制过来
使用 gRPC 的配置 serviceName、TLS 设置及内核支持情况 把 serviceName 当成 WebSocket path 填写

例如提供方要求 WebSocket 路径为 /proxy,就应原样保留;这里的路径只是字段示例,不是任意服务器都能使用的值。域名、路径通常区分具体用途,某些字段还区分大小写。导入能成功只说明链接被解析,不说明这些值已经通过服务端验证。

REALITY 与 Vision 也不是同一个开关。REALITY 属于连接安全配置;Vision 通常体现为 xtls-rprx-vision 这样的 flow 值,只有指定组合需要它。不要给所有 VLESS 节点都追加 Vision,也不要把 REALITY 当作 WebSocket 的一种路径格式。

订阅导入:保留参数,再选择运行内核

v2rayN 从主窗口「订阅分组」进入分组设置,添加提供方给出的订阅地址并更新;单条分享链接可用「服务器」中的剪贴板导入入口。v2rayNG 可从主界面「+」→「从剪贴板导入」导入单条配置,订阅则在侧栏「订阅分组设置」中添加。不同版本的文字可能略有差异,以入口用途为准。

导入方案:按设备检查同一份配置

桌面端:v2rayN
  • 导入后打开节点编辑页,确认协议与传输没有缺失。
  • 使用 REALITY 配置时,确认实际调用的是支持该配置的 Xray 内核。
  • 连接后设置系统代理,再用浏览器访问测试。
安卓端:v2rayNG
  • 导入同一份订阅,核对节点参数是否完整。
  • 首次连接允许系统 VPN 授权,确认服务已经启动。
  • 若启用分应用代理,确认测试用的浏览器在接管范围内。

同一份订阅可以用于不同设备,但两端仍需分别更新;本地编辑、分流规则和系统权限不会随订阅自动同步。

v2rayNG 使用 Xray 内核;v2flyNG 使用 v2fly 内核。两者不能因为名称相近就视为功能完全相同。尤其遇到 REALITY 或特定 flow 字段,应核对内核支持,不要把“能识别 VLESS”理解成“支持所有 VLESS 组合”。

保留订阅下发的完整组合

推荐

使用提供方明确支持的客户端与内核,保留协议、传输、安全和认证字段。先建立可用基线,再调整本地路由。

适合:已有订阅,希望稳定导入与日常连接

手动填写服务端配置

逐项录入 UUID、端口、传输参数与安全配置。只有掌握服务端实际设置,才适合修改协议或测试新组合。

适合:管理自己的服务端,或正在按提供方说明排错

常见问题:切换协议、测速与访问验证

能把 VMess 节点直接改成 VLESS 吗?

不能只改客户端下拉框。先向提供方获取独立的 VLESS 配置,或在自管服务端配置对应入站,再导入配套参数。即使地址、端口和 UUID 看起来相同,服务端也不会自动切换协议。

VLESS 一定比 VMess 快吗?

不能这样判断。先在同一网络、同一时段、同一目标上比较实际访问,再观察持续下载和连接稳定性。线路拥塞、服务器负载与传输组合都可能影响结果;不同服务器的一次延迟数值,不能用来证明协议优劣。

节点显示延迟,为什么网页还是打不开?

先确认测的是 TCP 连通性还是真实代理请求。TCP 端口可达不等于认证成功。桌面检查系统代理是否启用,安卓检查 VPN 服务与分应用范围,再看日志中的认证、握手或 DNS 错误。

VMess 的 alterId 应该填多少?

现代 VMess AEAD 配置通常使用 alterId=0。如果旧链接带有非零值,不要靠反复尝试数字修复;让提供方确认当前服务端认证方式,并索取匹配的配置。旧教程中的数字不能直接套用到新订阅。

最后把“节点能连”与“应用走代理”分开验证。先确认核心没有报配置错误,再确认目标应用确实被接管。协议负责连接的一部分,系统代理、VPN 权限、DNS 和路由分流仍分别决定流量如何到达这条连接。