FuckFuckadblock开发者指南:如何贡献和扩展过滤规则
【免费下载链接】fuckfuckadblockFilters for blocking mining, pop-ups and anti-adblock bypass.项目地址: https://gitcode.com/gh_mirrors/fu/fuckfuckadblock
FuckFuckadblock是一款强大的开源过滤规则集合,专为阻止弹窗、反广告拦截绕过和浏览器挖矿而设计。本指南将帮助开发者快速了解项目结构,掌握贡献过滤规则的方法,共同打造更高效的广告和挖矿防护工具。
一、项目简介与核心价值
FuckFuckadblock项目包含两个主要过滤规则文件:
- fuckfuckadblock.txt:主要针对弹窗和反广告拦截绕过的过滤规则,包含CSS选择器、脚本拦截和重定向规则
- fuckfuckadblock-mining.txt:专注于阻止浏览器挖矿行为的规则,包含矿池域名拦截和挖矿脚本识别
项目采用MIT许可证(LICENSE.md),允许自由使用、修改和分发,为开发者提供了灵活的贡献空间。
二、过滤规则文件结构解析
2.1 基础规则格式
所有过滤规则文件均采用Adblock Plus兼容格式,主要包含以下几类规则:
2.1.1 元数据头部
文件开头包含项目元信息:
! Title: Fuck Fuckadblock ! Description: Filters for blocking pop-ups and anti-adblock bypass ! Author: Bogachenko Vyacheslav ! Expires: 3 days ! Homepage: https://github.com/bogachenko/fuckfuckadblock2.1.2 规则分类标签
使用! [类别] START和! [类别] END划分不同类型的规则:
! CASCADING STYLE SHEETS START:CSS元素隐藏规则! SCRIPTS START:脚本拦截和重定向规则! XMLHTTPREQUEST START:网络请求拦截规则! POPUP START:弹窗拦截规则
2.2 核心规则类型详解
2.2.1 CSS元素隐藏规则
通过CSS选择器定位并隐藏广告元素:
##div[style^="position: fixed; inset: 0px; z-index: 2147483647; pointer-events: auto;"]这类规则使用##前缀,后面跟随标准CSS选择器,用于隐藏页面上的广告弹窗元素。
2.2.2 脚本拦截规则
阻止或重定向恶意脚本:
||http*:*/blockadblock-$redirect=fuckadblock.js-3.2.0,script使用||表示域名匹配,$后面跟随选项如script指定拦截类型,redirect表示重定向到替代脚本。
2.2.3 域名拦截规则(挖矿防护)
在挖矿规则文件中,通过域名拦截阻止连接矿池:
|||0xpool.io^ |||1pool.org^ |||2miners.com^以|||开头的规则表示拦截特定域名的所有请求,有效阻止浏览器连接矿池服务器。
三、贡献新规则的完整步骤
3.1 准备工作
克隆仓库
git clone https://gitcode.com/gh_mirrors/fu/fuckfuckadblock了解规则测试流程
- 安装广告拦截扩展(如uBlock Origin)
- 在扩展中添加本地规则文件进行测试
- 验证规则有效性和兼容性
3.2 创建新规则的最佳实践
3.2.1 针对弹窗广告的规则编写
- 使用浏览器开发者工具定位广告元素
- 创建精准的CSS选择器:
example.com##div[class^="ad-modal-"] - 添加域名限制以减少误拦截
3.2.2 针对反广告拦截的规则编写
- 识别反广告拦截脚本特征:
example.com##+js(abort-current-script.js, document.documentElement, break) - 使用
abort-current-script或noeval-if等脚本注入规则 - 测试不同浏览环境下的规则稳定性
3.2.3 针对挖矿行为的规则编写
- 确认矿池域名或挖矿脚本特征
- 添加域名拦截:
|||newh矿池域名.com^ - 或添加脚本模式匹配:
/^https?:\/\/.*\/miner\.js$/$script,xmlhttprequest
3.3 提交贡献的规范
规则格式检查
- 确保规则符合Adblock Plus格式标准
- 避免使用过于宽泛的规则导致误拦截
- 添加必要的注释说明规则用途
提交PR
- 创建清晰的PR标题,如"Add anti-mining rules for example.com"
- 在描述中说明规则针对的问题和测试情况
- 一次PR专注于一个问题或一类规则
四、高级扩展技巧
4.1 规则优化策略
减少规则冲突
- 使用特定域名限制:
example.com##.ad-banner - 避免使用通配符过度匹配
- 使用特定域名限制:
提高规则性能
- 优先使用ID选择器而非类选择器
- 合并相似规则,减少规则数量
4.2 跨文件规则管理
- 弹窗和反广告拦截规则添加到fuckfuckadblock.txt
- 挖矿相关规则添加到fuckfuckadblock-mining.txt
- 共享规则可在两个文件中适当重复或使用包含机制
五、常见问题与解决方案
5.1 规则不生效怎么办?
- 检查规则语法是否正确
- 使用
##+js(debug.js)进行调试 - 确认目标网站是否有动态加载的广告内容
5.2 如何避免误拦截?
- 添加尽可能多的限制条件(域名、路径、类型)
- 使用
@@前缀创建例外规则:@@*$domain=example.com,generichide - 在不同浏览器和扩展版本中测试规则
六、社区贡献与支持
作为开源项目,FuckFuckadblock依赖社区贡献不断完善。您可以通过以下方式参与:
- 提交新的过滤规则
- 报告规则失效或误拦截问题
- 改进规则性能和兼容性
- 帮助文档翻译和教程编写
通过共同努力,我们可以打造更强大、更精准的广告和挖矿防护工具,为用户提供更清爽的网络体验!
【免费下载链接】fuckfuckadblockFilters for blocking mining, pop-ups and anti-adblock bypass.项目地址: https://gitcode.com/gh_mirrors/fu/fuckfuckadblock
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考