cjxlist规则编写完全教程:从入门到精通
【免费下载链接】cjxlist项目地址: https://gitcode.com/gh_mirrors/cj/cjxlist
cjxlist是一个针对中文网站优化的广告过滤规则项目,提供了CJX's EasyList Lite、CJX's uBlock list等多个规则文件,帮助用户有效拦截广告和恼人内容。本教程将从基础概念开始,带你掌握规则编写的核心方法,轻松打造个性化的广告过滤方案。
一、cjxlist规则基础:快速了解文件结构
1.1 核心规则文件解析
cjxlist项目包含三个主要规则文件,分别针对不同场景设计:
- cjxlist.txt:基础广告过滤规则,基于EasyList精简而来,仅对中文网站生效
- cjx-ublock.txt:针对uBlock Origin优化的增强规则,包含高级脚本拦截功能
- cjx-annoyance.txt:专注于移除恼人元素,如弹窗、悬浮窗和自我推广内容
这些文件采用Adblock Plus和uBlock Origin支持的过滤规则语法,所有规则以!开头的行为注释,其余为过滤规则主体。
1.2 规则文件基本结构
以cjxlist.txt为例,典型规则文件包含以下几个部分:
[Adblock Plus 2.0] ! Version: 202012080856 ! Title: CJX's EasyList Lite ! 元数据注释区... !--------------------------规则分隔线---------------------------! /广告路径关键词 ##.广告容器类名 ###广告元素ID二、基础规则编写:3种必学语法
2.1 网络请求过滤规则
用于阻止广告资源加载,基本格式为:
||example.com/ads/*||表示匹配任何协议(http/https)*为通配符,匹配任意字符序列$后可添加过滤选项,如$image仅过滤图片广告
示例:/api/ads?阻止包含/api/ads?的请求路径
2.2 元素隐藏规则
通过CSS选择器隐藏页面广告元素,格式有两种:
##选择器:全局隐藏匹配元素domain.com##选择器:仅在指定域名下生效
示例:##.advert-card隐藏所有class为advert-card的元素
2.3 uBlock专用高级规则
cjx-ublock.txt中包含uBlock Origin特有的高级规则,如:
example.com##+js(aopr, alert)+js()表示执行脚本操作aopr是"abort-on-property-read"的缩写,阻止读取指定属性- 可用于对抗反广告拦截机制
三、实用规则编写技巧:从小白到高手
3.1 精准定位广告元素
- 使用浏览器开发者工具(F12)检查广告元素
- 寻找广告特有的class或id,如
ad、advert、banner - 优先使用id选择器(
###ad_id),其次是class选择器(##.ad_class)
示例:###floatAd-right精准隐藏id为floatAd-right的悬浮广告
3.2 避免误拦截的技巧
- 使用域名限定:
example.com##.ad仅在example.com生效 - 排除特定情况:
@@||example.com/ads/$domain=example.com - 精确匹配:避免使用过于宽泛的通配符
3.3 常见广告模式匹配
针对中文网站常见广告模式,这些规则模板可直接使用:
! 阻止广告图片 /images/ad/* /img/ad_* ! 阻止广告脚本 /js/ads.js /adscript.* ! 隐藏常见广告容器 ##.ad-left ##.ad-right ##.ad-top ##.ad-bottom四、规则测试与应用:让你的规则立即生效
4.1 本地测试方法
- 将编写的规则保存为
myfilter.txt - 在广告拦截扩展中导入自定义规则:
- uBlock Origin: dashboard > 自定义 > 导入
- Adblock Plus: 设置 > 高级 > 添加自定义过滤列表
4.2 规则调试技巧
- 使用扩展的"元素选择器"工具实时测试规则
- 查看扩展的"记录"面板,检查规则匹配情况
- 使用
#@#语法临时禁用特定规则进行对比测试
4.3 应用cjxlist官方规则
如果不想从零开始编写,可以直接使用cjxlist提供的规则:
- 克隆仓库:
git clone https://gitcode.com/gh_mirrors/cj/cjxlist - 在广告拦截扩展中导入对应文件:
- 基础广告过滤:cjxlist.txt
- uBlock增强规则:cjx-ublock.txt
- 恼人内容过滤:cjx-annoyance.txt
五、规则优化与维护:打造高效过滤系统
5.1 规则性能优化
- 合并相似规则,减少重复匹配
- 优先使用具体域名而非全局规则
- 避免过度使用通配符和复杂选择器
5.2 定期更新维护
- 关注cjxlist项目更新,及时同步官方规则
- 定期检查规则有效性,移除过时规则
- 建立个人规则库,记录常用规则模板
5.3 参与规则贡献
如果你发现新的广告模式或误拦截情况,可以通过以下方式贡献:
- 提交issue到项目仓库
- 发送邮件至cjxlist@gmail.com
- 遵循项目LICENSE规范提交规则改进
通过本教程,你已经掌握了cjxlist规则编写的核心知识和实用技巧。从简单的元素隐藏到高级的脚本拦截,这些技能将帮助你打造更干净、更高效的网络浏览体验。开始编写你的第一条规则吧,让广告过滤更符合个人需求!
【免费下载链接】cjxlist项目地址: https://gitcode.com/gh_mirrors/cj/cjxlist
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考