测试地址:https://www.v2ex.com/cdn-cgi/trace
** DNS 污染自行处理,SmartDNS/DoH/DoT 都行。 **
(图片放不上就算了)
fl=...
h=www.v2ex.com
ip=...
ts=...
visit_scheme=https
uag=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36
colo=LAX
sliver=010-tier1
http=http/1.1
loc=CN
tls=TLSv1.3
sni=plaintext
warp=off
gateway=off
rbi=off
kex=X25519
对于 SNI 字段,RFC6066 有明确规定。 但是,部分软件和云服务对于 SNI 字段的解析存在一些“怪癖”:即使 不指定 或 存在格式错误 时,仍能够正确对 TLS 加密流量进行分流。
基于 Chromium 138 进行修改,只改动了一行代码。
仓库中有 5 种变种,可以用来测试自家的云服务是否存在一些“怪癖”。 提供了 Windows 下 32 位、64 位、ARM 版本的预编译安装包/便携包。
BTW:记得 Star 和 Fork ,失效不补。
1
mzl980425 40 天前
你在 V 站给一群能正常访问 V 站的人推广直连 V 站的工具?
|
![]() |
2
moefishtang 40 天前 via Android
@mzl980425 梯子挂了上不了网的时候还是有需求的,多个备用方案也好
|
4
t00t00 OP ![]() @moefishtang 当 **几乎所有** 需要的网站都能够直连的时候,也许成了备用方案的是梯子。
|
5
ixinshang 40 天前
如果想添加 github docker 这类,应该怎么修改呢
|
7
arrow629 40 天前
你这个方案不如 https://github.com/SpaceTimee/Sheas-Cealer 其实 Chromium 启动时命令行参数就可以配置 SNI ,有人研究过 https://nicebowl.fun/24_8
|
8
fugu37 40 天前
V2 开了 ESNI 和 HTTP/3 ,支持任何一个都能直连 V 站
|
9
t00t00 OP @arrow629 如果自己看过以前所有的方案,就会发现以前的都是基于同子域名伪造,不仅麻烦,还不能确保证书完整性。而这个方案巧妙就巧妙在这里:
1. 通杀所有 Cloudflare 、Cloudfront 、Akamai 的 CDN 托管。(这个适用范围有多大我就不说了) 2. 握手证书是权威的,不需要自签。(也就是说握手证书和外网访问的指纹、公钥都是一致的,并没有关闭证书校验) |
10
t00t00 OP @fugu37 很明显,ESNI 在阻断列表上; HTTP/3 基于 UDP ,即使不阻断也会被 QoS 。现在通过 HTTP1.1/2 就足够了,而且证书并没有被破坏。
|
![]() |
11
dhb233 40 天前
没明白不提供 SNI 的情况下怎么做到安全校验的?如果 server 是独立 IP ,只使用固定证书,那是可以校验。如果不是这样,只是校验证书的合法性,那要么是信任部分 SNI ,要么还是会有被劫持的风险。信任部分 SNI 比较麻烦
|
12
t00t00 OP @dhb233 部分软件和云服务对于 SNI 字段的解析存在一些“怪癖”,即使 **不指定** 或 **存在格式错误** 时,仍能够正确对 TLS 加密流量进行分流(也能够返回正确证书并完成握手)。所以这个“怪癖”相当有意思。
|
![]() |
13
dhb233 40 天前
|
![]() |
18
Jesmora 40 天前
v2 不是一个境外 doh 就能解决了吗,何必搞这么麻烦
|
19
arrow629 39 天前 via Android
@t00t00 但你这个方案要对 chromium 打 patch ,这成本不低啊。 而且无 sni 的情况下,服务器只能返回默认证书,不一定是自己想要的。 我不大明白你是怎么做到的,而且据我所知 cloudflare 免费版分配的 ip 是一定要有 sni 的情况下才能返回正确的证书
|
20
t00t00 OP @arrow629 就只改动一行代码,而且编译分发全部走的是 GitHub Action ,就算是后期需要随主线更新适配,成本相对来说还是比较低的。
而且,正文有两个要点 **不指定** 或 **存在格式错误** 。 但是重点在后面:**存在格式错误**。有些服务器认为错误就是错误,一遇到错误就不高兴罢工了;而有些服务器认为请求好不容易过来了,有错误给它修一下,当正常的来处理就好了。 |
![]() |
22
pagxir 39 天前 via Android
域名前置那一套?
|
![]() |
24
realpg PRO 在 sni 的域名后面发送额外的点?
|
25
tdb11039gg 36 天前
没懂,是不用梯子就能访问吗,试了访问不了呢
|
27
t00t00 OP @tdb11039gg DNS 污染需要自己处理,比如使用内置的 DoH 功能进行解析。可用的干净 DoH 服务器现在有挺多的。
|