报错在说什么
如果只有 VMess 节点连不上、提示类似 invalid user、握手失败或频繁断连,而 Trojan、VLESS 等节点正常,首先怀疑设备系统时间不准。
VMess 的身份校验带有时间戳,客户端与服务端时间相差过大就会被判为无效。别的协议对时间不敏感,所以问题往往只落在 VMess 上。
为什么 VMess 依赖时间
VMess 在校验里加入了时间因子,用来防重放。它允许一定的误差窗口(一般在几十秒量级),一旦你的设备时间偏差超过这个窗口,服务端就会拒绝——表现就是连不上或 invalid user。
解决办法:校准时间
核心就一件事:把系统时间调准(建议开启自动同步)。
- Windows:设置 → 时间和语言 → 打开“自动设置时间”,并点“立即同步”。
- macOS:系统设置 → 通用 → 日期与时间 → 打开“自动设置”。
- 手机:设置里打开“自动设置日期与时间”。
校准后重启代理内核 / 客户端再测试。
如果还不行
时间校准后仍连不上,说明问题不在时间:
- 换其它节点验证是不是单节点故障。
- 确认订阅未过期并已更新,见订阅失效与连不上的排查。
- 若所有节点都异常,参考节点全红、延迟过高的排查。
顺带一提
VMess 属于较老的协议,如今新节点更多用 VLESS、Trojan、Hysteria2 等。如果你经常被 VMess 的时间问题困扰,且机场提供其它协议订阅,切换协议也是一种省心选择,各协议区别见代理协议科普。