通过配置Chromium系列浏览器启动参数以解决DNS污染与SNI阻断
之前整理的解决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.org
和exhentai.org
的请求改为发送给Megumin
和Eris
,从而避开GFW对SNI的检查;然后通过--host-resolver-rules
参数将Megumin
和Eris
解析到e-hentai.org
和exhentai.org
的IP地址上面,确保连接到目标服务器;最后通过--ignore-certificate-errors
参数来忽略因域名错误而导致的证书错误(一些工具通过自签证书来实现这一点)(但这样做也引入了一定的风险性)(实际上在使用时,浏览器也会提示“不安全”)。
二. 启动参数的使用
通过启动参数来运行某个Chromium系列浏览器前,应确保已经关闭所有的这一Chromium系列浏览器,否则启动参数将不会生效。
1.直接编辑快捷方式
找到浏览器的快捷方式,右键 → 属性 → 快捷方式 → 目标
,在路径后面空一格,然后贴入所需启动参数即可。
之后每当通过此快捷方式运行浏览器时,都会添加相应的启动参数。
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
等。
完成后,保存文件,将这个文本文档的后缀修改为bat
,把它与你的浏览器的快捷方式放在相同的目录下。此后只需要运行这个文件,即可打开添加了启动参数的浏览器。
三. 笔者整理的启动参数
笔者整理了一些常用网站(其实只有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
四. 小结
通过修改启动参数的方式,可以便捷地在现代浏览器上解决GFW的SNI阻断而无需其它工具。
然而,--ignore-certificate-errors
参数也引入了一定的风险性。如果有读者知道更加安全可靠的实现方式,欢迎在评论区进行指正与补充!
再一次感谢评论区@kit 网友的建议。
此方法的另一种实现:
Sheas-Cealer(https://github.com/SpaceTimee/Sheas-Cealer),一只基于 WPF(.Net5) 的 SNI 伪造工具,适用平台 Windows 10+。
那么...ip应该怎么获取? 想添加其他网站但不知道ip怎么搞到
https://www.diggui.com/
牛批,打开新世界的大门。
artstation.com上cloudflare了,要怎么获取ip
如果没被sni阻断,则写cloudflare的ip即可。
我把 tokyotosho.info加了进去,但是还是上不去,报错 ERR_SSL_VERSION_OR_CIPHER_MISMATCH,请问如何解决?
求一份discord的直连参数
--host-rules="MAP discord.com dis" --host-resolver-rules="MAP dis 162.159.128.233" --test-type --ignore-certificate-errors
楼主非常棒哦,,虽然跟其他方法一样,都是显示不安全连接,这个方法更加简单实用
都放在桌面了,但是bat提示找不到Google Chrome.lnk
自己复制粘贴一个快捷方式。
感谢!! 最近两周,打不开Pixiv了,无论如何调节Nginx反代和hosts,就是打不开,全空白。
直到搜到了这个网页,谷歌浏览器用了第三的启动参数,又能打开了,看来就是SNI头被监控了,纳闷Nginx反代也躲不开SNI监控吗?
我用这个方法上的p站,前两天打开p站发现不知为突然变成为登录账号,然后用老方法浏览器F12把cookies里PHPSESSID项填上自己的账号代码,但目前问题是只要页面刷新,PHPSESSID项也会被刷回未登录账号的随机代码,导致无法登录自己的账号。。。想问问是P站的原因让这个方法失效了吗?
工作繁忙,爱莫能助。
求一份pixiv的直连参数
请问一下,我通过这种方式进入ex绅士后缩略图和火狐一样无法显示,请问有解决方法吗?
大概率是有ip没写对,自己用https://www.diggui.com/查一下吧。
_(:3」∠)__ 翻了大佬之前火狐那楼的评论,加入了s.之后就好了,感谢(火狐这边这两天都连接超时进不去了悲)
Have fun :)
具体的命令是啥,求帮忙
至福,感谢博主。
与易恒泰诀别已至少四五年,今早在获得一个关键词后,进行了像达芬奇密码那样的挖掘线索和跳转后,刚刚终于重新进入了易恒泰,那感觉简直就像走失多年的孩子终于回家了一样。
再次感谢博主,文章内容和排版又清楚又有条理,甚至还有引用链接,读起来就像在读学术论文一样,这种质量的文章在现在这个充斥内容转载的时代真是难得。尤其是这篇的开头,贴心的直接写出了怎样设置参数,本来我还在担心我该从哪去找具体可用的跳转地址,然后回头发现博主已经把答案贴心的放在了开头。
感谢博主。
Have fun :)
按博主的设置后可以访问discord,但是配合http代理使用时无法访问,启动参数类似下面设置。
@start .\"Google Chrome.lnk" --host-rules="MAP discord.com dis" --host-resolver-rules="MAP dis 162.159.128.233" --test-type --ignore-certificate-errors --proxy-server=http://:
这个有办法解决吗?
感谢博主的分享。
爱莫能助 :(
我照着思路用electron搞了个,但不清楚为什么还是阻断状态
main.js:
https://github.com/PumpkinXD/Harshness/blob/main/main.js
不清楚是哪里出了问题
改了下,现在dc本身能上去了但hcaptcha验证码一直出不来
我也不清楚咋绕,对electron我其实不是很熟悉老实说