{"id":28919294,"url":"https://github.com/chaniug/filterfusion","last_synced_at":"2026-06-28T08:00:36.551Z","repository":{"id":297350240,"uuid":"996479623","full_name":"Chaniug/FilterFusion","owner":"Chaniug","description":"⚡ 多源广告过滤规则聚合引擎：HTTP/2 异步并发抓取、NFKC 智能去重、ABP/uBlock/AdGuard 全格式兼容、AdBlock \u0026 DNS 双模输出，GitHub Actions 每日全自动更新！","archived":false,"fork":false,"pushed_at":"2026-06-22T00:50:17.000Z","size":23937,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-22T02:28:47.853Z","etag":null,"topics":["adblock-plus","adblocker","adguard","adguard-list","aiblocks","easylist","ublock-origin-filters"],"latest_commit_sha":null,"homepage":"https://github.com/Chaniug/FilterFusion","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Chaniug.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-06-05T02:29:34.000Z","updated_at":"2026-06-22T00:50:22.000Z","dependencies_parsed_at":"2026-02-22T06:01:59.392Z","dependency_job_id":null,"html_url":"https://github.com/Chaniug/FilterFusion","commit_stats":null,"previous_names":["chaniug/filterfusion"],"tags_count":63,"template":false,"template_full_name":null,"purl":"pkg:github/Chaniug/FilterFusion","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Chaniug%2FFilterFusion","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Chaniug%2FFilterFusion/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Chaniug%2FFilterFusion/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Chaniug%2FFilterFusion/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Chaniug","download_url":"https://codeload.github.com/Chaniug/FilterFusion/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Chaniug%2FFilterFusion/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34881384,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-28T02:00:05.809Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["adblock-plus","adblocker","adguard","adguard-list","aiblocks","easylist","ublock-origin-filters"],"created_at":"2025-06-22T03:05:53.055Z","updated_at":"2026-06-28T08:00:36.545Z","avatar_url":"https://github.com/Chaniug.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cimg src=\"https://github.com/Chaniug/FilterFusion/raw/main/assets/preview.png\" alt=\"项目预览\" /\u003e\n\n\u003ch1 align=\"center\"\u003eFilterFusion\u003c/h1\u003e\n\u003cp align=\"center\"\u003e\n  \u003cem\u003e多源广告过滤规则的自动聚合引擎 — 抓取 · 去重 · 融合 · 分发，一气呵成\u003c/em\u003e\n\u003c/p\u003e\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/Chaniug/FilterFusion/stargazers\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/stars/Chaniug/FilterFusion?style=social\" alt=\"Stars\" /\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/Chaniug/FilterFusion/releases\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/v/release/Chaniug/FilterFusion?display_name=tag\u0026color=brightgreen\" alt=\"Release\" /\u003e\n  \u003c/a\u003e\n  \u003cimg src=\"https://img.shields.io/github/last-commit/Chaniug/FilterFusion?color=success\" alt=\"Last Commit\" /\u003e\n  \u003cimg src=\"https://img.shields.io/badge/python-%3E%3D3.14-3776AB?logo=python\u0026logoColor=white\" alt=\"Python 3.14+\" /\u003e\n  \u003ca href=\"./LICENSE\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/license-MIT-blue\" alt=\"License\" /\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n**中文** | **[English](./README_EN.md)**\n\n---\n\n## 目录\n\n- [关于](#关于)\n- [规则订阅地址](#规则订阅地址)\n- [系统要求](#系统要求)\n- [快速开始](#快速开始)\n- [工作原理](#工作原理)\n- [使用指南](#使用指南)\n- [应用场景](#应用场景)\n- [常见问题](#常见问题)\n- [如何参与](#如何参与)\n- [许可证](#许可证)\n- [联系方式](#联系方式)\n\n## 关于\n\nFilterFusion 是一个自动聚合和融合多源广告过滤规则的工具集。它帮你**抓取主流规则源 → 去重合并 → 输出标准格式**，彻底告别手动维护自定义规则列表。\n\n| 对比维度 | 手动维护 | FilterFusion |\n|---------|---------|-------------|\n| 多源聚合 | 逐个打开、复制粘贴 | 自动并发抓取 |\n| 规则去重 | 肉眼比对、手动删除 | Unicode NFKC 算法自动去重 |\n| 规则分类 | 手动整理 | 按 ABP 标准 7 级自动分类 |\n| 持续更新 | 想起来才更新 | GitHub Actions 每日自动 |\n| 分发部署 | 手动上传 | jsDelivr + GitHub Raw 多 CDN 分发 |\n| 元数据统计 | 无 | 自动输出控制台摘要 |\n\n### 核心亮点\n\n- **极致性能** — 异步并发 + 预编译正则，大规模规则秒级处理\n- **高度可定制** — 自由配置规则源、模板和输出格式\n- **一键自动化** — 一条命令完成抓取、合并、发布全流程\n- **双管道并行** — AdBlock 浏览器拦截 + DNS 网络级拦截独立运行\n\n## 规则订阅地址\n\n将对应链接导入你的广告拦截工具即可。**每个代码块内 3 行为同一规则的不同 CDN 源，任选其一复制即可**（推荐第一行 jsDelivr）：\n\n### 🟦 AdBlock 规则（浏览器广告拦截）\n\n**📱 移动端（Mobile）**\n\n```text\nhttps://cdn.jsdelivr.net/gh/Chaniug/FilterFusion@main/dist/adblock-mo.txt\nhttps://raw.githubusercontent.com/Chaniug/FilterFusion/main/dist/adblock-mo.txt\nhttps://gh.llkk.cc/https://raw.githubusercontent.com/Chaniug/FilterFusion/main/dist/adblock-mo.txt\n```\n\n**🖥️ 电脑端（PC）**\n\n```text\nhttps://cdn.jsdelivr.net/gh/Chaniug/FilterFusion@main/dist/adblock-pc.txt\nhttps://raw.githubusercontent.com/Chaniug/FilterFusion/main/dist/adblock-pc.txt\nhttps://gh.llkk.cc/https://raw.githubusercontent.com/Chaniug/FilterFusion/main/dist/adblock-pc.txt\n```\n\n\u003e 📌 三行依次为：jsDelivr CDN（中国大陆推荐）/ GitHub Raw（全球）/ gh.llkk.cc（备用）\n\n### 🟪 DNS 过滤规则（网络级广告拦截）\n\n```text\nhttps://cdn.jsdelivr.net/gh/Chaniug/FilterFusion@main/dist/dns-blocklist.txt\nhttps://raw.githubusercontent.com/Chaniug/FilterFusion/main/dist/dns-blocklist.txt\nhttps://gh.llkk.cc/https://raw.githubusercontent.com/Chaniug/FilterFusion/main/dist/dns-blocklist.txt\n```\n\n\u003e 📌 三行依次为：jsDelivr CDN（中国大陆推荐）/ GitHub Raw（全球）/ gh.llkk.cc（备用）\n\n### 📋 规则反馈\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/Chaniug/AdSuper/issues/new?labels=%E8%A7%84%E5%88%99%E5%8F%8D%E9%A6%88\u0026template=rule_report.yml\" style=\"text-decoration:none;\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/规则反馈\u0026建议-点此前往@Chaniug/AdSuper-ff69b4?logo=github\" alt=\"前往 AdSuper 反馈规则\" /\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n如需反馈**误拦截、漏拦截**或希望补充的新规则，请前往我们的子项目 [**@Chaniug/AdSuper**](https://github.com/Chaniug/AdSuper) 提交规则 Issue，我们会及时处理！\n\n---\n\n## 系统要求\n\n### 最低配置\n\n| 项目 | 要求 |\n|------|------|\n| 🐍 **Python** | 3.14+ |\n| 💻 **操作系统** | Windows / macOS / Linux |\n| 🌐 **网络** | 需要互联网连接以抓取规则源 |\n| 📦 **依赖** | `httpx[http2]\u003e=0.27.0`（仅此一个） |\n\n```bash\n# 检查 Python 版本\npython --version\n```\n\n## 快速开始\n\n### 1. 克隆项目\n```bash\ngit clone https://github.com/Chaniug/FilterFusion.git\ncd FilterFusion\n```\n\n### 2. 安装依赖\n```bash\npip install -r requirements.txt\n```\n\n### 3. 抓取并合并规则\n\n| 管道 | 抓取 | 合并去重 |\n|------|------|---------|\n| 🟦 **AdBlock (Mobile)** | `python scripts/fetch_rules.py` | `python scripts/merge_rules.py --category mobile` |\n| 🟦 **AdBlock (PC)** | `python scripts/fetch_rules.py` | `python scripts/merge_rules.py --category pc` |\n| 🟪 **DNS** | `python scripts/fetch_dns_rules.py` | `python scripts/merge_dns_rules.py` |\n\n### 4. 使用生成的规则\n- 生成的规则文件位于 `dist/` 目录\n- 直接导入到支持自定义规则的广告拦截工具中\n\n---\n\n## 工作原理\n\nFilterFusion 的工作流程分为四个阶段，由两条独立管道并行运行：\n\n```mermaid\nflowchart LR\n    subgraph PIPE[\"两条独立管道\"]\n        direction TB\n        subgraph AD[\"AdBlock 管道\"]\n            A1[\"📋 配置\u003cbr/\u003esources.yaml\"] --\u003e A2[\"⬇️ 抓取\u003cbr/\u003efetch_rules.py\"]\n            A2 --\u003e A3[\"🔀 合并\u003cbr/\u003emerge_all.py → merge_custom\u003cbr/\u003e按 custom_rules 配置驱动\"]\n            A3 --\u003e A4a[\"📤 输出\u003cbr/\u003eadblock-mo.txt\"]\n            A3 --\u003e A4b[\"📤 输出\u003cbr/\u003eadblock-pc.txt\"]\n            A3 --\u003e A4c[\"📤 输出\u003cbr/\u003e自定义.txt\"]\n        end\n        subgraph DNS[\"DNS 管道\"]\n            D1[\"📋 配置\u003cbr/\u003edns_sources.yaml\"] --\u003e D2[\"⬇️ 抓取\u003cbr/\u003efetch_dns_rules.py\"]\n            D2 --\u003e D3[\"🔀 合并\u003cbr/\u003emerge_dns_rules.py\"]\n            D3 --\u003e D4[\"📤 输出\u003cbr/\u003edns-blocklist.txt\"]\n        end\n    end\n    A4a --\u003e CDN[\"jsDelivr + GitHub Raw\u003cbr/\u003e多 CDN 全球分发\"]\n    A4b --\u003e CDN\n    A4c --\u003e CDN\n    D4 --\u003e CDN\n\n    style AD fill:#ebf5ff,stroke:#2196f3\n    style DNS fill:#f3e5f5,stroke:#9c27b0\n    style CDN fill:#e8f5e9,stroke:#4caf50\n```\n\n**规则格式**: Adblock Plus（ABP）/ uBlock Origin / EasyList / 兼容 ABP 的格式均支持。\n\n```\n||example.com^                  # 域名屏蔽\nexample.com##.ad-banner         # 元素隐藏\n@@||whitelist.com^$document     # 白名单放行\n```\n\n### 规则分类体系\n\n合并引擎会自动将规则按以下 7 级分类标准整理：\n\n| 级别 | 类型 | 示例 | 说明 |\n|:---:|------|------|------|\n| 🟢 1 | 通用域名屏蔽 | `\\|\\|doubleclick.net^` | 拦截已知广告域名 |\n| 🔵 2 | 第三方拦截 | `\\|\\|adservice.google.com^$third-party` | 仅拦截第三方请求的广告 |\n| 🟡 3 | 元素隐藏 | `example.com##.ad-banner` | 隐藏页面中的广告元素 |\n| 🟠 4 | 白名单 | `@@\\|\\|trusted.com^$document` | 放行被误拦截的域名 |\n| 🔴 5 | 正则规则 | `/ads\\.example\\.com/` | 使用正则表达式匹配 |\n| 🟣 6 | DNS 级别 | `0.0.0.0 ad.example.com` | 网络层直接拦截 |\n| ⚪ 7 | 其他/未分类 | — | 无法归类的特殊规则 |\n\n---\n\n## 使用指南\n\n### **配置规则源**\n\n编辑 `config/sources.yaml`（AdBlock）或 `config/dns_sources.yaml`（DNS），YAML 格式，GitHub 网页编辑有语法高亮：\n\n```yaml\n# config/sources.yaml — AdBlock 规则源\n# category: mo(手机端) / pc(电脑端) / bo(两端共用，同 URL 只下载一次)\n#   也兼容旧全称 mobile / pc / both；YAML 对大小写敏感，建议全小写\n# 存在即启用，行首 # 注释即禁用\n# 给源写说明：在某个源上方加一行 # 注释即可（脚本忽略，仅给人看）\nsources:\n  # AdGuard 官方移动端过滤规则\n  - name: AdGuard Mobile\n    category: mo\n    url: https://raw.githubusercontent.com/.../filter.txt\n    id: m1\n\n  # AdGuard 中文广告过滤规则（两端共用）\n  - name: AdGuard Chinese\n    category: bo\n    url: https://raw.githubusercontent.com/.../filter.txt\n    id: b1\n\n# 组合规则 — 按 ID 引用源，合并去重后输出到 dist/\n# description 可选，不填则自动生成\ncustom_rules:\n  # 核心规则（文件名保持不变，订阅链接无需修改）\n  - output: adblock-mo.txt\n    description: FilterFusion - Ad blocking rules (Mobile)\n    sources: [m1, m2, m3, b1, b2]\n\n  - output: adblock-pc.txt\n    description: FilterFusion - Ad blocking rules (PC)\n    sources: [p1, b1, b2]\n\n  # 示例：新增自定义规则（取消注释即可启用）\n  # - output: exten.txt\n  #   sources: [m1, b1]\n```\n\n```yaml\n# config/dns_sources.yaml — DNS 规则源\nsources:\n  - name: AdGuard DNS\n    url: https://raw.githubusercontent.com/.../filter.txt\n  # - name: HaGeZi DNS\n  #   url: https://...\n```\n\n- AdBlock 源需 `name`、`category`、`url`、`id` 四个字段（`id` 是唯一短编号，被组合规则引用）\n- `category: bo` 的源同 URL 只下载一次，自动分发给 mo 和 pc（`mo`=手机端 / `pc`=电脑端 / `bo`=两端共用，也兼容全称 mobile/pc/both）\n- `custom_rules` 段定义所有 AdBlock 产出文件（含核心的 `adblock-mo.txt` / `adblock-pc.txt`），按 ID 引用已抓取的源，`description` 字段可选\n- DNS 源仅需 `name` 和 `url`，不支持组合规则\n\n### **抓取规则**\n\n```bash\npython scripts/fetch_rules.py                  # 抓取所有 AdBlock 规则\npython scripts/merge_rules.py --category mobile # 合并移动端规则\npython scripts/merge_rules.py --category pc     # 合并电脑端规则\npython scripts/fetch_dns_rules.py               # 抓取 DNS 规则\npython scripts/fetch_dns_rules.py    # DNS 规则\n```\n\n异步并发下载所有源，验证格式并缓存到 `scripts/`。\n\n### **合并去重**\n\n```bash\npython scripts/merge_rules.py        # AdBlock 规则\npython scripts/merge_dns_rules.py    # DNS 规则\n```\n\n自动分类 → NFKC 规范化去重 → 输出到 `dist/`。\n\n### **导入工具**\n\n**AdBlock**（uBlock Origin / AdGuard / Brave 等）：打开扩展设置 → Filter lists → 粘贴订阅链接 → 导入。\n\n**DNS**（AdGuard Home / Pi-hole / Clash 等）：管理界面 → DNS blocklists → 添加订阅链接。\n\n### 兼容工具速览\n\n| 工具 | 平台 | AdBlock 规则 | DNS 规则 |\n|------|------|:---:|:---:|\n| uBlock Origin | 浏览器扩展 | ✅ | ❌ |\n| AdGuard 浏览器扩展 | 浏览器扩展 | ✅ | ❌ |\n| Brave 内置拦截 | 浏览器 | ✅ | ❌ |\n| AdGuard Home | DNS 服务器 | ❌ | ✅ |\n| Pi-hole | DNS 服务器 | ❌ | ✅ |\n|  AdGuard for Windows/Mac | 桌面客户端 | ✅ | ✅ |\n| Clash / Sing-Box / Surge | 代理客户端 | ❌ | ✅ |\n\n## 应用场景\n\nFilterFusion 的两条管道覆盖从浏览器到网络层的全链路过滤需求：\n\n```mermaid\nflowchart LR\n    subgraph S1[\"🎯 个人使用\"]\n        P1[\"构建个人规则库\"] --\u003e P2[\"每日自动更新\"]\n    end\n    subgraph S2[\"🏢 企业部署\"]\n        E1[\"内网 DNS 拦截\"] --\u003e E2[\"统一分发到全设备\"]\n    end\n    subgraph S3[\"👪 家长控制\"]\n        F1[\"专用过滤规则\"] --\u003e F2[\"屏蔽不良内容\"]\n    end\n    subgraph S4[\"🛠️ 工具集成\"]\n        D1[\"API 获取规则\"] --\u003e D2[\"嵌入自有产品\"]\n    end\n\n    style S1 fill:#e3f2fd,stroke:#1976d2\n    style S2 fill:#e8f5e9,stroke:#388e3c\n    style S3 fill:#fff3e0,stroke:#f57c00\n    style S4 fill:#fce4ec,stroke:#c62828\n```\n\n## 常见问题\n\n### Q1: 多久更新一次规则？\n\n项目的 GitHub Actions 每日自动运行抓取和合并流程，`dist/` 下的规则文件始终保持最新。如果你本地使用，建议每天或每周执行一次脚本。\n\n### Q2: 如何自定义规则源？\n\n编辑 `config/sources.yaml`（AdBlock）或 `config/dns_sources.yaml`（DNS），YAML 格式：\n\n```yaml\n# AdBlock 源（需 name / category / url / id）\nsources:\n  - name: 你的规则名\n    category: mo          # mo=手机端 / pc=电脑端 / bo=两端共用（也兼容全称）\n    url: https://example.com/filter.txt\n    id: m1\n  # - name: 不需要的源\n  #   category: mo\n  #   url: https://example.com/other.txt  （行首 # 注释即禁用）\n  #   id: m2\n```\n\n规则源 URL 必须返回可直链访问的纯文本规则文件（ABP/uBlock/AdGuard 格式）。\n\n### Q3: 支持哪些格式？不生效怎么办？\n\n支持 Adblock Plus（ABP）、uBlock Origin、EasyList 等兼容格式。\n\n规则导入后不生效的常见原因：格式不兼容、工具对规则数量有限制、缓存未刷新。大多数工具支持多个规则列表同时使用——建议保留官方规则为基础，添加 FilterFusion 作为补充。\n\n### Q4: 生成的规则文件在哪里？\n\n| 文件 | 类型 | 说明 |\n|------|:---:|------|\n| `dist/adblock-mo.txt` | AdBlock | 移动端合并规则，**订阅推荐用此链接** |\n| `dist/adblock-pc.txt` | AdBlock | PC 端合并规则 |\n| `dist/dns-blocklist.txt` | DNS | 最新合并 DNS 规则，**订阅推荐用此链接** |\n\n### Q5: 规则文件多大？性能如何？\n\n文件大小通常 2–5 MB（取决于规则源数量），现代浏览器和 DNS 工具均可轻松处理。建议定期检查文件大小，移除不需要的源。\n\n### Q6: 发现误拦截或漏拦截怎么办？\n\n前往 [AdSuper 项目](https://github.com/Chaniug/AdSuper) 提交 Issue，描述具体网址和拦截情况，我们会及时处理并更新规则。\n\n### Q7: 为什么每日更新工作流使用 `secrets.PAT`？\n\n因为 GitHub Actions 默认的 `GITHUB_TOKEN` 触发的推送**不会触发其他工作流**（包括 Pages 部署）。为了让 `.github/workflows/static.yml` 在规则文件更新后自动重新部署 GitHub Pages，`daily-update.yaml` 使用 Personal Access Token（PAT）进行检出和推送。\n\n如果你要 Fork 本项目自行部署，需要在仓库 **Settings → Secrets and variables → Actions** 中创建名为 `PAT` 的 Secret，并确保该 Token 至少拥有当前仓库的 `contents:write` 权限。\n\n---\n\n## 如何参与\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://contrib.rocks/image?repo=Chaniug/FilterFusion\" alt=\"Contributors\" /\u003e\n\u003c/p\u003e\n\n[![Chaniug's github activity graph](https://github-readme-activity-graph.vercel.app/graph?username=Chaniug\u0026theme=github-compact)](https://github.com/Ashutosh00710/github-readme-activity-graph)\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/Chaniug/FilterFusion/stargazers\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/stars/Chaniug/FilterFusion?style=social\" alt=\"Stars\" /\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/Chaniug/FilterFusion/fork\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/forks/Chaniug/FilterFusion?style=social\" alt=\"Forks\" /\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/Chaniug/FilterFusion/issues\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/issues/Chaniug/FilterFusion?color=yellow\" alt=\"Issues\" /\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/Chaniug/FilterFusion/pulls\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/issues-pr/Chaniug/FilterFusion?color=blue\" alt=\"PRs\" /\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/Chaniug/FilterFusion/discussions\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/Discussions-blueviolet?logo=github\" alt=\"Discussions\" /\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n### 支持项目\n\n- 点亮 [Star](https://github.com/Chaniug/FilterFusion/stargazers) 支持项目\n- [Fork](https://github.com/Chaniug/FilterFusion/fork) 项目参与开发\n- 分享给更多人使用\n\n### 参与开发\n\n- 通过 [Issue](https://github.com/Chaniug/FilterFusion/issues) 反馈问题和建议\n- 提交 [Pull Request](https://github.com/Chaniug/FilterFusion/pulls) 贡献代码\n- 在 [Discussions](https://github.com/Chaniug/FilterFusion/discussions) 区分享想法\n\n### 贡献流程\n\n1. Fork 本项目\n2. 创建特性分支 (`git checkout -b feature/AmazingFeature`)\n3. 提交更改 (`git commit -m 'Add some AmazingFeature'`)\n4. 推送到分支 (`git push origin feature/AmazingFeature`)\n5. 打开 Pull Request\n\n## 许可证\n\n本项目采用 **MIT License** 开源协议。允许自由使用、修改、分发（含商业用途），仅需保留原始许可证和版权声明。详见 [LICENSE](./LICENSE) 文件。\n\n## 联系方式\n\n- **GitHub**: [@Chaniug](https://github.com/Chaniug)\n- **Issues**: [FilterFusion Issues](https://github.com/Chaniug/FilterFusion/issues)\n- **Discussions**: [FilterFusion Discussions](https://github.com/Chaniug/FilterFusion/discussions)\n\n---\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://github.githubassets.com/images/icons/emoji/unicode/1f984.png\" height=\"28\" /\u003e\n  \u003cimg src=\"https://github.githubassets.com/images/icons/emoji/unicode/1f680.png\" height=\"28\" /\u003e\n  \u003cimg src=\"https://github.githubassets.com/images/icons/emoji/unicode/2764.png\" height=\"28\" /\u003e\n  \u003cimg src=\"https://github.githubassets.com/images/icons/emoji/unicode/1f431.png\" height=\"28\" /\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cb\u003e喜欢这个项目？请点个 Star ⭐ 来支持我们！\u003c/b\u003e\n\u003c/p\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchaniug%2Ffilterfusion","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fchaniug%2Ffilterfusion","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchaniug%2Ffilterfusion/lists"}