ITADN
brave/adblock-rust
README.md
以下内容由 AI 翻译,如有问题请点此提交 issue 反馈

adblock-rust

crates.io npmjs.com docs.rs Build Status License

将浏览体验的控制权交还给您。

adblock-rust 是驱动 Brave 原生广告拦截器的引擎,可作为库供任何人使用。其特性包括:

  • 网络拦截
  • 外观过滤
  • 资源替换
  • Hosts 语法
  • uBlock Origin 语法扩展
  • iOS 内容拦截语法转换
  • 编译为原生代码或 WASM
  • Rust 绑定(crates)
  • JS 绑定(npm)
  • 社区维护的 Python 绑定(pypi)
  • 高性能!

入门指南

adblock-rust 被用于多个项目,包括浏览器、研究工具和代理。 它可能也适合您的项目!

请参阅 docs.rs 获取详细的 API 文档。

还可以查看 Rust 示例NodeJS 示例

可选特性

以下 cargo 特性 可用于调整 adblock-rust 以最佳适配您的使用场景。

规则解析期间的 CSS 验证(css-validation

在解析外观过滤规则时,可以通过启用 css-validation 特性来包含内置的 CSS 验证实现(通过 selectorscssparser 库)。这将导致 adblock-rust 拒绝具有无效 CSS 语法的外观过滤规则。

内容拦截格式转换(content-blocking

启用 content-blocking 特性可为 adblock-rust 提供将标准 ABP 风格规则转换为 Apple 内容拦截格式 的支持,该格式可导出用于 iOS 和 macOS 平台。

外部域名解析(embedded-domain-resolver

默认情况下,adblock-rust 内置了一个域名解析实现(通过 addr crate),通常足以满足独立使用场景。对于更高级的使用场景,禁用 embedded-domain-resolver 功能将允许 adblock-rust 改用外部的域名解析实现。在将 adblock-rust 嵌入浏览器时,这非常有用,可以减少二进制膨胀并提高一致性。

从 uBlock Origin 的格式解析资源(resource-assembler

adblock-rust 使用与 uBlock Origin 兼容的资源进行脚本注入和重定向规则。 resource-assembler 功能允许 adblock-rust 直接从 uBlock Origin 仓库使用的文件格式中解析这些资源。

线程安全(single-thread

single-thread 功能启用针对规则匹配速度和引擎内存用量的优化。 可以禁用此功能以使引擎 Send + Sync,但建议仅在单个线程上访问引擎以保持最佳性能。