本文最后更新于 2026年5月7日。
这两个参数是 REALITY 协议实现“完美伪装”的核心。你可以把 REALITY 想象成一个“特洛伊木马”:
1. 参数的实际作用
-
目标地址 (Dest):这是你的服务器在“演戏”给防火墙看时,真正去抓取数据的地方。
-
当一个审查者(或者不支持代理的普通访问者)尝试连接你的服务器端口时,你的服务器会偷偷从
Dest(如微软官网)把网页内容抓过来返回给对方。 -
对方会以为你的服务器就是一个普通的微软镜像站或者合法的 Web 服务器。
-
-
SNI (Server Name Indication):这是你告诉客户端在发起请求时,对外宣称要去访问哪个域名。
- 在 TLS 握手阶段,流量包里会写着“我要访问
www.microsoft.com”。防火墙看到后,对比目标 IP(你的服务器)和这个域名,由于 REALITY 技术能让它们在证书层面上匹配,防火墙就会放行。
- 在 TLS 握手阶段,流量包里会写着“我要访问
2. 为什么 Google 的域名不行,而微软的可以?
这是一个非常经典的问题。REALITY 对 Dest 和 SNI 的选择有严格的要求,Google 失败通常是因为以下两个原因:
原因 A:证书验证与 HSTS(最主要原因)
Google 对其域名的安全性控制极其严格(强制 HSTS)。
-
Google 的策略:Google 的服务器往往只允许特定的加密套件,并且会对访问来源进行非常复杂的验证。
-
REALITY 的机制:它需要实时“偷取”目标网站的 TLS 握手特征。如果目标网站(如 Google)检测到你的 VPS 正在频繁地尝试与其握手以模仿其特征,或者检测到握手包中的微小差异,它可能会重置连接。
-
微软/雅虎/三星:这些公司的某些子域名(如
www.microsoft.com或download.windowsupdate.com)配置较为宽松,允许标准的 TLS 1.3 握手,且在全球各地的 CDN 响应非常稳定,非常适合被 REALITY “借用”。
原因 B:IP 归属与 CDN 检测
-
如果你的 VPS 在美国,而你填了一个只有亚洲才有节点的域名,或者这个域名的 CDN 节点会根据请求 IP 进行强制跳转,REALITY 的握手就会中断。
-
Google 的全球分流非常精细,很多时候你的服务器去“抓” Google 的包会触发异常校验。
3. 如何选择完美的“伪装地址”?
不是所有的网站都能用作 REALITY 的目标。以下是挑选准则:
-
必须支持 TLS v1.3:这是 REALITY 的基础。
-
不能有跳转:访问该地址必须直接显示网页,不能跳到别的域名。
-
国外大厂域名:避开被封锁的网站(如 Google, Facebook, YouTube)。
-
越近越好:选择一个在你的 VPS 所在地访问速度极快的网站。
推荐的优质伪装地址:
-
www.microsoft.com:443 -
www.lovelive-anime.jp:443(非常经典,因为其 TLS 配置很标准) -
dl.google.com:443(注意:Google 的下载子域名有时可以用,但主站不行) -
www.yahoo.com:443
4. 验证方法(避坑指南)
如果你换了一个地址还是不行,可以在你的电脑(或 VPS)上运行这条命令来测试该网站是否支持作为 REALITY 目标:
Bash
# 如果输出中有 "HTTP/2" 和 "TLS 1.3",通常说明可以用
curl -vI --tlsv1.3 https://你选的域名
你现在的配置如果用微软已经稳定了,建议就不要再动了。你是否还需要了解如何通过修改 ShortID 来进一步提升安全性?