automathematical/dmarc-parser
GitHub: automathematical/dmarc-parser
一款纯浏览器端的DMARC聚合报告分析工具,无需后端即可解析XML/ZIP文件并可视化邮件认证状态。
Stars: 1 | Forks: 0
# DMARC 报告分析器

一款纯浏览器端的 DMARC 聚合(rua)XML 报告检查工具。无后端,数据不离开您的设备。




## 功能
- **上传** — 拖放或一次性选择多个 `.xml` 和 `.zip` 文件;ZIP 在浏览器内解压(无需服务器)
- **汇总仪表板** — 邮件总数、带进度条的通过率、日期范围、唯一 IP 数、报告者数量
- **发送基础设施检测** — 从 DKIM 选择器推断发送方(Google Workspace、Amazon SES、Resend、Brevo、Postmark、Mailgun、HubSpot 等)
- **记录表格** — 可按任意列排序,可按结果/报告者/全文搜索筛选,支持分页
- **行颜色编码** — 绿色代表完全通过,黄色代表部分通过,红色代表任何失败或非 `none` 的处置策略
- **失败详情面板** — 针对每条失败记录的完整 `auth_results` 细分,包括 DKIM 选择器、SPF 范围和应用的策略
## 快速开始
```
npm install
npm run dev
```
打开 [http://localhost:3000](http://localhost:3000)。
## 技术栈
| 层级 | 选择 |
|---|---|
| 框架 | Next.js 16 (App Router) |
| 语言 | TypeScript |
| 样式 | Tailwind CSS v4 |
| ZIP 解压 | 原生 `DecompressionStream` API |
| XML 解析 | 原生 `DOMParser` |
| 依赖 | 除 Next.js 外无其他依赖 |
## 项目结构
```
src/
├── app/ # Next.js App Router
├── components/
│ ├── ui/ # DropZone, StatCard, Badge, Toast
│ └── features/ # Analyser, SummaryDashboard, RecordsTable, FailurePanel
└── lib/
├── parse.ts # XML parser + provider/infra detection
├── zip.ts # In-browser ZIP reader
└── types.ts # Shared TypeScript types
```
## 隐私
所有解析均在浏览器中进行。任何 XML 内容、IP 地址或报告数据都不会被发送到服务器。
## 许可证
MIT
标签:App Router, DKIM 验证, DMARC 分析器, DNS枚举, SPF 验证, Tailwind CSS, TypeScript, XML 解析, ZIP 解压, 发送基础设施, 域名安全, 安全插件, 报告解析, 拖拽上传, 无后端, 浏览器端, 离线工具, 网络安全工具, 自动化攻击, 邮件安全, 钓鱼防护, 隐私计算