revolter-firefox的使用示例
相较于Escape项目,revolter-firefox项目的作者采取了直接魔改Firefox68的策略来实现域前置——修改Firefox(依赖库 nss)的源代码,使其在发送Client Hello时可以不发送或自定义SNI信息。
SNI阻断通常伴随着DNS污染。因此,在试图解决SNI阻断之前,应首先确保正确的域名解析。
幸运的是,Firefox68已经支持DoH功能,因此可以较为简便地解决DNS污染问题。
当然,直接修改Hosts文件也不失为一种行之有效的经典策略。
一. revolter-firefox的安装
1.安装Firefox68
此项目的官方说明文档写得很详细。
首先,在Mozilla的文档库中下载Firefox68的安装包。32位系统请选择win32。
下载安装包后,双击运行。
如果电脑上已安装其它版本的Firefox,可以选择“自定义安装”,指定一个新的路径,避免冲突。
需要注意的是,从这里开始,务必断开网络连接,否则程序将自动更新,导致工具无法使用!(此项目仅支持Firefox68)
断网后,启动Firefox68,打开选项,禁用自动更新。按下图设置完成后即可重新联网。
2.覆盖安装动态链接库
下载 nss3.dll文件(Windows)或libssl3.so文件(Linux),覆盖到Firefox的安装目录中。
至此,已经完成revolter-firefox的安装。
二. 关于配置文件
此工具的默认规则为不发送任何网站的SNI信息。
对于E-Hentai和Pixiv这两个站点,此规则都是完全可行的。
将上述网站的IP信息写入Hosts文件(详见上一节 Escape的使用示例),以解决DNS污染。(亦可参考官方说明文档,配置DoH)
然后尝试访问这两个网站,可以看到,都能够顺利直连。
但对于Syosetu站点,由于static.syosetu.com
不支持域前置,会导致页面样式无法加载的情况。
此时需要根据官方说明文档自行创建并修改配置文件,以实现对SNI信息的自定义修改。
经笔者测试,添加如图两行规则即可确保对Syosetu网站的页面样式的正常加载。
20210129补充:*.github.io
疑似正在被运营商审查,此处填写的SNI信息可更换为h.guthib.io
。
对于其它网站的SNI阻断的具体解决方案,留作读者自行探索。
三. 小结
本节内容与上一小节(Escape的使用示例)互为补充印证,阅读时遇到疑难可以尝试对照浏览以加强理解。
从这两节也可以略略感受到,Firefox是一款可拓展性极强的浏览器,也许这正是其具有旺盛生命力的原因之一。
评论已关闭