Skip to content

Add comprehensive documentation, examples, and new DNSBL providers#6

Merged
mclueppers merged 1 commit intomainfrom
feature/5-add-missing-examples-and-docs
Jan 14, 2026
Merged

Add comprehensive documentation, examples, and new DNSBL providers#6
mclueppers merged 1 commit intomainfrom
feature/5-add-missing-examples-and-docs

Conversation

@mclueppers
Copy link
Contributor

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

Closes #5

@github-actions github-actions bot added the enhancement New feature or request label Jan 14, 2026
@mclueppers mclueppers requested a review from Copilot January 14, 2026 14:24
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Comment on lines 68 to 112
**Single table (simpler but less granular):**
```haproxy
backend st_dnsbl # Shared for all
# Last lookup result wins in cache
```
Copy link

Copilot AI Jan 14, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Copilot uses AI. Check for mistakes.
@mclueppers mclueppers force-pushed the feature/5-add-missing-examples-and-docs branch from 265d533 to 928cd8d Compare January 14, 2026 14:36
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
@mclueppers mclueppers force-pushed the feature/5-add-missing-examples-and-docs branch from 928cd8d to f5ff1b3 Compare January 14, 2026 14:41
@mclueppers mclueppers merged commit 5002bb8 into main Jan 14, 2026
1 check passed
@mclueppers mclueppers deleted the feature/5-add-missing-examples-and-docs branch January 14, 2026 14:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Missing example mentioned in the README.md

1 participant