- Middleware: TrackSuspiciousIps (403 block + 404 logging)
- Parser strategies: nginx-combined, apache-common, apache-combined
- Commands: ip:parse-log (incremental log parsing), ip:block (analyze + block)
- Services: LogParser, IpAnalyzer, DenyGenerator (nginx/Apache), ReportService
- Models: BlockedIp, SuspiciousRequest
- MoonShine: optional BlockedIpResource (index + detail pages)
- Mail: DailyReportMail with Blade template
- Config: full ip-blocker.php with env overrides
- Docs: installation, configuration, usage, logging, testing
- Tests: 10 test files (unit + integration via Orchestra Testbench)
- Support: Laravel 10-13, PHP 8.1+, nginx + Apache