Add comprehensive documentation, examples, and new DNSBL providers#6
Conversation
There was a problem hiding this comment.
Pull request overview
This is a comprehensive enhancement PR that adds extensive documentation, multiple configuration examples, support for additional DNSBL providers, and a configurable track-sc index feature. The PR successfully addresses issue #5 by adding the missing examples folder and goes well beyond that with complete documentation and Docker test environment.
Changes:
- Added support for .exitlist.torproject.org and Spamhaus domains (sbl, xbl, pbl, zen)
- Implemented configurable track-sc index (sc0, sc1, sc2) for flexible stick-table usage
- Added comprehensive documentation covering architecture, API, configuration, and troubleshooting
- Created multiple example configurations (basic, behind-proxy, multi-dnsbl, Docker, logging)
Reviewed changes
Copilot reviewed 23 out of 23 changed files in this pull request and generated 7 comments.
Show a summary per file
| File | Description |
|---|---|
| src/dnsbl.lua | Added new DNSBL provider support, sc_index parameter, improved error messages, X-DNSBL-Zone/Description headers |
| examples/multi-dnsbl/ | Multi-provider configuration examples with separate stick-tables |
| examples/logging/ | Log format examples for monitoring DNSBL activity |
| examples/docker/ | Complete Docker test environment with HAProxy, nginx backend, and HTML test page |
| examples/behind-proxy/ | Configurations for X-Forwarded-For, X-Real-IP, CF-Connecting-IP headers |
| examples/basic/ | Minimal working configuration |
| docs/ | Complete documentation suite (architecture, API, configuration, DNSBL concepts, HTTP headers, troubleshooting) |
| README.md | Updated with new features, usage examples, and changelog |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| **Single table (simpler but less granular):** | ||
| ```haproxy | ||
| backend st_dnsbl # Shared for all | ||
| # Last lookup result wins in cache | ||
| ``` |
There was a problem hiding this comment.
The documentation shows the overwrite behavior ("Last lookup result wins in cache") but doesn't mention that when using multiple track-sc indices with different tables, you need to pass the corresponding sc_index parameter to dnsbl_query. This is a critical detail that users need to understand to properly implement multi-DNSBL configurations.
265d533 to
928cd8d
Compare
Documentation (docs/): - Architecture overview with flow diagrams - Complete API reference for all functions - Configuration guide with step-by-step setup - DNSBL conceptual explanation - HTTP headers reference - Troubleshooting guide Examples (examples/): - Basic configuration - Behind-proxy setup (X-Forwarded-For, Cloudflare) - Multiple DNSBL providers - Docker test environment - Logging configurations New Features (v0.4.0): - Add support for .exitlist.torproject.org domain - Add support for Spamhaus domains (sbl, xbl, pbl, zen) - Add configurable track-sc index (sc0, sc1, sc2) - Add X-DNSBL-Zone and X-DNSBL-Description headers - Add explicit error messages for unsupported stick-table types
928cd8d to
f5ff1b3
Compare
Documentation (docs/):
Examples (examples/):
New Features (v0.4.0):
Closes #5