parsedmarc-go - High-performance DMARC report analyzer
parsedmarc-go
is a high-performance Go application for parsing and analyzing DMARC reports with native ClickHouse storage and Grafana visualization.
It provides enterprise-grade DMARC report processing with superior performance and simplified deployment.
Key Features
- High Performance: Native Go implementation with concurrent processing
- Complete DMARC Support: Parses aggregate, forensic, and SMTP TLS reports
- Multiple Input Methods: File processing, IMAP client, and HTTP endpoint
- ClickHouse Native: Direct integration with ClickHouse for fast analytics
- Prometheus Metrics: Built-in metrics for comprehensive monitoring
- Simple Deployment: Single binary with no dependencies
- TLS Support: Secure IMAP and HTTP connections
- Rate Limiting: Built-in protection against abuse
Architecture
graph TD
A[Email Reports] -->|IMAP| B[parsedmarc-go]
C[HTTP Reports] -->|POST /dmarc/report| B
D[File Reports] -->|CLI| B
B --> E[ClickHouse Database]
B --> F[Prometheus Metrics]
E --> G[Grafana Dashboard]
F --> H[Monitoring Stack]
Quick Start
Binary Release
# Download latest release
curl -L -o parsedmarc-go https://github.com/ZenProjects/parsedmarc-go/releases/latest/download/parsedmarc-go-linux-amd64
chmod +x parsedmarc-go
# Run with config
./parsedmarc-go -daemon -config config.yaml
Docker
# Run with docker
docker run -d -p 8080:8080 \
-v $(pwd)/config.yaml:/app/config.yaml \
parsedmarc-go:latest
📚 Complete Documentation Guide
⚡ Quick Start (5 min)
Quick Installation → First Test
🚀 Getting Started
- 📦 Installation
- Binary installation, Docker, and building from source
- Prerequisites setup (Go, ClickHouse, MaxMind)
- Quick setup in 5 minutes
- ⚙️ Configuration
- Complete configuration file with examples
- Environment variables and CLI parameters
- IMAP, HTTP, ClickHouse, and monitoring configuration
🔧 Usage
- 💡 Usage Guide
- File and directory processing
- Daemon mode (IMAP + HTTP)
- Output formats and advanced options
- 🌐 HTTP API
- Report submission endpoints
- Email provider integrations
- Authentication and security
📊 Storage and Visualization
- 🗃️ ClickHouse
- Optimized database schema
- Analysis and reporting queries
- Performance and optimizations
- 📊 Grafana
- Dashboard installation and configuration
- Pre-configured visualizations
- Customization and alerting
📈 Production and Monitoring
- 📈 Monitoring
- Detailed Prometheus metrics
- Health checks and observability
- Alerting and surveillance
- 📧 Mailing Lists
- SMTP configuration for reports
- Integration with notification systems
📖 Reference
- 🔒 DMARC Standards
- Detailed RFC specifications
- Supported report formats
- Compatibility and extensions
- 🤝 Contributing
- Code contribution guide
- Development standards
- Testing and continuous integration