tallSilv
1.0.2bg xxx.xx 匹配 URL
ABP
AdG
AdG 中文
uBO
uBO 中文
example.com
1.0.3 https://xxx.xx/
ABP
AdG
AdG 中文
https://www.cook.com/
test/flash/
test/data/media/abpt/long \
/long.xhtml
/test/data/media/*.png
@@/luna.png
.webp|
|https://kfkl.oaaxa
||neverssl.com/favicon.ico
logo.jpg^
/help\/image\/\w+\.svg$/
/abp1.*$script
1.2.2ug $inline-script
uBO
uBO 中文
vercel.app$inline-script
abpt/img$image
1.2.4 $stylesheet
ABP
AdG
AdG 中文
/abp5.*$stylesheet
/abp6.*$css
/0000-0060.*$object
1.2.8 $xmlhttprequest
ABP
AdG
AdG 中文
/abp10.*$xmlhttprequest
/abp2.*$xhr
1.2.10 $subdocument
ABP
AdG
AdG 中文
/ifr1$subdocument
/ifr2$frame
/ifr3$popup
点我弹窗
abpt/icofont.*$font
图标字体来自 IcoFont,许可
*pt/la$media
1.2.21 ~ 1.2.26u
$third-party
ABP
AdG
AdG 中文
$3p
uBO
uBO 中文
$strict3p
uBO
uBO 中文
$first-party
uBO
uBO 中文
$1p
uBO
uBO 中文
$strict1p
uBO
uBO 中文
!1.2.21
*_tp.gif$third-party
!1.2.22
*_3p.gif$3p
!1.2.23
*_s3p.gif$strict3p
!1.2.24
*_fp.gif$first-party
!1.2.25
*_1p.gif$1p
!1.2.26
*_s1p.gif$strict1p
$third-party
上面的西瓜框里应为 1 bu / 1 2
g
$3p
上面的西瓜框里应为 1 u / 1 2
g
$strict3p
上面的西瓜框里应为 1 u
$first-party
上面的西瓜框里应为 2 3 u / 3
g
$1p
上面的西瓜框里应为 2 3 u / 3
g
$strict1p
上面的西瓜框里应为 2 3 u
1.2.28ug $document
uBO
uBO 中文
AdG
AdG 中文
/gg.xhtml$document
跳转到 gg.xhtml
/gg2.xhtml$doc
跳转到 gg2.xhtml
1.2.28@g ~ 1.2.37@g
按条件关闭功能
!1.2.28@
@@lemon399-static.pages.dev/indexd.html$document
!1.2.30@
@@lemon399-static.pages.dev/indexe.html$elemhide
!1.2.31@
@@lemon399-static.pages.dev/indexeh.html$ehide
!1.2.32@
@@lemon399-static.pages.dev/indexg.html$generichide
!1.2.33@
@@lemon399-static.pages.dev/indexgh.html$ghide
!1.2.34@
@@lemon399-static.pages.dev/indexgb.html$genericblock
!1.2.35@
@@lemon399-static.pages.dev/indexs.html$specifichide
!1.2.36@
@@lemon399-static.pages.dev/indexsh.html$shide
!1.2.37@
@@lemon399-static.pages.dev/indexub.html$urlblock
1.2.30@ $elemhide
ABP
uBO
uBO 中文
AdG
AdG 中文
点击这里
跳转到 Cloudflare 进行测试
1.2.32@ $generichide
ABP
uBO
uBO 中文
AdG
AdG 中文
点击这里
跳转到 Cloudflare 进行测试
1.2.34@bg $genericblock
ABP
AdG
AdG 中文
点击这里
跳转到 Cloudflare 进行测试
1.2.35@ug $specifichide
uBO
uBO 中文
AdG
点击这里
跳转到 Cloudflare 进行测试
1.2.42bg $match-case
ABP
AdG
AdG 中文
*?CoDe=1$match-case
1.2.43@ug $badfilter
uBO
uBO 中文
AdG
AdG 中文
/disa.gif
/disa.gif$badfilter
1.2.45ug $important
uBO
uBO 中文
AdG
AdG 中文
@@/impo.gif
/impo.gif$important
/impo2.gif
@@/impo2.gif$important
1.2.46ug $empty
uBO
uBO 中文
AdG
AdG 中文
/abp4.js$empty
media/abpt/tesu/$script,_,stylesheet
media/abpt/tesu/$font,__,image
media/abpt/test/$~image
1.2.51 $domain
ABP
uBO
uBO 中文
AdG
AdG 中文
/abp7.js$domain=pages.dev
点击这里 跳转到 Cloudflare 进行测试
1.2.52ug $denyallow
uBO
uBO 中文
AdG
/abp8.js$denyallow=vercel.app,domain=pages.dev
点击这里 跳转到 Cloudflare 进行测试
1.2.54 $csp
ABP
uBO
uBO 中文
AdG
AdG 中文
/gg3.xhtml$csp=style-src 'self'
1.2.55bg $rewrite=abp-resource:
ABP
AdG
! $rewrite 必须指定 $domain 并且匹配部分需要有 * 或 ||
*/gg4.xhtml$rewrite=abp-resource:blank-html,domain=vercel.app
页面框架的阴影应存在
1.2.56ug $redirect
uBO
uBO 中文
AdG
/gg5.xhtml$redirect=noop.html
/gg6.xhtml$redirect=noopframe
页面框架的阴影应存在
页面框架的阴影应存在
1.2.57ug $redirect-rule
uBO
uBO 中文
AdG
||vercel.app/test/data/rr.*
/rr.png$redirect-rule=32x32.png
/rr.gif$redirect-rule=1x1-transparent.gif
1.2.61g $removeheader
AdG
/getHeader$removeheader=request:user-agent
1.2.62ug $removeparam
uBO
uBO 中文
AdG
/getHeader$removeparam
2.0 元素规则基本语法
ABP
uBO
uBO 中文
AdG
AdG 中文
! 无域名
##figure > blockquote > q
! 无域名放行
###noggao
#@##noggao
! 有域名
vercel.app###ggao
! 有域名放行
vercel.app##.text
vercel.app#@#.text
! 域名生效验证
pages.dev###rth
! 域名排除
~vercel.app##.dirty
! 多域名
vercel.app,pages.dev##span + strong
是广告
无域名
上面的西瓜框里的文字应被隐藏
内容
无域名放行
上面的西瓜框里的文字不应被隐藏
广告
有域名
上面的西瓜框里的文字应被隐藏 点击这里 跳转到 Cloudflare 测试不同域名
内容
有域名放行
上面的西瓜框里的文字不应被隐藏
广告
域名排除
上面的西瓜框里的文字不应被隐藏 点击这里 跳转到 Cloudflare 测试不同域名
内容广告
多域名
上面的西瓜框里的 "广告" 应被隐藏,只应有
"内容"
2.1g 元素规则域名修饰符
AdG
!2.1.2
[$domain=pages.dev]###dom
!2.1.3
[$path=abpt.html]###path
广告
[$domain]
上面的西瓜框里的文字不应被隐藏点击这里 跳转到 Cloudflare 测试不同域名
广告
[$path]
上面的西瓜框里的文字应被隐藏点击这里 跳转到 Cloudflare 测试不同域名
2.3.1 :has()
ABP
uBO
uBO 中文
AdG
AdG 中文
! 通用
vercel.app#?#blockquote:has(.mymoney)
! ABP
vercel.app#?#blockquote:-abp-has(.myhoney)
! AdGuard 伪属性
vercel.app#?#blockquote[-ext-has=".mytony"]
你好
内容
你好
内容
:has()
上面应只有两个西瓜框,且均为 内容
蜂蜜
内容
蜂蜜
内容
:-abp-has()
上面应只有两个西瓜框,且均为 内容
托尼
内容
托尼
内容
[-ext-has]
上面应只有两个西瓜框,且均为 内容
2.3.2 :has-text()
ABP
uBO
uBO 中文
AdG
AdG 中文
! 通用
vercel.app#?#blockquote:has-text(烦恼)
! 正则
vercel.app#?#blockquote:has-text(/区分\d/)
! AdGuard
vercel.app#?#blockquote:contains(滑块)
! ABP
vercel.app#?#blockquote:-abp-contains(红日)
! AdGuard 伪属性
vercel.app#?#blockquote[-ext-contains="媒体"]
烦恼
内容
烦恼
内容
:has-text()
上面应只有两个西瓜框,且均为 内容
区分1
内容
区分2
内容
:has-text(/正则/)
上面应只有两个西瓜框,且均为
内容
滑块
内容
滑块
内容
:contains()
上面应只有两个西瓜框,且均为 内容
红日
内容
红日
内容
:-abp-contains()
上面应只有两个西瓜框,且均为
内容
媒体
内容
媒体
内容
[-ext-contains]
上面应只有两个西瓜框,且均为
内容
2.3.3ug :matches-css()
uBO
uBO 中文
AdG
AdG 中文
! uBO 括号不应转义,AdGuard 括号必须转义
! 通用: inherit (蓝)
vercel.app#?#blockquote:matches-css(background-color: rgb\(135, 206, 235\))
vercel.app#?#blockquote:matches-css(background-color: rgb(135, 206, 235))
! 通用: js 修改内联 (灰)
vercel.app#?#blockquote:matches-css(background-color: rgb\(200, 206, 214\))
vercel.app#?#blockquote:matches-css(background-color: rgb(200, 206, 214))
! AdGuard 伪属性 (淡绿)
vercel.app#?#blockquote[-ext-matches-css="background-color: rgb\(240, 255, 240\)"]
vercel.app#?#blockquote[-ext-matches-css="background-color: rgb(240, 255, 240)"]
! 正则 (粉和橙)
vercel.app#?#blockquote:matches-css(background-color: /^rgb\(255,/)
内容
内容
内容
内容
内容
内容
2.3.4ug + 2.3.5ug
:matches-css-*()
uBO
uBO 中文
AdG
AdG 中文
! uBO 需要加引号,AdGuard 不应加引号
!2.3.4
! 通用
vercel.app#?#blockquote:matches-css-before(content: 我是广告啊)
vercel.app#?#blockquote:matches-css-before(content: "我是广告啊")
! AdGuard 伪属性
vercel.app#?#blockquote[-ext-matches-css-before="content: 我是广告呢"]
vercel.app#?#blockquote[-ext-matches-css-before="content: "我是广告呢""]
!2.3.5
! 通用
vercel.app#?#blockquote:matches-css-after(content: 我是广告哟)
vercel.app#?#blockquote:matches-css-after(content: "我是广告哟")
! AdGuard 伪属性
vercel.app#?#blockquote[-ext-matches-css-after="content: 我是广告哦"]
vercel.app#?#blockquote[-ext-matches-css-after="content: "我是广告哦""]
2.3.6g :matches-attr()
AdG
vercel.app#?#[type=range]:matches-attr("disabled")
vercel.app#?#[type=range]:matches-attr("min"="5")
vercel.app#?#[type=range]:matches-attr("max"="/^3/")
2.3.7ug :matches-path()
uBO
uBO 中文
vercel.app,pages.dev#?#:matches-path(/test) .pathexa
我是广告
点击这里 跳转到 Cloudflare 测试路径不符
2.3.8u :min-text-length()
uBO
uBO 中文
vercel.app#?#p.content:min-text-length(20)
我是内容
我是广告,可爱的广告,好看的广告,漂亮的广告,美丽的广告,萌萌的广告
我是内容
2.3.9ug :nth-ancestor()
uBO
uBO 中文
AdG
vercel.app#?#[src$="up.gif"]:nth-ancestor(2)
我是内容
![]()
2.3.10ug :upward()
uBO
uBO 中文
AdG
vercel.app#?#[src$="up2.gif"]:upward(2)
vercel.app#?#p > em:upward(.box)
我是内容
我是广告
![]()
2.3.11u :watch-attr()
uBO
uBO 中文
vercel.app#?#blockquote span:watch-attr(id):has-text(我是广告哈)
2.3.12 :xpath()
ABP
uBO
uBO 中文
AdG
vercel.app#?##close:xpath(../../*[1])
广告关闭
2.3.13ug :remove()
uBO
uBO 中文
AdG
vercel.app#?##remo:remove()
广告
vercel.app#?##royal:style(color: royalblue !important)
你好啊
2.3.15 + 2.3.16ug :not() :if-not()
ABP
uBO
uBO 中文
AdG
!2.3.15
vercel.app#?##not > blockquote:not(:has(.ok))
! ABP 需要 :-abp-has()
vercel.app#?##abpnot > blockquote:not(:-abp-has(.ok))
!2.3.16
vercel.app#?##ifnot > blockquote:if-not(.ok)
你好啊
你好啊
你好啊
:not(:has())
上面应有两个 "你好啊" 西瓜框
你好啊
你好啊
你好啊
:if-not()
上面应有一个 "你好啊" 西瓜框
你好啊
你好啊
你好啊
:not(:-abp-has())
上面应有两个 "你好啊" 西瓜框
2.2.4 #@?# #@#
ABP
uBO
uBO 中文
AdG
AdG 中文
vercel.app#?#blockquote:has(.yes)
vercel.app#@?#blockquote:has(.yes)
! ABP 需要用 #@#
vercel.app#?#blockquote:-abp-has(.abpyes)
vercel.app#@#blockquote:-abp-has(.abpyes)
你好啊
#@?#
上面的西瓜框不应被隐藏
你好啊
#@#
上面的西瓜框不应被隐藏
2.2.7g + 1.2.39g
#%# #@%# $jsinject
AdG
AdG 中文
!1.2.39@
@@lemon399-static.pages.dev/index.html$jsinject
!2.2.7
vercel.app#%#window.ohohoh=123;
!2.2.7@
vercel.app#%#window.ohohohoh=123;
vercel.app#@%#window.ohohohoh=123;
#%#
上面的西瓜框里应有 123点击这里 跳转到 Cloudflare 测试
$jsinject
#@%#
上面的西瓜框里不应有 123
2.2.8g + 2.2.9u
#%#//scriptlet() ##+js()
uBO
uBO 中文
AdG
!2.2.8
vercel.app#%#//scriptlet('noeval')
!2.2.9
vercel.app##+js(noeval-silent)
2.2.10ug #$# #@$#
uBO
uBO 中文
AdG
AdG 中文
ABP
!2.2.10
vercel.app#$##turq { color: turquoise !important }
!2.2.10@
vercel.app#$##seag { color: seagreen !important }
vercel.app#@$##seag { color: seagreen !important }
你好啊
#$#
上面的西瓜框里文字应为
青绿色
你好啊
#@$#
上面的西瓜框里文字应为
红色
2.2.11ug #$?# #@$?#
uBO
uBO 中文
AdG
AdG 中文
!2.2.11
vercel.app#$?#span:contains(真的是) { display: none!important; }
!2.2.11@
vercel.app#$?#span:contains(真不是) { display: none!important; }
vercel.app#@$?#span:contains(真不是) { display: none!important; }
我真的是广告
我真不是广告
3.1ug !#include
uBO
uBO 中文
AdG
AdG 中文
!#include abpti.txt
你好啊
3.2@ug !#if !#endif
uBO
uBO 中文
AdG
AdG 中文
!#if false
/disa2.gif
!#endif
4.1 应用于 iframe
###iAmAnAdVert
lemon399-static.pages.dev###iAmAnAdVert
4.2 应用于 Web Components
###iAmAnAdVertToo
vercel.app###iAmAnAdVertToo
###iJustAmAnAdVert
vercel.app###iJustAmAnAdVert
锥形渐变语法使用锥形渐变时,颜色会围绕圆心旋转,从顶部开始顺时针旋转。广告 在径向渐变中,颜色从椭圆中心向各个方向向外过渡。EOF 广告