Chrome Manifest V3 正在向我们逼近。我们的想法是?
这篇文章是 AdGuard CTO Andrey Meshkov 对于 Manifest V3 的一些想法,以及他对主要问题的回答。翻译后,下文中的“我”就是指 Andrey Meshkov。
四年多以前,也就是 2019 年初,Google Chrome 浏览器团队宣布对浏览器扩展平台进行重大改革,即 “Manifest V3”。
我们已经多次讨论过这些变化带来的潜在问题:
- 第一,我们讨论过浏览器扩展平台变化的原因,以及在我们看来,为什么大公司选择了这条路而不是其他的
- 第二,这并不是世界末日,浏览器扩展也不是万能的
- 第三,我们解释了 AdGuard 将如何适应这些变化,以及这些变化对过滤列表生态系统构成了哪些威胁。
起初,Manifest V3 遭到了几乎所有人的强烈反对,包括开发者社区(不仅仅是广告拦截程序开发者)和普通用户,他们都担心未来将有一个更原始、漏洞更多、限制性更强的平台。一个倒退的未来。
好消息是,Chrome 浏览器团队暂停了实施 Manifest V3 的计划,直到所有主要错误和开发人员关注的问题 都得到良好解决。如果点击上面的链接,就可以发现这一时刻即将到来。预计 Chrome 120 发布后,所有主要问题都将得到解决,这意味着 Manifest V3 降临的日子越来越近了,现在是时候认真讨论一下“时局”了。
在过去几年中,经常有人问我 Manifest V3 将如何影响浏览器扩展。这次我尝试在本篇文章中列出有关这一主题最常见问题的答案。
你对 Manifest V3 的总体看法是什么?
我对新平台的态度经历了几个阶段。一开始当然是抵触的。但我也要承认,Chrome 浏览器开发人员的努力改变了我的看法。让我概述一下影响我观点的最重要因素。
W3C 工作组
对我来说,最重要的变化可能是成立 W3C WebExtensions Community Group(中文:浏览器拓展联盟),包含 Mozilla、Safari 和 Chrome 浏览器的开发人员与浏览器扩展开发人员,他们制定通用扩展平台的规范,该平台将得到全球所有主要浏览器的支持。
这是好事吗?100% 是的!我们终于有了一个促进合作的平台和机会。扩展程序开发人员开始更好地理解浏览器开发人员的动机,而浏览器开发人员也亲身体会到了我们的担忧。但仅仅倾听是不够的,我们需要一起努力更上一层楼。随着时间的推移,我们亲眼目睹了浏览器团队是如何投入巨大的精力改善现状的。过程中既有普通的修修补补,也有重大改变,例如用户脚本的应用程序接口。
W3C 小组是工程师个人的奉献精神推动的一项倡议,而不是强加的任务,我在此向他们表示由衷的感谢。
对扩展平台的投资
我与浏览器扩展打交道已经超过 10 年了,有幸见证了它们发生的所有变化。老实说,扩展平台从来都不是 Chrome 浏览器的重点。在其生命周期的大部分时间里,平台都是由少数几个人管理的,而在最开始的时候,它实际上只是一个人的管理项目。
不过如今当然不似当年。我看到了 Chrome 浏览器在过去几年中为平台投入了大量资源,并扩大了团队。用户可以从平台本身变化的规模和时间表中看出这一点,还可以从Chrome WebStore 的变化规模中发现这一点。
Google 团队出席了上一届广告过滤开发峰会,我建议用户观看他们的演讲,以更深入了解本文谈论的内容:
Manifest V3 究竟有多差?
让我开门见山:
-
总的来说,情况远没有那么糟糕。
-
Manifest V3 中的变化确实是全球性的,因此需要所有相关方付出巨大的努力。值得吗?我个人认为值得。最终,我们将获得一个统一的跨浏览器平台。同时,我们这些浏览器扩展开发者也会对这个平台产生影响;新平台不是一成不变的,会随着时间的推移不断变化和完善。
-
Chrome 浏览器坚持强迫移除某些功能,特别是 webRequest API 的拦截功能,这是否不好?是的,我们并不喜欢这种趋势,如果由我们决定,我们宁愿不做这样的改变。但我确实希望我们在平台上的集体努力能够弥补这个问题。
AdGuard 迁移到 Manifest V3 的准备情况如何?
一年前,AdGuard 推出了全球首个基于 Manifest V3 的广告拦截器。以下是我在去年的广告过滤开发峰会上向公众展示该产品的视频:
今年,我们谈到了我们在改进这一扩展方面所做的工作,以及我们团队仍需采取的措施:
我们还谈到了主扩展的变化以及为实施 Manifest V3 所做的准备。
简而言之:我们的工作还没有完成,但隧道尽头肯定就会出现曙光。MV3 拦截器原型已经显示出良好的过滤质量,用户可以亲自试试看。
广告拦截器的性能真的会差很多吗?
不,事实并非如此。尽管失去一小部分功能,广告拦截器仍能提供与 Manifest V2 几乎相同的过滤质量。
采用 Manifest V3 所面临的主要挑战是如何为所有广告拦截器目前使用的过滤列表维护一个统一的生态系统。但我们也在努力解决这个问题,我相信假以时日,我们一定能改善这方面的状况。随着这些工具的不断发展,AGLint 和我们的 Visual Studio Code 插件 等项目将使过滤列表作者能够轻松维护与所有版本广告拦截器兼容的过滤列表。
所有广告拦截器都会变得一样,失去竞争能力,这是真的吗?
这只是部分事实。事实上,过滤网络请求的“引擎”是由浏览器来实现的,这确实消除广告拦截器的部分特性。
然而,广告拦截器早已超越了单纯拦截网页请求的范畴。如果我们分析一下过去几年在过滤引擎方面所做的工作,就会发现我们的大部分努力都集中在扩展外观过滤器和脚本小程序上,而且每个广告拦截器对它们的使用都是独一无二的。
即使是用于过滤网络请求的声明规则也并非明朗。如何将传统过滤规则语法(仍将是事实上的标准)转换成浏览器支持的格式,仍然是一项非常复杂的工程。因此,业内谁能更好地完成这项任务,谁的广告拦截器就会取得更好的效果。
Manifest V3 真的会增加创新的难度吗?
这种说法也部分正确。让我们考虑一个简单的场景。广告拦截器开发者社区经常讨论使用人工智能自动识别和拦截广告的问题。如果不能实时决定拦截什么和如何拦截,我们确实会更难实施新的拦截技术。
这并不意味着我们根本无法引入这些技术。我们必须发明新的、更巧妙的方法来引入这些技术。我们能否应对这一挑战,还有待观察。
Manifest V3 真的会提高浏览器的隐私和安全性吗?
老实说,我不这么认为。我看到了 MV3 在统一性、跨平台兼容性和性能方面的优势,但遗憾的是,我看不到 MV3 在提高用户安全性方面有任何优势。尽管 Chrome 网上应用商店停止接受非 MV3 扩展已经有很长一段时间了,但其中的欺诈性扩展数量仍然居高不下。
我仍然坚持我的看法:提高用户安全性的唯一方法就是更好地控制浏览器扩展。如果 Chrome Web Store 团队目前缺乏清理欺诈行为的资源,那么,也许应该改进指南,Chrome 团队需要与网络安全社区更紧密地合作。
也许将来随着扩展平台的发展,情况会稍有改善,但我非常怀疑我们是否能仅仅通过平台的改变而超越微小的改善。
那么,我们是不是就可以高枕无忧了呢?
不是的!正是大家的关注和参与,才激励着我们所有人继续努力。这既适用于浏览器扩展开发人员,也适用于浏览器开发人员。无论别人说什么,无论我们在前进的道路上遇到什么困难,我们的共同目标都是让生活变得更美好。没有亲爱用户们的反馈,我们开发人员怎么知道下一步该做什么?
最后,如果有用户不想费心关注浏览器扩展的发展,可以随时切换到 AdGuard 的高级版本,并安装我们的独立应用程序:Windows、Mac 或 Android。高级版都是在网络层面上运行的,不在乎用户使用哪个浏览器都会拦截广告和跟踪器。