-
Notifications
You must be signed in to change notification settings - Fork 1
广告屏蔽规则综述
ABP1: Adblock Plus filters explained
- ABP2: How to write filters
- ABP3: Snippet Filters Tutorial
uBlock Wiki | uBlock Wiki 简体中文翻译 |
---|---|
uBO1: Static filter syntax | 静态过滤规则语法 |
uBO2: Procedural cosmetic filters | 过程式修饰规则 |
uBO3: Resources Library | 资源库 |
NAB: NanoAdblocker/NanoDoc/Index.MD
ADG: How to create your own ad filters | AdGuard Knowledgebase
如果有其他广告屏蔽器的文档没有收录,欢迎反馈。 但是,如果你正在使用的广告过滤器没有关于广告屏蔽规则的文档,你可能最好先考虑换一个广告屏蔽器。 有文档的比没文档的好,哪怕是 WebKit Content Blocker 都比看似更强一点点的 AdBlock 更加理想。 这不是有和没有的区别,而是是有救和没救的区别。
引用: ABP1#comments ABP2#comments
以 !
字符开头的行都会被作为注释。
一些广告屏蔽器可能支持在 !
字符甚至任意规则之前加换行符以外的空白字符,
但这一点未被包括在任何官方文档之内。无论有多么需要缩进,也完全不建议这么做。
示例:
! 什么时候才有受广泛支持的多行注释呢
! 感叹号之后倒是好随便缩进
!!!!! 还可以用感叹号缩进
引用: ABP1 ABP2#basic
按从前到后的顺序,一条网络请求过滤规则由一个可选的排除标记、 一条必要的链接匹配规则和可选的规则选项组成。 三个部分之间不存在特定的分隔符,但排除标记为固定符号, 规则选项拥有必要的起始符,可以起到分辨和分隔各个部分的作用。
[排除标记]链接匹配规则[规则选项]
[@@]链接匹配规则[$不含起始符的规则选项]
链接匹配规则分为普通链接匹配规则与正则表达式匹配规则两种。
- 普通链接匹配规则
- 由链接匹配符与任何可不经转码、直接出现在链接之中的字符组成。 现实使用中,这种链接匹配规则通常是从匹配目标链接地址修改而来的。 - **如果开头和结尾都是 `/` 字符,就会被作为正则表达式匹配规则处理**; - 如果未以通配符、起止符或域名起始符开头,解析时就会往开头加上一个通配符; - 如果未以通配符或者起止符结尾,解析时就会往结尾加上一个通配符。
- 正则表达式匹配规则
- 由一条正则表达式与表达式前后的 `/` 起止符构成。 实际上应当与 JavaScript 正则表达式字面量无异。 但是由于每次网络请求时都将执行一遍所有正则表达式规则,编写时也必须考虑到性能。
如果普通链接匹配规则首尾正好都是 / 字符,
可以在前后手动加上通配符 *
,
就不会被当成正则表达式匹配规则了。
符号 | 名称 | 说明 |
---|---|---|
* |
通配符 | 匹配任意字符 |
^ |
隔断符 | 匹配链接结尾处(类似正则表达式中的 $ )和除了数字、字母、_ 、- 、. 和 % 以外的任意字符 |
| |
起止符 | 匹配链接开始处(类似正则表达式中的 ^ )或链接结尾处(类似正则表达式中的 ^ )只能位于链接匹配规则的开始处或结尾处。 |
|| |
域名起始符 | 匹配任意 HTTP 协议前缀与任何后级域名。 只能位于链接匹配规则的开始处。可将其作为起止符的变种。 |
网络请求过滤规则的排除标记为 @@
。
引用: ABP1#options ABP1#filter-options ABP2#options uBO1
大坑啊。
script
image
stylesheet
object
xmlhttprequest
subdocument
ping
websocket
webrtc
document
elemhide
generichide
genericblock
popup
font
media
other
match-case
third-party
domain
sitekey
csp
rewrite
1p
3p
all
badfilter
css
cname
ehide
empty
first-party
frame
ghide
important
inline-script
inline-font
mp4
popunder
redirect
redirect-rule
specifichide
shide
xhr
按从前到后的顺序,一条网页元素修饰规则由目标域名、规则类型标识符和选择器组成。 规则类型标识符兼任分隔符。
又一个大坑。