开发者生态
morning
构建 UMatrix 替代品
2026-05-15
1 阅读
taviso
选项 我的问题是 uMatrix 在 mv3 下是否可行? declarativeNetRequest mv2 和 mv3 之间的主要区别在于,在执行回调时不再可能阻止请求,即所谓的“阻止”Web 请求。如果您想拦截请求,现在必须以声明方式完成。这只是意味着您必须提前声明要应用的操作,而不是在每个请求上运行一些 JavaScript。您可能读过以下有争议的内容:您无法以声明方式完成回调中可能执行的所有操作,因此这些功能已被削弱。这在技术上是正确的,但实际上规则足够灵活,可以满足我想要的一切。策略网络已经有一个控制功能和子资源的系统,它被称为内容安全策略。显而易见的设计是使用 declarativeNetRequest 添加我们自己的 Content-Security-Policy ,然后浏览器将为我们完成所有工作。我们需要做的就是提供一个方便的界面来管理它。好的,但是我们如何提供允许和拒绝的子资源列表?当您使用 uMatrix 时,它会显示子资源类型和来源的列表,并让您手动批准或拒绝它们。这是uMatrix做得很好的核心事情,所以它是必不可少的。嗯,我认为CSP已经提供了解决方案!有一个报告指令指示浏览器将任何安全违规行为发布到报告端点。我们所要做的就是启用该功能,添加另一个 declarativeNetRequest 规则来捕获这些报告,然后从浏览器发送的报告中填充一个列表。这是成功卸载的另一项任务当然,这需要一些管道,但所有部件都在那里,对我来说似乎完全可行。