The blocklist import service targets a dedicated jail called 'blocklist-import' (BLOCKLIST_JAIL constant in blocklist_service.py), but that jail was never defined in the dev fail2ban configuration. Every import attempt immediately failed with UnknownJailException. Add Docker/fail2ban-dev-config/fail2ban/jail.d/blocklist-import.conf: a manual-ban jail with no log-based detection that accepts banip commands only, using iptables-allports with a 1-week bantime. Also track the new file in .gitignore (whitelist) and fix a pre-existing blank-line-with-whitespace lint error in setup_service.py.
1.1 KiB
1.1 KiB
BanGUI — Task List
This document breaks the entire BanGUI project into development stages, ordered so that each stage builds on the previous one. Every task is described in prose with enough detail for a developer to begin work. References point to the relevant documentation.
✅ fix: blocklist import — Jail not found (DONE)
Problem: Triggering a blocklist import failed with Jail not found: 'blocklist-import' because
the dedicated fail2ban jail did not exist in the dev configuration.
Root cause: Docker/fail2ban-dev-config/fail2ban/jail.d/ had no blocklist-import.conf jail.
The service code (blocklist_service.BLOCKLIST_JAIL = "blocklist-import") is correct, but the
matching jail was never defined.
Fix:
- Added
Docker/fail2ban-dev-config/fail2ban/jail.d/blocklist-import.conf— a manual-ban jail (no log monitoring; acceptsbanipcommands only; 1-week bantime;iptables-allportsaction). - Fixed pre-existing trailing-whitespace lint issue in
app/services/setup_service.py.
Verification: All 19 blocklist service tests pass. ruff check and mypy --strict are clean.