realodix/haiku
GitHub: realodix/haiku
一款用于管理、优化和构建 Adblock 过滤规则列表的 PHP 命令行工具,帮助维护者高效完成多源规则的合并、规范化与质量检查。
Stars: 2 | Forks: 0
[](https://deepwiki.com/realodix/haiku)
# Realodix Haiku
Haiku 是一个强大的命令行工具,用于高效管理 adblock 过滤列表。它能自动执行重复性任务,例如毫不费力地合并来源、优化和整理过滤列表。
### # 功能
1. **修复**:对过滤规则进行排序、组合、规范化和优化,从而生成更整洁且更易于维护的过滤列表。
2. **Lint**:分析您的过滤列表,快速识别潜在问题。
3. **构建**:将多个过滤列表来源(本地文件和/或远程 URL)编译为统一的输出文件,包括重新生成头部元数据并移除不必要的行(例如注释)。
Haiku 支持多种 adblock 语法,包括 Adblock Plus、AdGuard 和 uBlock Origin。它使用增量缓存系统来跳过未更改的文件,从而实现对大型过滤列表的高效处理。
```
!## BEFORE
[$path=/page.html,domain=b.com|a.com]##.textad
example.com##+js(aopw, Fingerprint2)
-banner-$image,domain=example.org
-banner-$image,domain=example.com
b.com,a.com##.ads
!## AFTER
-banner-$image,domain=example.com|example.org
a.com,b.com##.ads
[$domain=a.com|b.com,path=/page.html]##.textad
example.com##+js(aopw, Fingerprint2)
```
有关完整的转换列表,请参阅 [docs/fixer-feature.md](./docs/fixer-feature.md)。
```
##.ads
example.com##.ads
example.com##+js(nowolf)
```
```
------ ----------------------------------------------------------------------------
Line filter.txt
------ ----------------------------------------------------------------------------
:2 Redundant filter: 'example.com##.ads' already covered by '##.ads' on line 1.
✏️ filter.txt:2
:3 Unknown scriptlet: "nowolf"
💡 Did you mean "nowoif"?
✏️ filter.txt:3
```
## 安装说明
通过 [Composer](https://getcomposer.org/) 安装此包:
```
composer require realodix/haiku
```
Composer 会将 Haiku 可执行文件安装到其 `bin-dir` 目录中,默认路径为 `vendor/bin`。
## 命令
#### 初始化配置
在您的项目中创建一个 `haiku.yml` 配置文件。
```
vendor/bin/haiku init
```
#### 修复器
```
vendor/bin/haiku fix
```
#### 代码检查工具
```
vendor/bin/haiku lint
```
#### 构建器
```
vendor/bin/haiku build
```
有关命令的详细用法、可用选项以及更多示例,请参阅 [docs/usage.md](./docs/usage.md)。
## 配置
请参阅[配置文件](./docs/configuration.md)文档,或查看 [AdBlockID-src/haiku.yml](https://github.com/realodix/AdBlockID-src/blob/ca03961fc3/haiku.yml) 以获取生产环境的配置示例。
## 许可证
本项目基于 [MIT License](./LICENSE) 授权。
标签:Adblock Plus, AdGuard, Composer, ffuf, Lint, OpenVAS, PHP, SEO工具, uBlock Origin, 二进制发布, 代码优化, 广告拦截, 开源工具, 文本处理, 缓存, 网络调试, 网页过滤, 自动化, 规则合并, 过滤规则管理, 静态检查