asteroid-99942/apophis-blocklist

GitHub: asteroid-99942/apophis-blocklist

Apophis Blocklist 是一个面向 Pi-hole 等 DNS 过滤系统的自动化域名黑名单生成器,专注恶意软件防护,通过多源威胁情报聚合和 PSL 验证输出干净、去重的拦截列表。

Stars: 0 | Forks: 0

Apophis Blocklist 是一个全自动、尊重隐私的域名拦截列表生成器,专为 Pi‑hole、Unbound、AdGuard Home 以及其他 DNS 过滤系统设计。它融合了多个高质量的威胁情报源,使用 Public Suffix List (PSL) 验证域名,移除无效条目,并每天输出一份干净、去重的拦截列表。 Apophis 使用一系列精心筛选的第三方拦截列表,这些列表专注于恶意软件、勒索软件、钓鱼、诈骗、欺诈以及其他安全关键型威胁。它不针对广告、追踪或一般内容拦截,尽管某些第三方列表可能会包含它们认为过度的广告/追踪服务拦截。用户有责任审查包含的来源、维护自己的白名单,并确保拦截列表符合其环境和风险承受能力。 目标很简单:**以最小的噪音实现最大的威胁覆盖**。 ✨ 功能 - 通过 GitHub Actions **每日自动更新** - **Public Suffix List (PSL) 验证** - 拒绝无效 TLD - 拒绝格式错误的域名 - 确保仅包含真实、可解析的域名 - **并行下载**以实现快速列表聚合 - **ETag/Last‑Modified 缓存**以减少带宽 - 显示添加/移除域名的**自动差异报告** - **干净、去重的输出**,适用于 Pi‑hole、Unbound、AGH 和 DNS 服务器 - 通过 `blocklistblaster.toml` **配置源** 📦 输出文件 每日生成到 `lists/` 目录中: | 文件 | 描述 | |------|-------------| | `blocklist.txt` | 最终合并的拦截列表(仅域名)| | `allowlist.txt` | 白名单(如果已配置)| | `regexlist.txt` | 正则规则(如果已配置)| | `diff_report.txt` | 显示添加/移除域名的每日差异 | | `blocklist_previous.txt` | 用于对比的快照 | ⚙️ 工作原理 1. 下载 `blocklistblaster.toml` 中定义的所有拦截列表源 2. 规范化并验证每个域名: - 移除注释、IP、通配符、无效字符 - 转换 IDNA/Punycode - 使用 **Public Suffix List** 验证 TLD 3. 对所有域名进行去重和合并 4. 应用白名单(可选) 5. 将最终列表写入 `lists/` 6. 如果拦截列表发生更改,自动提交更改 🛠 配置 所有来源定义于: blocklistblaster.toml 示例: ``` [lists] block = [ "https://example.com/malware.txt", "https://example.com/phishing.txt" ] allow = [] regex = [] [output] block = "lists/blocklist.txt" allow = "lists/allowlist.txt" regex = "lists/regexlist.txt" ``` 🔄 自动化 .github/workflows/update-blocklist.yml 每天 UTC 时间 03:00 运行并: - 安装依赖 - 运行拦截列表生成器 - 如果检测到更改,提交更新的列表 🛡 理念 本项目优先考虑: 准确性 — 仅包含具有有效公共后缀的真实域名 覆盖范围 — 多个独立的威胁源 稳定性 — 无 ABP/Adblock 语法,无噪音,无垃圾 透明度 — 每日差异报告 隐私 — 无外部分析,无遥测
标签:AdGuard Home, DNS 安全, DNS 过滤, GitHub Actions, IDNA, IP 地址批量处理, Linux安全, Object Callbacks, Pi-hole, Public Suffix List, Python安全, Unbound, 勒索软件, 域名拦截, 域名黑名单, 威胁情报, 安全引擎, 家庭实验室, 开发者工具, 恶意软件防护, 欺诈防护, 网络安全, 网络安全, 网络调试, 网络钓鱼, 自动化, 自动笔记, 逆向工具, 隐私保护, 隐私保护