Skip to content

uBlock Origin 在 Firefox 里表现最佳

fang5566 edited this page Feb 14, 2021 · 11 revisions

本文档解释了为何说 uBO 在 Firefox 里表现最佳。

解除隐藏 CNAME

通过使用 CNAME record 解除伪装为第一方的第三方服务器。这个功能使得 Firefox 里的 uBO 在屏蔽第三方跟踪器方面,相较于其他浏览器或广告过滤工具,最为高效。

c
暗绿/暗红色的柱状分别 uBO 支持在 Firefox 里支持解除隐藏 CNAME 前后的对比。
来源:"Characterizing CNAME Cloaking-Based Tracking on the Web",来自Asia Pacific Network Information Centre

HTML 过滤

HTML 过滤 的作用是在 HTML 文档的响应部分被浏览器解析 之前 就对其进行过滤。

例如它允许 HTML 文档中的特定 tag 在被浏览器解析和执行以前就将其移除,其他浏览器则没有可靠方式能做到。这项功能所需的 webRequest.filterResponseData() API,目前只有 Firefox 能提供。

浏览器启动

浏览器启动时,Firefox 会等待 uBO 准备好并从已打开的标签页屏蔽网络请求。

但基于 Chromium 的浏览器却并非如此。跟踪器和广告可能在 uBO 启动前就找到钻入已打开标签页的办法,而在 Firefox 里它们都被正确屏蔽了。

能够在浏览器启动前就可靠屏蔽对使用默认拒绝模式屏蔽第三方资源和 JavaScript 来说尤为重要。

预读取

预读取功能默认已被 uBO 禁用,Firefox 也能很可靠地阻止其生效,但基于 Chromium 的浏览器却做不到。

基于 Chromium的浏览器在决定是否禁止预读取功能是方面,给予网站的优先级高于用户设置。

参见关于 “禁止预读取” 的文档

WebAssembly

Firefox 版本的 uBO 利用 WebAssembly 代码作为核心过滤机制的代码路径。但基于 Chromium 的浏览器却并非如此,因为它需要在扩展的 manifest 获取额外的权限,与在 Chrome 网上商店发布本扩展引起摩擦。

存储压缩

Firefox 版本的 uBO 默认使用 LZ4 格式压缩用于存储原始的过滤规则列表、已编译的列表数据和内存快照到磁盘空间。

Clone this wiki locally