Releases: stef-k/Offenders
Releases · stef-k/Offenders
Release list
Offenders v0.4.0
- Add manual
n Enforcementverification for stock-compatible nftables, iptables and UFW actions, with batched read-only evidence and race-safe checks. - Improve Coverage with independent 7d/24h windows, suppressed-decision explanations, clearer configuration permission limits and candidate-only validation.
- Make footer actions, keyboard routing and Help contextual.
- Read GeoIP only from app-managed atomic
currentgenerations, with simpler health and status reporting. - Add
--help/-hand--version/-Vwithout acquisition. - Omit uncollected Jail Detail fields while preserving CSV compatibility.
Offenders v0.3.1
- Harden empty, invalid and stale TUI selections/result-dependent actions.
- Fix the production Coverage empty-highlight crash.
- Prevent invalid selections from triggering wrong navigation, validation or copy actions.
Offenders v0.3.0
- Add spreadsheet-safe CSV report bundles through TUI
e Exportand headlessoffenders export. - Add global contextual
? Helpwith a scrollable mini-manual, current CLI guidance, and version/project links. - Harden timestamp parsing on Python 3.14 to reject malformed wall-clock values while preserving valid fractions and dates.
- Refresh investigation/diagnostics positioning, discovery metadata, and the current dashboard screenshot using synthetic documentation data.
Offenders v0.2.1
- Background activity now appears in a compact ⏳ footer across Offenders screens and command-output modals. Fast work stays visible for about 500 ms without delaying results; overlapping work and narrow terminals are handled consistently.
- Distribution metadata now includes canonical PyPI and Documentation links for the first time, alongside refreshed README badges and documentation links.
v0.2.0
What's new
- Added application-wide background activity feedback, including pending report periods, GeoIP work, and lookup progress while preserving last-known-good data.
- Registration (RDAP) and RDNS (PTR) are now self-contained Python features installed with Offenders; separate WHOIS/DNS lookup utilities are no longer required.
v0.1.0
Offenders v0.1.0
First public release of Offenders, a Linux terminal dashboard for investigating Fail2Ban history, live jail state, offenders, and coverage.
Highlights
- Textual-based terminal dashboard for Fail2Ban.
- Rolling history periods:
1h,24h,7d,30d, andall. - IP, ASN, and Country summaries with filtering and drill-down.
- Jail detail views with live status, current bans, settings, and historical events.
- IP inspector with per-jail history and current membership.
- Explicit on-demand WHOIS and reverse-DNS lookups.
- Optional local Country/ASN enrichment using DB-IP Lite.
- User-owned, rootless GeoIP lifecycle with manual updates and opt-in automatic updates.
- Manual Coverage analysis for supported services and Fail2Ban sources.
- Evidence-based recommendations and explicit
fail2ban-regexvalidation. - Fixed Nginx/Apache custom filter candidates for supported coverage gaps.
Safety model
Offenders is read-only with respect to Fail2Ban configuration and bans.
It does not install or enable jails, reload Fail2Ban, or ban/unban addresses.
Coverage recommendations and generated candidates are review-only and copy-only.
The only normal persistent application-owned changes are optional GeoIP data and
update-policy state under the user's XDG data directory.
Requirements
- Ubuntu 24.04 baseline
- Python 3.12+
- Fail2Ban 1.0.2+
Installation
pipx install offenders
offenders
Full installation, permissions, GeoIP, Coverage, and troubleshooting documentation:
https://stef-k.github.io/Offenders/