为什么 uBlock Origin 在 Firefox 上运行效果最好?

系统 浏览器
uBlock Origin 作者 Raymond Hill 解释了为什么他开发的广告屏蔽扩展插件(以下简称 uBO)在 Firefox 上的运行效果最好,主要原因包括支持使用 CNAME 记录、独家支持webRequest.filterResponseData()API、可靠地阻止预取,以及使用 WebAssembly 作为核心的过滤代码路径等。

uBlock Origin 作者 Raymond Hill 解释了为什么他开发的广告屏蔽扩展插件(以下简称 uBO)在 Firefox 上的运行效果最好,主要原因包括支持使用 CNAME 记录、独家支持webRequest.filterResponseData()API、可靠地阻止预取,以及使用 WebAssembly 作为核心的过滤代码路径等。

[[393973]]

支持使用 CNAME 记录

Firefox 支持曝光利用 CNAME 记录 (CNAME record) 伪装成第一方的第三方服务,这样做的效果是使 Firefox 上的 uBO 相对于其他其他同类浏览器而言,可最有效地阻止第三方跟踪器。

HTML 过滤

仅 Firefox 支持的webRequest.filterResponseData()API 让它可以在解析 HTML 文档前过滤响应体。因此, 这允许 HTML 文档中的特定标签在被浏览器解析和执行之前删除,而这在其他浏览器中是不可能实现的。

浏览器启动时支持等待 uBO 准备就绪

Firefox 支持在 uBO 启动后发送网络请求,这也是 Firefox 独家功能。对于 Chromium 系浏览器而言,跟踪器/广告负载在 uBO 启动前可能就已进入打开的选项卡,同样的情况却不会发生在 Firefox 中,因为它支持等到 uBO 正常运行后再发送网络请求,这样就能对广告内容进行正确过滤。

预取

Firefox 能够可靠地阻止预取,而基于 Chromium 的浏览器无法这么做,因为当决定是否禁用预提取功能时,这些浏览器给予网站的优先权高于用户设置。

WebAssembly

Firefox 版本 uBO 支持使用 WebAssembly 作为核心的过滤代码路径。详情点此查看。

存储压缩

默认情况下,Firefox 版本 uBo 使用 LZ4 压缩算法将原始过滤器列表、已编译列表数据和内存快照存储到磁盘存储中。LZ4 压缩算法需要使用IndexedDB,这在基于 Chromium 浏览器的隐身模式下是有问题的——IndexedDB实例始终被重置,导致 uBO 总是低效启动并影响过滤列表的加载。

本文转自OSCHINA

本文标题:为什么 uBlock Origin 在 Firefox 上运行效果最好?

本文地址:https://www.oschina.net/news/138029/ublock-origin-works-best-on-firefox

责任编辑:未丽燕 来源: 开源中国
相关推荐

2022-03-15 08:41:57

Firefox扩展浏览器

2024-06-26 10:50:35

2009-08-05 15:23:04

ExtJS Andro

2015-08-11 09:18:44

程序员最好

2015-08-27 16:48:11

FirefoxChrome

2014-08-04 15:30:39

Linux开源软件

2018-06-06 18:00:24

iOS苹果微软

2019-03-04 10:05:05

FirefoxOrgURL

2012-06-04 10:35:55

FirefoxChrome浏览器

2023-09-20 00:06:30

Python代码函数

2013-01-08 14:58:48

Firefox OS

2021-05-17 11:30:08

Linuxls命令

2021-06-03 08:45:44

Linuxls命令

2015-10-14 10:02:33

ClojureScri Android

2010-09-02 09:26:04

FlashAndroid

2010-08-20 13:02:09

IEFirefox

2012-05-14 08:55:23

Android

2024-03-20 09:00:00

人工智能AI大模型深度学习

2015-05-18 10:15:27

2021-03-26 11:50:28

Linuxexals
点赞
收藏

51CTO技术栈公众号