开启 3 天免费试用
注册即可免费体验全部高级功能。
*仅限新用户;每位用户只能获得一次试用。


REALITY 短 ID 是客户端选择的一小段配置值,它必须与服务端 shortIds 列表中的某一项完全匹配。服务端借此判断进入的握手是否带有获准的配置值。它只是 REALITY 认证路径的一项检查:短 ID 正确,不代表服务端公钥、允许的服务器名称、软件版本或后续 VLESS 用户 ID 也正确。[1]
完整 VPN 指南介绍整条连接路径;本文只解释短 ID 字段,避免把格式或选值错误与所有 VLESS、REALITY 设置混为一谈。
关键要点
- 客户端字段是单数
shortId,服务端字段是可接受值列表shortIds。- 客户端的值必须按文档规定的十六进制格式,精确命中服务端的一项。
- 最多 16 个十六进制字符,且字符数量必须为偶数。
- 空值只有在服务端明确包含空字符串时才可用。
- 短 ID 不是加密私钥,但仍应作为敏感配置资料保护。
Project X 把服务端 shortIds 定义为用于区分不同客户端的列表。客户端只配置一个 shortId,并且该值必须属于服务端列表。[1] 这是集合成员匹配,而不是协商:客户端不会提交一组候选值让服务端挑选。
字段名称中的“ID”容易让人误以为它代表真人账户。更准确地说,它是 REALITY 认证配置中的紧凑选择值。管理员可以给不同的获准配置组分配不同条目,从而只轮换一组而不必同时修改全部配置。不过,分组方式是运维设计,不是协议对真实身份的保证。
图例:1 是客户端唯一的 shortId;2 表示在服务端 shortIds[] 中做成员匹配,并检查文档规定的十六进制格式;3 是随后继续的 REALITY 认证路径。箭头表示配置关系,不是实际报文字段或完整握手时序。
shortId 如何匹配 shortIds?匹配的是十六进制文本解码、末尾补零后的八字节值。非零数字不同、存在分隔符或长度为奇数都无法匹配;界面名称和 JSON 注释不算配置值。
官方配置允许 0–16 个十六进制字符且数量须为偶数。核心在解码值末尾补零至八字节:aa1234 与 aa12340000000000 等价,前置零则不同。服务端列表可含空字符串,但客户端空值只有在服务端接受空条目时才有效。[1] 示例可留空不等于所有服务端都会忽略它。
| 检查项 | 客户端 | 服务端 | 失败含义 |
|---|---|---|---|
| 字段名 | shortId | shortIds | 单数、复数或所在位置可能写错 |
| 类型 | 一个字符串 | 字符串列表 | 导入或配置结构错误 |
| 字符 | 十六进制 | 每项均为十六进制 | 不符合文档格式 |
| 长度 | 偶数且不超过 16 | 每项相同规则 | 条目畸形或复制错误 |
| 成员关系 | 一个规范化值 | 相同的规范化服务端条目 | 该选择值无法通过 REALITY 认证 |
| 空值 | 客户端留空 | 列表包含空字符串 | 未明确允许时会被拒绝 |
不要看到奇数长度就猜测应该在哪一侧补零,应从获准配置真源取得预期值。只有文档规定的末尾补零会保留较短值;在开头补零或排障时凭空补位,都会制造另一个条目。
它只能证明本次连接无法通过这一项短 ID 检查。依实现和配置而定,客户端可能看到提前断开或笼统的握手失败;未通过 REALITY 认证的流量也可能进入已配置的目标站或回退分支。[1] 用户界面未必明确写出“短 ID 不匹配”。
这并不能证明网络封锁了 REALITY,也不能证明服务端公钥错误或 VLESS UUID 被拒。它们属于不同层。服务端端口可达,仍可能拒绝短 ID;反过来,修正短 ID 后,也可能才暴露公钥、serverName、UUID、flow、路由或 DNS 的后续问题。
应寻找第一个出现差异的阶段。若目标监听器已收到连接,而且获准来源确认公钥和服务器名称都正确,此时对照短 ID 才有意义。若服务端完全没有连接记录,修改短 ID 无法修复 DNS、地址、端口、防火墙或路由。
VLESS UUID 在代理协议层标识获准用户。[3]REALITY 客户端公钥材料与服务端私钥配对,参与外层认证。短 ID 则是另一项 REALITY 配置选择值。把三者都叫作“密码”,会令轮换与排障失去边界。
| 值 | 所在层 | 主要问题 | 不能据此推断 |
|---|---|---|---|
REALITY shortId | REALITY | 是否属于 shortIds? | 真人身份或加密强度 |
REALITY password | REALITY 客户端配置 | 公钥材料是否对应服务端私钥? | 网站证书所有权 |
VLESS id / UUID | VLESS | 该代理用户是否获准? | 设备所有权或 REALITY 已成功 |
serverName | 面向 TLS 的 REALITY 配置 | 名称是否获准并与目标站协调? | 用户授权 |
flow | VLESS/XTLS 配置 | 选择哪种受支持的流算法? | QoS 或路由选择 |
VLESS、REALITY 与 XTLS Vision进一步解释各层。配置清单中分别标注这些值,比保存一个含义不明的“配置凭据”更利于排查。
先确定负责人并建立清单。[2]记录每个条目对应哪个获准配置组、何时签发、在哪个服务端列表中生效,以及何时移除。通用运行手册只记录诸如“mobile-test-2026-09”的内部标签;真实短 ID 应留在受保护配置系统。
轮换时,先把新条目加入服务端并回读确认实际列表,再通过认证渠道更新目标客户端,待约定重叠期结束后移除旧条目。这个次序可减少不必要的中断,也能在客户端逐步更新期间保留回退点。
不同的值可以缩小是哪个配置组已经过时,但它们并不是完整的身份或吊销系统。[2]如果几个人共用一份复制的配置,不同的短 ID 无法证明是谁发出了请求。应按政策使用 VLESS 用户清单、访问控制和运维日志,而不是赋予短 ID 它并不具备的作用。
日志应尽量少保存敏感资料。部分指纹、配置修订号和结果分类通常足以关联事件。不要把完整配置、UUID、私钥或短 ID 放进截图、公开工单、shell 历史或分析事件。
冻结一次请求的时间与时区、客户端和服务端版本、配置修订号、端点及原始错误分类。先确认请求到达预期监听器,再通过获准渠道比较程序实际解析的客户端 shortId 与服务端 shortIds,不要比较会隐藏或规范化字段的两张截图。
依次检查字段名称和位置、字符串类型、十六进制字符、偶数长度以及精确成员关系,并确认空条目是否有意配置。若值由管理系统生成,应查看其导出结果,而不是假定界面标签就是生效设置。
随后分别核对相邻 REALITY 字段:当前客户端 password 中的公钥材料、serverName、目标站相关设置、时钟、指纹选项和版本兼容性。REALITY 目标站为何重要说明目标站契约;分层失败清单说明何时应转查 VLESS 与路由。
每个假设只改一个变量。若加入准确的获准短 ID 后,错误转移到更后阶段,应记录这个变化并继续处理新阶段;若结果不变,则恢复基线,而不是轮流猜值。反复试错可能触发控制、丢失原始证据并扩大敏感配置的传播。
有些读者维护 shortIds 列表,只是为了让自己的私人连接能用。就这个目标而言,AethoVPN 提供的是另一种有文档说明的流程:在应用中选择一个位置或智能推荐节点后连接,并参考负载颜色判断服务器状态,而不是自己生成、分发和轮换短 ID。同一个客户端也能用作对照测试:在你的 REALITY 客户端失败的设备和网络上连接它,如果会话正常,说明设备和网络能承载加密连接,你自己的 shortIds 条目和客户端配置就成了更值得先查的对象。官网没有说明 AethoVPN 使用什么协议,所以这项对照不涉及短 ID 的处理方式,文中讨论的字段也都不是产品设置。可用邮箱创建账户来做这项托管对照;给自己的服务器配置时,也绝不要凭空编造短 ID。
shortId 必须与服务端 shortIds 的一项规范化为相同的八字节值。它不是加密私钥,但属于认证所用的敏感配置资料。不要公开发布,也不要放进无需读取它的日志和截图。
配置可以允许这样做,但此时短 ID 本身无法区分两个客户端。若需要问责或单独撤销,应使用有意设计的清单和独立 VLESS 用户。
不是。文档规定上限为十六个十六进制字符,字符数必须为偶数;核心会在较短解码值的末尾补零至八字节。
不会。只有服务端 shortIds 列表包含空字符串且其它配置也有效时,客户端空值才可通过这项检查。
不一定。它可能表现为笼统的握手拒绝或提前断开,因此要关联两端证据并逐项核对。
不同。短 ID 用于 REALITY 配置匹配,UUID 则在 VLESS 层标识获准用户;排查分层连接时,不能把两项配置相互替代。
只有证据指向 REALITY 认证阶段时才应检查它。认证会话建立后的网站故障,更可能涉及本地流量入口、DNS、路由、服务端转发或目标网站。
免责声明:本文仅提供获准配置和排障的一般技术信息。不要猜测凭据、泄露配置或绕过网络所有者的政策。
来源:
Sources checked 2026 年 9 月 12 日。
延伸阅读:
注册即可免费体验全部高级功能。
*仅限新用户;每位用户只能获得一次试用。