Certstream server in Rust for real-time CT log streaming
Drop-in replacement for certstream-server and certstream-server-go. Stream certificates via WebSocket and SSE. Monitor 80+ Certificate Transparency logs with static-CT-API v1.0.0-rc.1 + RFC6962 support.
docker run -d -p 8080:8080 ghcr.io/reloading01/certstream-server-rust:latest
What you get
Built for security teams, researchers, and developers who need reliable CT monitoring
Multi-protocol streaming
WebSocket and SSE (Server-Sent Events). Pick the protocol that fits your stack. WebSocket for real-time clients, SSE for browsers and pipelines.
State persistence
Resume from last position after restart. No certificate loss during maintenance or updates. Configurable state file.
Connection limiting
Per-IP and total connection limits. Production-ready protection against abuse.
Token authentication
Bearer token based auth for API access control. Multiple tokens supported. Configurable header name.
Hot reload config
Config changes apply without restart. File watcher detects updates. Zero-downtime configuration.
CT log health
Automatic retry with exponential backoff. Circuit breaker for unhealthy logs. Configurable health thresholds.
Prometheus metrics
Built-in /metrics endpoint. Connection counts per protocol, message throughput, CT log health.
Performance
Parallel containers on the same Docker host, default config, 100 concurrent WebSocket clients, 10-minute plateau window (v1.5.0)
Rust uses ~3× less CPU than Go at the same load and a much tighter memory plateau (no GC pressure). Go's average steady RSS is closer than older benchmarks suggested; the dramatic v1.3-era gap has narrowed as the Go fork matured. The Elixir comparison was dropped — calidog/certstream-server doesn't publish a recent image, so any number we cited would be from an unverifiable reference. Reproduce these numbers locally with the scripts in soak/.
Support the project
I build this in my free time. Just using it, starring the repo, or sharing it with someone who needs it already means a lot — that's the kind of thing that keeps me going.
If you'd like to go a step further, you can sponsor me on GitHub. No pressure though — every form of support is appreciated.
certstream-server-rust