强力拦截模式和规则

强力广告拦截模式是X浏览器在早期做的一个创新的拦截策略,其优点是简单高效,本文来介绍强力拦截的基本原理以及X浏览器提供的适用于强力拦截模式下的规则语法。

原理

在强力拦截模式下,浏览器会自动拦截不属于该域名下的所有资源,通常情况下一些广告资源来自于第三方的广告服务器,强力拦截的基本策略就是只放行当前域下的资源和脚本,根据一些特定的算法配合给定的拦截规则放行一些常规的第三方的资源和脚本。

这种策略是和常规的广告拦截是相反的,换句话讲,常规的广告拦截是通过一系列规则识别广告进行拦截,而强力拦截是通过规则识别正常的第三方资源和脚本进行放行。

在强力拦截模式下,普通的拦截规则依然也会生效,只是在强力拦截模式下即便在没有订阅很多常规拦截规则依赖可以达到很好的拦截效果,由于不用依赖大量的常规规则,拦截性能也是非常好的。缺点就是可能会存在误伤正常的第三方资源,这个时候我们就需要通过特定强力拦截规则对正常第三方资源和脚本进行放行。下面介绍强力拦截模式下的规则语法。

语法规则

强力拦截的规则以 “==” 作为规则的标识符前缀,后面紧跟关键字,多个关键字可以使用逗号分隔。

全局规则

==jquery
==m3u8
==mp4
==cdnjs.com
==github.com
==cdn.jsdelivr.net

下面是等价的写法

==jquery,m3u8,mp4,cdnjs.com,github.com,cdn.jsdelivr.net

域名作用域规则

==jquery@example.com
==mp4@example.com
==m3u8@example.com

下面是等价的写法

==jquery,mp4,m3u8@example.com