bekkaze/abusebox

GitHub: bekkaze/abusebox

一款开源自托管的威胁监控工具包,统一整合 IP/域名黑名单检查、信誉查询、DNS/SSL/DMARC 验证与服务器状态监控,支持定时任务与告警。

Stars: 44 | Forks: 12

AbuseBox Logo # AbuseBox **用于 IP、域名和服务器的开源威胁监控工具包。** 检查黑名单、查询 AbuseIPDB、检查 DNS/SSL/DMARC 记录、扫描子网以及验证服务器正常运行时间 —— 尽在一个控制面板。 [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE) [![GitHub release](https://img.shields.io/github/v/release/bekkaze/abusebox)](https://github.com/bekkaze/abusebox/releases) [![GitHub stars](https://img.shields.io/github/stars/bekkaze/abusebox?style=social)](https://github.com/bekkaze/abusebox/stargazers)
## 截图 **主页** — 在首页即时进行黑名单检查 ![主页](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/b8729cc379094951.png) **控制台** — 带有统计数据和历史图表的监控摘要 ![控制台](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/0ad71e9ea3094953.png) **资产** — 以卡片形式查看所有受监控的主机名及检查徽章 ![资产](https://raw.githubusercontent.com/bekkaze/abusebox/main/files/assets.png) **资产详情** — 为每个启用的检查提供标签页结果(黑名单、AbuseIPDB、DNS、SSL、WHOIS、DMARC、服务器状态) ![资产详情](https://raw.githubusercontent.com/bekkaze/abusebox/main/files/asset_details.png) ## 为什么选择 AbuseBox? 大多数黑名单工具一次只能检查一项内容。AbuseBox 为您提供了一个**统一的视图**来: - 几秒钟内扫描 **60+ DNSBL 提供商** - 在黑名单结果旁获取 **AbuseIPDB 信誉分数** - 对最多 20 个 IP/域名同时运行**批量检查** - 扫描整个**子网 (CIDR /24)** 以查找被列入黑名单的 IP - 一键拉取 **WHOIS**、**DNS 记录**和 **SSL 证书**详情 - 验证 **SPF / DKIM / DMARC** 邮件身份验证 - 通过 DNS、端口和 HTTP 检查来确认服务器是否**在线或宕机** - **注册资产**,并通过可配置的开关运行所有检查 - **安排定期检查**,并通过电子邮件和 webhook 发送警报 - 将结果导出为 **CSV** 并使用**图表**跟踪历史记录 - 在**浅色和深色模式**之间切换 没有供应商锁定。没有付费层级。自行托管并掌控您的数据。 ## 功能 | 功能 | 描述 | 需要身份验证 | |---|---|---| | **黑名单快速检查** | 针对 60+ DNSBL 提供商扫描主机名/IP | 否 | | **批量检查** | 在单次请求中检查最多 20 个 IP/域名 | 否 | | **子网 / CIDR 检查** | 针对主要 DNSBL 提供商扫描整个 IP 范围(最大 /24) | 否 | | **AbuseIPDB** | IP 信誉分数、滥用报告、ISP 和地理位置 | 否 | | **WHOIS 查询** | 域名注册商、日期、域名服务器、注册人信息 | 否 | | **DNS 记录查看器** | A、AAAA、MX、TXT、CNAME、NS、SOA、PTR 记录 | 否 | | **SSL 证书检查器** | 有效性、过期时间、颁发者、密码套件、SAN 列表 | 否 | | **SPF / DKIM / DMARC** | 带有 A-F 评级的邮件身份验证验证 | 否 | | **服务器是否在线?** | DNS 解析、端口扫描 (80/443)、HTTP 状态和响应时间 | 否 | | **CSV 导出** | 将黑名单和子网结果下载为 CSV | 否 | | **批量资产导入** | 在一个 API 请求中创建最多 50 个资产 | 是 | | **CIDR 导入** | 从 UI 将 IP 范围(最大 /24)导入为受监控资产 | 是 | | **资产** | 注册域名/IP 并通过每个资产的开关运行所有检查 | 是 | | **资产详情视图** | 为每种检查类型提供带有摘要卡片的标签页结果 | 是 | | **定时监控** | 自动定期重新检查,带有电子邮件/webhook 警报 | 是 | | **历史图表** | 每个受监控资产的可视化黑名单历史记录 | 是 | | **重新检查资产** | 一键对任何资产重新运行所有已启用的检查 | 是 | | **移除名单工作流** | 向支持的提供商申请移除黑名单 | 是 | | **搜索和过滤** | 按主机名/类型搜索资产,按正常/已列入黑名单状态过滤 | 是 | | **自动刷新** | 在控制台和资产页面上可配置的自动刷新(30秒/1分钟/5分钟) | 是 | | **复制到剪贴板** | 一键复制 IP、DNS 记录、WHOIS 数据、SSL 详情 | - | | **相对时间戳** | 显示为“2 小时前”,悬停时显示完整日期时间提示 | - | | **深色模式** | 在浅色和深色主题之间切换,并持久化保存到 localStorage | - | | **响应式布局** | 可折叠的侧边栏,在移动端显示汉堡菜单 | - | | **网站图标警报** | 当任何资产被列入黑名单时,网站图标上会显示红色徽章 | - | | **API 文档** | 所有 endpoint 的 Swagger UI 和 ReDoc | 否 | ## 快速开始 ### Docker(推荐) ``` git clone https://github.com/bekkaze/abusebox cd abusebox cp backend/.env.example .env # configure your settings docker compose up --build ``` 打开 `http://localhost:3000` 即可开始使用。 ### 手动设置
点击展开 **前置条件:** Python 3.11+、Node.js 18+、Yarn **后端:** ``` cd backend cp .env.example .env pip install -r requirements.txt uvicorn app.main:app --host 0.0.0.0 --port 8100 --reload ``` **前端**(新终端): ``` cd frontend cp .env.example .env yarn install yarn dev ``` 打开 `http://localhost:3000`。
## 配置 在项目根目录创建一个 `.env` 文件(Docker 会自动读取): ``` APP_SECRET_KEY=replace-this-secret APP_DEBUG=true APP_CORS_ALLOWED_ORIGINS=http://localhost:3000 DATABASE_URL=sqlite:///./app.db # 默认管理员凭据 DEFAULT_ADMIN_USERNAME=admin DEFAULT_ADMIN_PASSWORD=password123 DEFAULT_ADMIN_EMAIL=admin@abusebox.local DEFAULT_ADMIN_PHONE=11111111 # 可选:AbuseIPDB(在 https://www.abuseipdb.com/account/api 获取免费密钥) ABUSEIPDB_API_KEY= # 定时监控 SCHEDULER_ENABLED=false SCHEDULER_INTERVAL_MINUTES=360 # 邮件提醒(可选) SMTP_HOST= SMTP_PORT=587 SMTP_USERNAME= SMTP_PASSWORD= SMTP_FROM_EMAIL= SMTP_USE_TLS=true # Webhook 提醒(可选) WEBHOOK_URL= ``` | 变量 | 描述 | 是否必需 | |---|---|---| | `APP_SECRET_KEY` | JWT 签名密钥(在生产环境中请更改) | 是 | | `APP_DEBUG` | 启用调试模式 | 否 | | `DATABASE_URL` | 数据库连接字符串(默认为 SQLite) | 否 | | `ABUSEIPDB_API_KEY` | 启用 AbuseIPDB 信誉检查 | 否 | | `SCHEDULER_ENABLED` | 启用定期后台检查 | 否 | | `SCHEDULER_INTERVAL_MINUTES` | 检查间隔(以分钟为单位,默认:360) | 否 | | `SMTP_HOST` | 用于发送电子邮件警报的 SMTP 服务器 | 否 | | `WEBHOOK_URL` | 用于发送黑名单警报 POST 请求的 Webhook URL | 否 | 前端配置 (`frontend/.env`): | 变量 | 描述 | |---|---| | `VITE_BASE_URL` | 用于 Vite 代理的后端 URL(默认:`http://localhost:8100`) | ## API Endpoints 所有工具 endpoint 均为公开访问(无需身份验证): ``` GET /blacklist/quick-check/?hostname=example.com GET /tools/abuseipdb/?hostname=8.8.8.8 GET /tools/whois/?hostname=example.com GET /tools/dns/?hostname=example.com GET /tools/ssl/?hostname=example.com GET /tools/email-security/?hostname=example.com GET /tools/server-status/?hostname=example.com GET /tools/subnet/?cidr=192.168.1.0/24 GET /tools/bulk-check/?hostnames=example.com,8.8.8.8 GET /tools/export/blacklist/?hostname=example.com GET /tools/export/subnet/?cidr=192.168.1.0/24 POST /hostname/bulk/ # (auth required) POST /hostname/cidr-import/ # (auth required) POST /hostname/{id}/recheck/ # (auth required) ``` 启动后可查看完整的交互式文档: - **Swagger UI:** `http://localhost:8100/swagger/` - **ReDoc:** `http://localhost:8100/redoc/` ## 技术栈 | 层级 | 技术 | |---|---| | 后端 | FastAPI、SQLAlchemy、JWT (python-jose)、dnspython | | 前端 | React 18、Vite 6、Tailwind CSS、Mantine、Recharts | | 数据库 | SQLite(可通过 `DATABASE_URL` 替换) | | 部署 | Docker + Docker Compose | ## 项目结构 ``` abusebox/ ├── backend/ │ └── app/ │ ├── api/routers/ # auth, blacklist, hostname, tools │ ├── core/ # config, JWT security │ ├── db/ # SQLAlchemy session, seed data │ ├── models/ # ORM models │ ├── schemas/ # Pydantic schemas │ └── services/ # dnsbl, abuseipdb, whois, dns, ssl, │ # email security, subnet, export, │ # check runner, notifications, scheduler ├── frontend/ │ └── src/ │ ├── pages/ # Landing, Login, Assets, AssetDetail, │ │ # Dashboard, Check & Lookup tools │ ├── components/ # Reusable UI (shared: Skeleton, CopyButton, │ │ # TimeAgo, AutoRefresh, ErrorBoundary) │ ├── services/ # API client functions, auth, theme │ └── routes/ # React Router config ├── docker-compose.yml └── .env ``` ## 版本发布 | 版本 | 日期 | 亮点 | |---|---|---| | **v1.1.2** | 2026年3月26日 | 批量资产导入、CIDR 导入、自动刷新身份验证、持久化数据库、DNSBL 误报修复、社区错误修复 | | **v1.1.1** | 2026年3月25日 | UX 优化、响应式移动端布局、资产重新检查、代码分割、安全修复 | | **v1.1.0** | 2026年3月23日 | 资产管理、DNS/SSL/DMARC 工具、批量及子网检查、定时监控、深色模式、60+ DNSBL 提供商 | | **v1.0.1** | 2026年3月19日 | AbuseIPDB、WHOIS 查询、服务器状态检查器、安全强化 | | **v1.0.0** | 2026年3月2日 | 首次发布 — DNSBL 监控、控制面板、移除名单工作流 | 有关完整详情,请参阅 [CHANGELOG.md](CHANGELOG.md)。 ## 许可证 MIT — 详情请参阅 [LICENSE](LICENSE)。
**如果 AbuseBox 对您有帮助,请考虑给它点个 Star!** [![GitHub stars](https://img.shields.io/github/stars/bekkaze/abusebox?style=social)](https://github.com/bekkaze/abusebox/stargazers)
标签:DMARC验证, SSL证书监控, 域名监控, 威胁情报, 开发者工具, 自定义脚本, 自托管, 请求拦截, 逆向工具, 黑名单监控