Aloazny123 / Css清道夫

Published:

Version: 20261007222102+cbcee06 updated

Summary: 由AI提取并生成通用规则提取的高性能CSS隐藏 + uBO/AdGuard scriptlet 注入,无GM依赖,附带按站点拦截/放行管理界面。

Groups:

License: GPL-3.0-or-later

Antifeature: unspecified

Css清道夫

将 Adblock 通用元素隐藏规则打包成单个 <style> 标签,在 document-start 一次性注入,隐藏页面广告元素;并附带一个悬浮面板,可按站点增删拦截/放行规则,查看当前页面生效的规则。

用法

  • 规则源合并去重后由 update_css_hide.py 生成 .user.js,@match 默认 *://*/*
  • 页面右侧会出现 CSS 悬浮按钮,点击打开面板
  • 面板三页:拦截规则 / 放行规则 / 生效规则
  • 每行一条,支持三种写法:
    • 纯选择器:.ad-banner
    • 带域名拦截:dd6bh4.com##.t3e-x8ct
    • 带域名放行:dd6bh4.com#@#.t3e-x8ct
  • 写入的是当前域名,规则存 localStorage

uBO/adg scriptlet 语法

example.com##+js(aopr, navigator.platform)
example.com##+js(aopw, window.__Ybid_)
example.com##+js(acis, document.onkeydown, /popup/)
example.com##+js(noeval)
example.com##+js(set-constant, window.popAds, noopFunc)
example.com##+js(nowebrtc)
example.com##+js(no-fetch-if, url:/tracker/)
example.com##+js(aeld, click, /ads/)

AdGuard scriptlet 语法

example.com#%#//scriptlet('aopr', 'navigator.platform')
example.com#%#//scriptlet('aopw', 'window.__Ybid_')
example.com#%#//scriptlet('acis', 'document.onkeydown', '/popup/')
example.com#%#//scriptlet('noeval')
example.com#%#//scriptlet('set-constant', 'window.popAds', 'noopFunc')
example.com#%#//scriptlet('nowebrtc')
example.com#%#//scriptlet('no-fetch-if', 'url:/tracker/')
example.com#%#//scriptlet('aeld', 'click', '/ads/')

内置 scriptlet 一览

短名 全名 参数 说明
aopr abort-on-property-read 属性路径 读取属性时抛错中止脚本
aopw abort-on-property-write 属性路径 写入属性时抛错中止脚本
acis abort-current-inline-script 属性路径, 正则 内联脚本触碰属性时中止
noop noopjs — 空函数占位
noeval silent-noeval — 静默屏蔽 eval
set set-constant 属性路径, 值 把属性锁定为固定值
no-fetch-if — 空格分隔条件 命中条件的 fetch 直接返回空响应
nowebrtc — — 禁用 RTCPeerConnection
aeld addEventListener-defuser 事件类型, 正则 阻止匹配的 addEventListener 注册

set-constant 支持的值:true / false / null / undefined / noopFunc / trueFunc / falseFunc / '' / 数字(绝对值 ≤ 32767)

no-fetch-if 条件格式:key:value 或裸 value(默认 key = url),多个条件空格分隔(AND 关系);value 用 /.../ 表正则,否则为字面匹配

# 只拦 URL 含 /tracker/ 的 fetch
example.com##+js(no-fetch-if, /tracker/)

# 只拦 POST 到 /log 的请求
example.com##+js(no-fetch-if, method:POST url:/\/log$/)

不需要悬浮按钮

Via 等自带 Adblock 拦截的浏览器,把当前脚本作为补充,不需要悬浮按钮,想要隐藏面板,把下面这条加进浏览器的 Adblock 规则:

###css-logger-container

规则来源与版权

  • Adblock_attach — 合并规则
    https://raw.githubusercontent.com/Aloazny/Aloazny_Adblock/main/Rules/Adblock_attach.txt
  • 10007自用规则 — Github@lingeringsound
    https://raw.githubusercontent.com/lingeringsound/adblock_auto/main/base/其他.prop
  • 轻量规则 — Github@damengzhu
    https://raw.githubusercontent.com/damengzhu/banad/main/jiekouAD.txt

规则版权归原作者所有,本脚本仅做提取与格式转换。

版本规则

  • 规则集合与文件内容一致:@version 不变
  • 规则或模板有任何变化:@version 更新为生成时刻 YYYYMMDDHHMMSS

许可证

GPL-3.0

反馈

有广告未隐藏或正常元素被误隐藏,请到 Aloazny_Adblock 反馈,提供站点地址、出问题的元素、期望效果。

Rating: 0