之前整理的解决SNI阻断的方法,基本都需要下载额外的工具,甚至使用古老的浏览器,在实践时有些麻烦。
本文将提供一种简便的方式,帮助读者通过Chromium系列浏览器(如Chrome、Edge等)快速解决SNI阻断。

一. 笔者乱猜的实现原理

为了便于说明,先给出一段示例参数。

--host-rules="MAP e-hentai.org Megumin, MAP exhentai.org Eris" --host-resolver-rules="MAP Megumin 104.20.134.21, MAP Eris 178.175.129.252" --test-type --ignore-certificate-errors

在上述参数中,首先通过--host-rules参数将发送给e-hentai.orgexhentai.org的请求改为发送给MeguminEris,从而避开GFW对SNI的检查;然后通过--host-resolver-rules参数将MeguminEris解析到e-hentai.orgexhentai.org的IP地址上面,确保连接到目标服务器;最后通过--ignore-certificate-errors参数来忽略因域名错误而导致的证书错误(一些工具通过自签证书来实现这一点)(但这样做也引入了一定的风险性)(实际上在使用时,浏览器也会提示“不安全”)。
edge1.png

二. 启动参数的使用

通过启动参数来运行某个Chromium系列浏览器前,应确保已经关闭所有的这一Chromium系列浏览器,否则启动参数将不会生效。

1.直接编辑快捷方式

找到浏览器的快捷方式,右键 → 属性 → 快捷方式 → 目标,在路径后面空一格,然后贴入所需启动参数即可。
chrome1.png
之后每当通过此快捷方式运行浏览器时,都会添加相应的启动参数。

2.通过命令行添加启动参数

直接编辑快捷方式时会受到字符长度的限制,而且维护起来也比较麻烦。如果想要直连的网站很多,可以考虑通过命令行来添加启动参数。

新建一个文本文档,输入以下内容

@start .\"Google Chrome.lnk" --host-rules="MAP e-hentai.org Megumin, MAP exhentai.org Eris" --host-resolver-rules="MAP Megumin 104.20.134.21, MAP Eris 178.175.129.252" --test-type --ignore-certificate-errors

其中,可以把Google Chrome.lnk修改为你正在使用的Chromium系列浏览器的快捷方式的文件名,如Microsoft Edge.lnk等。
chrome2.png

完成后,保存文件,将这个文本文档的后缀修改为bat,把它与你的浏览器的快捷方式放在相同的目录下。此后只需要运行这个文件,即可打开添加了启动参数的浏览器。
chrome3.png

三. 笔者整理的启动参数

笔者整理了一些常用网站(其实只有Pixiv和E绅士)的直连参数以供分享。
如果读者有其它网站的直连参数或需求,也欢迎在评论区进行留言,笔者会随缘对下面的参数进行维护。

--host-rules="MAP app-api.pixiv.net NakanoAzusa, MAP oauth.secure.pixiv.net TainakaRitsu, MAP i.pximg.net IzumiKonata, MAP s.pximg.net HiiragiKagami, MAP s.pximg.net HiiragiKagami, MAP pixiv.net fanbox.cc, MAP www.pixiv.net fanbox.cc, MAP e-hentai.org Megumin, MAP forums.e-hentai.org Megumin, MAP ehgt.org Aqua, MAP xml.ehgt.org Senko, MAP exhentai.org Eris, MAP Megumin, MAP a.pixiv.org Noob, MAP *.ads-pixiv.net Noob, MAP t.co Noob, MAP *.twitter.com Noob,  MAP *.facebook.net Noob, MAP *. doubleclick.net Noob " --host-resolver-rules="MAP NakanoAzusa 210.140.131.199, MAP TainakaRitsu 210.140.131.219, MAP IzumiKonata 210.140.92.144, MAP HiiragiKagami 210.140.92.143, MAP fanbox.cc 210.140.131.199, MAP Megumin 104.20.134.21, MAP Aqua 178.162.140.212, MAP Senko 172.67.0.127, MAP Eris 178.175.129.252, MAP Noob 127.0.0.1" --test-type --ignore-certificate-errors --no-proxy-server

chrome4.png

四. 小结

通过修改启动参数的方式,可以便捷地在现代浏览器上解决GFW的SNI阻断而无需其它工具。
然而,--ignore-certificate-errors参数也引入了一定的风险性。如果有读者知道更加安全可靠的实现方式,欢迎在评论区进行指正与补充!

再一次感谢评论区@kit 网友的建议。

此方法的另一种实现:
Sheas-Cealer(https://github.com/SpaceTimee/Sheas-Cealer),一只基于 WPF(.Net5) 的 SNI 伪造工具,适用平台 Windows 10+。

已有 10 条评论

  1. Mwie

    那么...ip应该怎么获取? 想添加其他网站但不知道ip怎么搞到

    1. https://www.diggui.com/

      1. lyy1423

        牛批,打开新世界的大门。

  2. art

    artstation.com上cloudflare了,要怎么获取ip

    1. 如果没被sni阻断,则写cloudflare的ip即可。

  3. HRK

    我把 tokyotosho.info加了进去,但是还是上不去,报错 ERR_SSL_VERSION_OR_CIPHER_MISMATCH,请问如何解决?

  4. wuki

    求一份discord的直连参数

    1. keke

      --host-rules="MAP discord.com dis" --host-resolver-rules="MAP dis 162.159.128.233" --test-type --ignore-certificate-errors
      楼主非常棒哦,,虽然跟其他方法一样,都是显示不安全连接,这个方法更加简单实用

  5. ry

    都放在桌面了,但是bat提示找不到Google Chrome.lnk

    1. 自己复制粘贴一个快捷方式。

添加新评论