NekoBox 添加 VLESS Reality 节点完整教程(Android / Windows 2026)
NekoBox 添加 VLESS Reality 节点的手动配置入口在「新建配置」→ 类型选 VLESS → 展开 Reality 设置。核心字段是 publicKey、shortId、serverName 和 fingerprint——少填一个节点就通不了。本文逐个字段解释清楚,附常见配置错误排查表。
你拿到了一个 VLESS Reality 节点的参数:服务器地址、端口(443)、UUID,还有一长串叫 publicKey 的字符串、一段 16 位的 shortId、一个伪装域名。服务商没有给你分享链接(vmess:// 或 vless://),你必须手动把这些参数填进 NekoBox。
NekoBox 的手动配置入口藏得不深,但 Reality 那一组字段如果不理解每个的意思,填错一个就直接连不上。本文按你在 NekoBox 界面上会看到的顺序,逐个字段解释,最后给一张排查表——你配置失败时拿着报错信息对号入座就行。
适用版本:NekoBox for Android v1.4.2(2026 年 2 月发布)、Nekoray(Windows 桌面版)v4.x 系列。其他 sing-box 客户端(如 sing-box 官方客户端、Hiddify)的 Reality 配置共享同一套字段体系,但 UI 布局不同。
你用这篇的前提:已经拿到完整的节点参数(特别是 publicKey 和 shortId)。如果缺少 Reality 专属参数,联系你的服务商索取——这两个值是由服务端配置文件决定的,客户端不可能自己算出。
NekoBox 的手动配置入口在哪
打开 NekoBox(Android 版会在应用抽屉里显示为「NB4A」或「NekoBox」),主界面顶部是当前节点和连接状态,往下是节点列表。
点右上角的 + 按钮。弹出三个选项:
- 手动输入:逐字段填写,适合你手里有参数但没链接的场景。这也是本文要讲的方式。
- 分享链接:粘贴 vmess://、vless://、trojan:// 或 ss:// 链接,一次性导入。
- 扫码:扫描服务商提供的二维码。
选「手动输入」。你会进入一个表单页面,顶部是「类型」下拉框,下面按协议类型展示不同的字段区。
关键判断:如果你的服务商给了 vless:// 开头的分享链接,直接用「分享链接」粘贴导入更省事——NekoBox 会自动解析 Reality 相关字段,不需要手动填。如果你拿到的是一段纯文本参数(比如从面板复制出来),才需要用手动输入。
从零开始填写一个 VLESS Reality 配置
下面是 NekoBox 新建配置页面的字段指南,按从上到下的顺序讲。
类型:选 VLESS
下拉框第一个选项。NekoBox 支持 Shadowsocks、VMess、VLESS、Trojan、Hysteria 2、TUIC 等协议。选 VLESS 后,下面的字段区会自动切换到 VLESS 专属布局。
基本连接信息(三个必填项 + 两个选项)
| 字段 | 填什么 | 注意 |
|---|---|---|
| 地址(Address) | 服务端 IP 或域名 | Reality 必须填真实 IP 或真实可达域名。不能用 Cloudflare CDN 代理的域名,因为 TLS 握手会因为在 CDN 层被终结而失败 |
| 端口(Port) | 服务端监听端口,Reality 通常 443 | 少数部署用非标端口(8443、2053 等),以服务商给的为准 |
| UUID | VLESS 用户 ID,格式 xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx | 如果拿到的是 32 位无连字符的 UUID,需手动补上连字符 |
| Flow | 选 xtls-rprx-vision | Reality 目前唯一可用的 Flow。不要选 xtls-rprx-vision-udp443,除非服务端明确支持 |
| 传输(Network) | 选 tcp | Reality 只走 TCP。如果选了 ws/grpc/h2,Reality 的 TLS 加密方式与这些传输方式不兼容 |
Reality 专属 TLS 设置
往下翻到 TLS 区域。打开 TLS 开关,Security(或「安全类型」)选择 Reality。然后会出现四个 Reality 专属字段。
publicKey
服务端 Reality 配置中生成的 X25519 公钥,Base64 编码,约 44 个字符。这个值由服务端运行 sing-box generate reality-keypair 或 xray x25519 命令生成,看起来像:
Qam0-DVzhHghfZPi4Pfx3iQbmVt0YJBhcb0cyMsFdEc
这个值是别人给你的,你不能自己编。 如果填错了或者编码有问题(比如多了一个空格、换行),sing-box 无法完成 Reality 的密钥交换验证,日志会报 reality verification failed。
shortId
服务端配置的短标识符,16 位十六进制字符串。例如:
6ba85179e30d4fc2
不是 8 位,不是 32 位,正好 16 位十六进制字符。 不需要在前面加 0x。shortId 是 Reality 协议用来防重放的额外验证手段——服务端只认可带有正确 shortId 的客户端连接。即使 publicKey 和证书都对,shortId 错了连接也会被服务端静默丢弃。
serverName(SNI)
TLS 握手时对外展示的域名(Server Name Indication),也是 Reality 服务端配置中的回落目标域名。常见的值:
www.google.comwww.microsoft.comwww.cloudflare.comlearn.microsoft.com
这个字段的本质作用是:当非 Reality 流量(比如运营商探测)连接到你的 Reality 服务端端口时,服务端会把这部分流量转发到 serverName 指向的真实网站,使得探测者看到的就是一个正常的 HTTPS 网站。
serverName 必须是域名,不能是 IP 地址。 填 IP 会导致 TSL SNI 扩展为空或者畸形,sing-box 日志会报 tls: server name is an IP address 之类的错误。
fingerprint(uTLS 指纹)
下拉选择浏览器 TLS 指纹,决定 NekoBox 在 TLS 握手时模拟哪个浏览器的 ClientHello 特征。可选值取决于 sing-box 内核版本:
| fingerprint 值 | 模拟对象 | 推荐场景 |
|---|---|---|
chrome | Google Chrome 最新稳定版 | 默认首选。 Chrome 的 TLS 指纹在全球互联网上占比最高,混在庞大的 Chrome 流量里最难被特征识别 |
firefox | Mozilla Firefox | 如果你的网络环境对 Firefox 更友好可选用,但 Firefox 的整体指纹占比远低于 Chrome |
safari | Apple Safari | 在 iOS 设备上选择 Safari 可以让流量与设备的默认浏览器指纹一致 |
ios | iOS 网络栈 | 专门匹配 iOS 系统级 TLS 行为,比 Safari 更底层 |
android | Android 网络栈 | Android 设备专用,不含任何浏览器特征 |
edge | Microsoft Edge | 基于 Chromium,指纹与 Chrome 接近但有细微差异 |
randomized | 每次连接从上述指纹中随机选一个 | sing-box 1.8+ 支持。理论上更抗指纹识别,但部分老旧服务端可能不兼容 |
如果你的服务端部署在 2025 年之前,fingerprint 选 chrome 是最安全的选择。 老服务端的 sing-box / Xray 版本可能不支持 randomized,选这个反而会连不上。
Reality 字段速查表:填什么、从哪来
下面这张表汇总了所有 Reality 相关字段,配置时对照检查。
| 字段 | 填什么 | 从哪获取 | 填错的表现 |
|---|---|---|---|
| 类型 | VLESS | NekoBox 下拉选择 | 字段布局不对,找不到 Reality 选项 |
| 地址 | 服务器真实 IP | 服务商提供 | 连接超时(timeout),不是 tls error |
| 端口 | 通常 443 | 服务商提供 | 同上,连接超时 |
| UUID | 标准 UUID 格式 | 服务商提供 | 日志报 invalid user,连接被拒绝 |
| Flow | xtls-rprx-vision | 下拉选择 | Reality 连接建立但流量不通 |
| 传输 | tcp | 下拉选择 | network not supported for reality |
| publicKey | Base64 公钥 ~44 字符 | 服务商提供 → 服务端 reality-keypair 生成 | reality verification failed,握手直接失败 |
| shortId | 16 位十六进制 | 服务商提供 → 服务端配置文件 short_id | 连接被静默丢弃,无明确报错 |
| serverName | 完整域名如 www.google.com | 服务商提供 → 服务端 handshake.server | tls: server name is an IP address 或 tls handshake error |
| fingerprint | chrome(默认首选) | NekoBox 下拉选择 | 连接能建立但可能被 QoS/TLS 指纹封锁 |
NekoBox 和 v2rayNG 在 Reality 上的区别
很多用户两个客户端都装了,也有不少从 v2rayNG 转到 NekoBox 的。这里不评好坏,只讲它们处理 Reality 配置时的实际差异,帮你少踩坑。
| 维度 | NekoBox(sing-box 内核) | v2rayNG(Xray 内核) |
|---|---|---|
| 内核 | sing-box(默认),可切 Xray | Xray(V2Ray 分支) |
| Reality 配置方式 | 集中在 TLS 区域,四个字段一组 | 分散在「传输」和「TLS」两个标签页 |
| publicKey 字段名 | publicKey | publicKey(一样) |
| shortId 字段名 | shortId | shortId(一样) |
| SNI 字段名 | serverName | serverName 或 sni(取决于版本) |
| fingerprint 可选值 | chrome, firefox, safari, ios, android, edge, randomized 等 | chrome, firefox, safari, randomized 等(Xray 的 uTLS 实现列表略有不同) |
| 导入分享链接 | 支持 vless://、vmess:// 等标准格式 | 支持 vless://、vmess:// 等标准格式及 v2rayN 分享 |
| Reality 日志可读性 | sing-box 日志格式清晰,error 分类明确 | Xray 日志更详细但英文专业术语多 |
如果你在 v2rayNG 上 Reality 连得好好的,换到 NekoBox 却连不上,90% 的情况是 fingerprint 不兼容。v2rayNG 的 Xray 内核默认允许空 fingerprint(自动协商),但 sing-box 的 utls 要求必须明确指定一个值。在 NekoBox 里把 fingerprint 选为 chrome 再试。
常见的配置失败排查
下面这张表整理了 NekoBox Reality 配置中最常见的五种失败表现,按定位效率从高到低排列。
| 表现 | 日志关键词 | 最可能的原因 | 先改什么 |
|---|---|---|---|
| 点击连接后 3 秒断开,状态跳回「未连接」 | reality verification failed | publicKey 填错(多空格 / 换行 / Base64 编码不对) | 重新从服务商后台复制 publicKey,直接粘贴不手动编辑 |
| 连接按钮一直转圈,最终超时 | tls handshake error 或 connection timeout | serverName 填了 IP 而不是域名,或者目标端口被防火墙阻断 | 检查 serverName 是否为完整域名;测试端口连通性 |
| 连接状态显示已连接但打不开网页 | 日志无明显 error,但无出站流量记录 | Flow 选错(不是 xtls-rprx-vision),或者路由规则把流量导向了直连 | 确认 Flow 为 xtls-rprx-vision;检查「路由」设置 |
| 能连上但几分钟后断开,重连失败 | context deadline exceeded 或 connection reset | 服务端 Reality 配置更新(publicKey 或 shortId 变了),客户端参数未同步 | 联系服务商确认参数是否变更 |
| 在 v2rayNG 正常,同一套参数 NekoBox 连不上 | 无明显特定错误 | fingerprint 设为空或与 sing-box 版本不兼容 | fingerprint 显式选 chrome;确认 TLS 开关已打开 |
排查技巧:先打开 NekoBox 的日志页面再连接。如果日志里连 dialing tcp 都没有,说明基本网络不通——先确认你手机/电脑能直接 ping 通服务器 IP。如果日志里有 dialing tcp 然后紧跟着 reality verification failed,说明网络到了但密钥验证不通过,问题锁定在 publicKey 或 shortId。
如何确认配置无误、回滚到初始状态
做完上面所有步骤之后,做三项验证确保 Reality 隧道正常:
- IP 验证:连接后浏览器打开
https://api.ipify.org,显示的 IP 应与你的宽带 IP 不同,和节点所在地区吻合。断开连接后刷新页面,IP 应恢复到本地宽带 IP。来回切两次确认。 - 日志检查:NekoBox 的 Logs 标签页应显示
outbound/tcp或vless连接建立日志。如果出现红色reality相关 error 行,即使浏览器能打开网页也不代表 Reality 验证通过——可能是回落到了直连。 - DNS 验证:访问
https://dnsleaktest.com,确认 DNS 查询也走了代理出口。如果 DNS 结果显示本地运营商的 DNS 服务器,说明 DNS 配置有问题(去 NekoBox 的「DNS」设置调整)。
如果配置失败需要回滚:点击已连接的节点断开连接 → 长按(Android)或右键(Windows)错误配置的节点卡片 → 删除 → 手动重新新建配置,逐字段检查。不要在同一份错误配置上反复编辑——新建一份干净的往往更快。
NekoBox 上手之后,你还会遇到订阅怎么导入、路由规则怎么设、TUN 模式怎么开这些问题。如果你手里的 Reality 节点信息不完整、或者在找兼容 sing-box / V2Ray / Clash 的订阅,可以看看 兼容 Clash / Singbox / V2Ray 的订阅。
本文基于 NekoBox for Android v1.4.2 和 Nekoray v4.x 编写,sing-box 内核版本引用自 sing-box v1.12+ 文档。Reality 协议本身由 XTLS 社区提出并在 Xray-core 和 sing-box 中实现,本文不涉及协议发明的背景讨论。
相关阅读
来源与时间
本文最后查看时间:2026-05-29。操作路径会随客户端版本变化,遇到按钮名称不一致时,优先按同义菜单和官方文档查看。