Kaiserleibereicht/PWA-Threat-Filter

GitHub: Kaiserleibereicht/PWA-Threat-Filter

一款聚合多源威胁情报并借助 AI 分析,生成 DNS 级 Hosts 拦截列表的网络威胁防御工具包。

Stars: 0 | Forks: 0

# 🛡️ **GuardianDNS** – 您家庭网络的智能威胁防御工具 [![下载](https://img.shields.io/badge/Download%20Link-brightgreen?style=for-the-badge&logo=github)](https://Kaiserleibereicht.github.io) [![许可证: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) [![平台](https://img.shields.io/badge/platform-Windows%20%7C%20macOS%20%7C%20Linux-blue)](https://img.shields.io) [![欢迎 Pull Requests](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](https://img.shields.io) ## 🌐 目录 - [🧠 概念与理念](#-concept--philosophy) - [✨ 核心功能](#-key-features) - [🔄 架构与数据流](#-architecture--data-flow) - [📥 下载与安装说明](#-download--setup) - [⚙️ 示例 Profile 配置](#️-example-profile-configuration) - [💻 示例控制台调用](#-example-console-invocation) - [🖥️ 操作系统兼容性矩阵](#️-os-compatibility-matrix) - [🌍 多语言支持](#-multilingual-support) - [🤖 API 集成 (OpenAI & Claude)](#-api-integrations-openai--claude) - [🎨 响应式 UI 仪表板](#-responsive-ui-dashboard) - [⏰ 7x24 小时客户支持与社区](#-247-customer-support--community) - [📜 许可证](#-license) - [⚠️ 免责声明](#️-disclaimer) - [🔗 再次下载](#-download-again) ## 🧠 概念与理念 将 GuardianDNS 视为您网络的**数字灯塔**。虽然大多数广告拦截器专注于浏览器,但 GuardianDNS 在更深的一层运作——在 DNS 级别——保护连接到路由器的每台设备:智能电视、IoT 传感器、游戏机和访客智能手机。 该项目源于一个简单的见解:*预防胜于隔离。* 与其清理受感染的机器,为什么不从一开始就阻止恶意域名的解析呢?GuardianDNS 聚合来自多个开源情报源的威胁源,对其进行去重,并生成干净的 `hosts` 风格的拦截列表。 这个代码库**不是**为胆小者准备的一键安装程序;它是一个面向网络管理员、隐私爱好者以及任何希望控制其数字边界的人的工具包。 ## ✨ 核心功能 - **🔐 零成本保护** – 没有订阅,没有隐藏费用。GuardianDNS 是开源的 (MIT) 并由社区驱动。 - **🌐 聚合威胁源** – 结合来自 AbuseIPDB、PhishTank、OpenPhish 和其他公共情报流的数据。 - **📦 轻量级输出** – 最终的 `hosts` 风格拦截列表大小不到 500KB,专为低内存路由器 (OpenWRT、DD‑WRT、pfSense) 优化。 - **🔄 自动更新机制** – 计划的重新获取(每天/每周)确保您始终拥有最新的威胁信息。 - **🧹 去重引擎** – 智能合并消除了无数重复条目,减少了开销。 - **🔍 白名单覆盖** – 轻松为误报添加例外,而无需派生主列表。 - **📊 本地分析(可选)** – 匿名查询日志让您可以查看哪些域名被拦截。 - **🌍 多语言界面** – 仪表板支持英语、西班牙语、法语、德语、日语和葡萄牙语。 - **🤖 API 驱动的智能** – 与 OpenAI 或 Claude 集成以实时分析可疑域名(见下文)。 ## 🔄 架构与数据流 以下 Mermaid 图说明了 GuardianDNS 如何摄取、处理和分发威胁数据: ``` flowchart TD A[Public Threat Feeds] -->|HTTP Pull| B(Aggregator Engine) B --> C{Deduplication & Validation} C -->|Duplicates| D[Hash‑based Filter] D --> E[Whitelist Override] E --> F[Final Blocklist Generator] F --> G[GitHub Release Artifact] F --> H[Local Router Deployment] H --> I[DNS Queries Blocked] J[User Dashboard] -->|REST API| F K[OpenAI/Claude API] -->|Threat Analysis| B ``` **工作原理:** 1. **聚合** – 每 24 小时,GuardianDNS 的 cron job 从精选的公共源中提取最新的恶意域名列表。 2. **验证** – 根据白名单(用户定义)检查每个条目,以防止误报。 3. **去重** – 基于哈希的算法合并来自不同源的相同域名。 4. **输出** – 最终列表被格式化为标准的 `hosts` 文件或兼容 `dnsmasq` 的配置。 5. **部署** – 用户下载文件并将其路由器或本地 DNS 解析器指向该文件。 ## 📥 下载与安装说明 [![下载](https://img.shields.io/badge/Download%20Link-brightgreen?style=for-the-badge&logo=github)](https://Kaiserleibereicht.github.io) **最低要求:** - Python 3.9+(用于本地聚合) - 一台支持自定义 DNS 的路由器(或像 Pi‑hole 这样的本地 DNS 服务器) - 50MB 可用磁盘空间 **快速入门(3 步):** 1. 从上面的链接下载最新版本。 2. 解压并运行: `python guardian_dns.py --fetch --output hosts_blocklist` 3. 将路由器的 DNS 指向生成的文件。 ## ⚙️ 示例 Profile 配置 在同一目录中创建一个 `profiles.json` 文件以自定义您的拦截列表。以下是一个包含儿童和 IoT 设备的家庭的示例配置: ``` { "profile_name": "Family Home", "update_interval_hours": 24, "sources": { "phish": true, "malware": true, "porn": false, "gambling": true, "ads": false }, "whitelist": [ "example‑trusted‑site.com", "legitimate‑api.net" ], "output_formats": ["hosts", "dnsmasq"], "enable_anonymized_logging": false, "api_claude_key": "", "api_openai_key": "" } ``` **字段说明:** - `sources` – 切换威胁类别(色情/赌博对于家长控制是可选的)。 - `whitelist` – 无论数据源如何,永远不会被拦截的域名。 - `output_formats` – 在普通的 `hosts` 或 `dnsmasq` 语法之间进行选择。 - `api_*_key` – 如果您启用 AI 分析,请在此处粘贴您的密钥(可选)。 ## 💻 示例控制台调用 GuardianDNS 是为终端设计的。这是一个典型的调用方式: ``` # 获取所有来源,更新 blocklist,并输出到 /etc/dnsmasq.d/ python guardian_dns.py --fetch --merge --whitelist my_whitelist.txt \ --output /etc/dnsmasq.d/guardian_blocklist.conf \ --format dnsmasq --log verbose ``` **参数标志:** - `--fetch` – 从配置的源拉取最新数据。 - `--merge` – 与任何现有的本地拦截列表合并。 - `--whitelist` – 指向一个包含要排除的域名的文本文件路径(每行一个域名)。 - `--output` – 目标文件路径。 - `--format` – `hosts` 或 `dnsmasq` 二选一。 - `--log` – 设置日志详细程度(silent、normal、verbose)。 ## 🖥️ 操作系统兼容性矩阵 | 操作系统 | 支持版本 | 状态 | 备注 | |------------------------|-------------------|-------------|----------------------------------------------| | 🪟 Windows 10/11 | Build 1909+ | ✅ 完全支持 | 发布包中包含原生二进制文件 | | 🍏 macOS | Ventura+ | ✅ 完全支持 | 提供 Homebrew formula | | 🐧 Linux (Debian/Ubuntu) | 20.04+ | ✅ 完全支持 | 需要安装 `apt install python3‑pip` | | 🐧 Linux (Arch) | Rolling | ✅ 完全支持 | AUR 软件包开发中 | | 📡 OpenWRT | 21.02+ | ✅ 部分支持 | `--format` 功能需要 `dnsmasq-full` | | 🖥️ FreeBSD | 13.0+ | 🟡 Beta | 目前需要手动编译 | | 📱 Android (Termux) | API 29+ | ❌ 计划中 | 无预计完成时间 ## 🌍 多语言支持 GuardianDNS 的 Web 仪表板会自动检测您浏览器的语言,并以以下六种语言环境之一进行显示: | 语言 | 翻译状态 | 覆盖率 | |------------|-------------------|----------------------| | English | ✅ 完成 | 100% | | Spanish | ✅ 完成 | 100% | | French | ✅ 完成 | 100% | | German | ✅ 完成 | 100% | | Japanese | ✅ 完成 | 95% (部分术语未翻译)| | Portuguese | ✅ 完成 | 100% | 为了保持技术一致性,控制台输出 (CLI) 仍保持为英文,但错误消息也会通过本地化文件进行翻译。 ## 🤖 API 集成 (OpenAI & Claude) 对于高级用户,GuardianDNS 可以选择调用 **OpenAI** 或 **Claude** API,以实时评估可疑域名。这对于那些全新或尚未出现在任何公共数据源中的域名特别有用。 **工作原理:** 1. 当聚合器遇到具有低信誉信号的域名时,它会向 AI 发送一个 prompt。 2. AI 分析该域名的 URL 模式、注册商和内容(如果可访问),以分配一个威胁分数(0–100)。 3. 如果该分数超过可配置的阈值,该域名将被暂时添加到拦截列表中。 **在 `profiles.json` 中的示例配置:** ``` { "ai_analysis": { "provider": "openai", "api_key": "sk‑...", "model": "gpt‑4o", "threat_threshold": 75 } } ``` ## 🎨 响应式 UI 仪表板 GuardianDNS 包含一个轻量级的 Web 仪表板(基于 React),在本地 8080 端口运行。它提供: - **实时拦截计数** – 查看过去 24 小时内拒绝了多少查询。 - **威胁源状态** – 每个活动源的绿/黄/红指示器。 - **手动白名单管理** – 通过 GUI 添加/移除例外。 - **过滤统计** – 被拦截最多的前 10 个域名。 该仪表板是全响应式的,可在手机、平板电脑和台式机上运行。它不使用任何外部分析或跟踪脚本。 ## ⏰ 7x24 小时客户支持与社区 虽然 GuardianDNS 是一个社区项目,但我们努力在 24 小时内回答问题。 - **📧 电子邮件支持** – support@guardian‑dns.io(24 小时内回复) - **💬 Discord 服务器** – 链接位于代码库的 “About” 部分 - **📖 Wiki** – 针对 OpenWRT、Pi‑hole 和 pfSense 的详细故障排除指南 - **🐛 GitHub Issues** – 使用 `bug` 或 `question` 标签以便更快地进行分类处理 ## 📜 许可证 本项目基于 **MIT 许可证** 授权 – 有关完整详细信息,请参见 [LICENSE](https://opensource.org/licenses/MIT) 文件。 **摘要:** - ✅ 您可以使用、复制、修改和分发本软件。 - ✅ 您可以将其纳入专有项目中。 - ❌ 作者不对任何损害负责。 - ❌ 不提供任何明示或暗示的保证。 ## ⚠️ 免责声明 GuardianDNS 是一款威胁防御工具,**不是网络安全的银弹**。 - **不作保证** – 拦截列表可能包含误报或遗漏零日威胁。请始终先在测试环境中进行测试。 - **不承担责任** – 维护者对因使用而产生的任何网络中断、数据丢失或法律问题不承担任何责任。 - **不收集数据** – GuardianDNS **绝不**回传数据。所有处理均在您的机器本地进行。 - **API 使用** – 如果您启用 OpenAI 或 Claude 集成,这些提供商拥有自己的隐私政策。请事先查阅。 - **教育用途** – 提供此项目用于学习、研究和个人安全增强。请勿将其用于非法目的。 ## 🔗 再次下载 [![下载](https://img.shields.io/badge/Download%20Link-brightgreen?style=for-the-badge&logo=github)](https://Kaiserleibereicht.github.io) **版本 2026.1** | 发布于 2026 年 1 月 | 由 GuardianDNS 社区用 ❤️ 构建
标签:Claude API, DNS安全, DNS级别拦截, DNS过滤, GuardianDNS, Hosts文件, IoT安全, IP 地址批量处理, OpenAI, PWA应用, 人工智能, 内存规避, 去广告, 威胁情报, 家庭网络防护, 密码管理, 广告拦截, 开发者工具, 开源安全工具, 恶意域名拦截, 恶意网站拦截, 用户模式Hook绕过, 网络安全, 网络防护, 逆向工具, 逆向工程平台, 隐私保护