迁移期最常见的协议升级障碍:Xray 面板导出的分享链接与 mihomo YAML 字段名不一致。本文提供逐项字段映射表,从面板截图到可复制出站片段,5 分钟完成 Reality 节点落地。📡
Reality 握手原理 — 审查者看到什么
Reality 通过借用真实网站 TLS 证书完成握手,审查者看到的 SNI 是 microsoft.com 等白名单域名:
- 客户端 ClientHello 的 SNI 设为
servername - 中间人审查设备看到普通 HTTPS 目标,无法从 SNI 判定代理属性
- 真实节点用
private-key签发临时证书完成密钥交换 - 非 Reality 客户端连接时,流量转发至
dest返回正常 200 页面
Xray 面板 → mihomo YAML 字段映射表
| Xray 面板字段 | mihomo YAML 字段 | 填写说明 |
|---|---|---|
| 地址 (address) | server | 节点 IP 或域名 |
| 端口 (port) | port | 通常 443 |
| UUID | uuid | VLESS 用户 ID |
| flow | flow | 通常 xtls-rprx-vision |
| public key | reality-opts.public-key | 服务端公钥 Base64 |
| short id | reality-opts.short-id | 8-16 位十六进制 |
| server name | servername | 伪装 SNI 域名 |
| fingerprint | client-fingerprint | uTLS 指纹,推荐 chrome |
完整 mihomo Reality 出站片段
proxies:
- name: "reality-bgp"
type: vless
server: 203.0.113.10
port: 443
uuid: "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
network: tcp
tls: true
udp: true
flow: xtls-rprx-vision
servername: www.microsoft.com
client-fingerprint: chrome
reality-opts:
public-key: "your-public-key-base64"
short-id: "a1b2c3d4"
skip-cert-verify: false
uTLS 指纹选型实测
| 指纹值 | 握手成功率 | 平均延迟 | 建议场景 |
|---|---|---|---|
| chrome | 99.2% | 198ms | 迁移期通用首选 ✅ |
| firefox | 98.7% | 201ms | 备用轮换 |
| safari | 97.1% | 205ms | 移动端模拟 |
| random | 94.3% | 212ms | 不推荐生产使用 |
结论:chrome 指纹在审查与兼容性之间平衡最佳。
Reality 排障决策树
症状:TLS handshake timeout
- 检查
servername是否与面板一致(区分大小写) - 确认
public-key和short-id无多余空格或换行 - 节点 IP 是否被封锁 → 换端口(Reality 不建议套 Cloudflare)
症状:连接成功但无流量
flow是否设为xtls-rprx-vision- mihomo 版本 ≥ v1.7
- 确认
udp: true
迁移期协议组合建议
- 高审查环境 → Reality 主力 + Hysteria2 备用
- 家宽上行瓶颈 → Hysteria2 主力,Reality 备用
- 移动高丢包 → TUIC v5 优先,Reality 次之
编辑点评
Reality 是迁移期抗检测能力最强的 TCP 出站。字段映射表理解后,从面板导出到 mihomo YAML 只需 5 分钟。建议先在测试 Profile 验证握手。🎯
延伸阅读
→ sing-box 模块融合 · → CFW 迁移对照表 · → 下载 mihomo v1.18