Close-up of wooden blocks spelling ’encryption’, symbolizing

上一篇讲了 Xray REALITY 服务端的部署。这篇专门讲客户端配置——收集到各平台的用户名、服务器地址、公钥等信息后,怎么在不同客户端里配置。

你需要准备好以下信息(从服务端配置里获取):

参数说明
服务器地址VPS 的公网 IP
端口服务端监听的端口(推荐 443)
UUID服务端配置的 client id
Public Keyxray x25519 生成的公钥
Short ID服务端配置的 shortIds 之一
SNI服务端配置的 serverNames(如 www.apple.com)

mihomo(Clash Meta)

mihomo 原生支持 REALITY,配置放在 proxies: 节点:

proxies:
  - name: "us-reality"
    type: vless
    server: 你的VPS_IP
    port: 443
    uuid: 你的UUID
    network: tcp
    tls: true
    udp: true
    flow: xtls-rprx-vision
    reality-opts:
      public-key: 你的公钥
      short-id: "55470656"
    servername: www.apple.com
    client-fingerprint: chrome

参数说明

client-fingerprint:客户端 TLS 指纹伪装,推荐选项:

  • chrome:伪装成 Chrome 浏览器(最常见,推荐)
  • safari:伪装成 Safari
  • firefox:伪装成 Firefox

选 chrome 的原因:Chrome 是全球使用最多的浏览器,混在里面最不显眼。

flow: xtls-rprx-vision:服务端开了 flow 就必须填,不然连不上。

udp: true:REALITY over TCP,UDP 走代理实际上是通过 TCP 封装的,不影响功能。

代理组配置

proxy-groups:
  - name: "节点选择"
    type: select
    proxies:
      - us-reality
      - DIRECT

  - name: "自动选优"
    type: url-test
    url: "http://www.gstatic.com/generate_204"
    interval: 300
    proxies:
      - us-reality

测试连通性

在 mihomo 启动后,访问测速 URL 验证:

curl -x http://127.0.0.1:7890 https://api.ipify.org

返回的应该是你 VPS 的 IP。

Surge(macOS / iOS)

Surge 从 5.x 开始支持 REALITY。

macOS 配置

在 Surge 配置文件的 [Proxy] 部分添加:

[Proxy]
Reality-US = vless, 你的VPS_IP, 443, username=你的UUID, tls=true, tls13=true, sni=www.apple.com, skip-cert-verify=false, underlying-proxy=none, vless-flow=xtls-rprx-vision, reality-public-key=你的公钥, reality-short-id=55470656, client-fingerprint=chrome

iOS / iPadOS 配置

iOS Surge 的配置方式相同,但有几点注意:

  1. 不要开 UDP:Surge iOS 的 REALITY over TCP,开 UDP 可能引起问题
  2. SNI 需要稳定:iOS 对握手超时更敏感,选响应快的 SNI
  3. 可以用 QR 码导入:在 macOS Surge 里导出 QR 码,iOS 扫描

代理组

[Proxy Group]
AI-Traffic = fallback, Reality-US, 备用节点, policy-path=xxx, evaluate-before-use=true

Shadowrocket(iOS)

Shadowrocket 是 iOS 上最常用的代理客户端,支持 REALITY。

手动添加

点击右上角 + → 类型选 VLESS:

字段值
地址你的VPS_IP
端口443
UUID你的UUID
传输协议tcp
TLS开启
流控xtls-rprx-vision
REALITY开启
公钥你的公钥
Short ID55470656
SNIwww.apple.com
指纹chrome

通过链接导入

VLESS REALITY 的链接格式:

vless://UUID@IP:443?encryption=none&flow=xtls-rprx-vision&security=reality&sni=www.apple.com&fp=chrome&pbk=公钥&sid=55470656&type=tcp#节点名称

把这个链接复制到 Shadowrocket 里,点击 + → 扫描或输入 粘贴,一键导入。

各客户端对比

客户端平台REALITY 支持Flow 支持
mihomo全平台✓(原生)✓
Surge 5macOS/iOS✓✓
ShadowrocketiOS✓✓
Clash VergemacOS/Win✓(基于 mihomo)✓
v2rayNWindows✓✓
NekoboxAndroid✓✓

多节点配置技巧

如果你有多台 VPS 都配了 REALITY,可以用 url-test 组自动选最快的:

# mihomo
proxy-groups:
  - name: "REALITY Auto"
    type: url-test
    url: "http://www.gstatic.com/generate_204"
    interval: 180
    tolerance: 50
    proxies:
      - us-reality-1
      - hk-reality-1
      - jp-reality-1

每隔 3 分钟自动测速,切到延迟最低的节点。

常见问题

Q:连接后速度很慢,但延迟正常 检查 flow 是否匹配:服务端开了 xtls-rprx-vision,客户端必须也填 xtls-rprx-vision,不然走的是降级模式,速度和稳定性都会下降。

Q:Surge iOS 一直 timeout

  1. 检查 VPS 的 443 端口防火墙是否放行
  2. 把 SNI 换一个响应更快的(测试方法:curl -I https://www.apple.com 从 VPS 测)
  3. 关闭 flow,先验证基础连通性

Q:mihomo 连接成功但 IP 还是本地 检查规则:确认目标流量的分流规则指向了你的 REALITY 代理组,而不是 DIRECT。

Q:公钥输入后客户端报格式错误 REALITY 的公钥是 base64url 编码(不带 +/=),44 个字符。如果是其他格式,说明复制时混入了换行或空格。

→ 查看 Xray REALITY 服务端配置 → 查看 Hysteria2 搭建教程


📷 封面图 · Flux Schnell AI 生成 · panshi.io 品牌风格