Commit Graph
11 Commits
Author SHA1 Message Date
zwitschi 9f8ab0f61c feat: add WHOIS subnet querying and IP consolidation utility
- Implemented a new utility for querying WHOIS information and consolidating IP addresses by subnet.
- Added caching mechanism for WHOIS responses to improve performance.
- Introduced functions for loading and saving the WHOIS cache, querying subnets, and consolidating IPs based on a threshold.

feat: create Flask web UI for intrusion detection system

- Developed a Flask web application to manage the intrusion detection system.
- Implemented routes for scanning, reports, blocklist management, and firewall configuration.
- Added helper functions for reading files and handling requests.

feat: define routes for web UI

- Registered routes for various web pages and API endpoints in the Flask application.
- Implemented functionality for scanning, reporting, blocklist management, and firewall state retrieval.

feat: implement background scan runner for web UI

- Created a background scan runner to handle scan jobs in a separate thread.
- Managed an in-memory job store for tracking scan jobs and their statuses.
- Added persistence for scan jobs to maintain state across application restarts.

chore: update start script for Flask application

- Enhanced the PowerShell start script to check for the existence of the virtual environment.
- Added comments and structured the script for better readability and usability.
2026-08-08 14:33:51 +02:00
zwitschi 80a67635de feat: write timestamped blocklist change reports on firewall sync 2026-08-06 14:31:15 +02:00
zwitschi 894a2eec33 feat: make MikroTik blocklist cumulative via git history 2026-08-06 13:21:02 +02:00
zwitschi 94f62ae591 feat: add IPv4 address space graph with interactive tooltip 2026-08-06 11:45:24 +02:00
zwitschi 51f57f7a04 feat: add incremental log scanning with resumable byte offsets
Track last processed byte offset per log file so scans only read new
entries, add --full flag to force a rescan, and persist state atomically.
2026-08-05 21:41:00 +02:00
zwitschi f5abaaf7e5 fix: minimize spacing on blocklist display page 2026-08-05 20:52:35 +02:00
zwitschi 0a28865518 fix: allow el() to omit attributes when first child is a node or array 2026-08-05 20:44:22 +02:00
zwitschi 4ef6892916 feat: add localhost web UI for scans, blocklist, and firewall management 2026-08-05 20:34:34 +02:00
zwitschi 28c77691bb feat: write consolidated blocklists and mirror git-diffable router state
- Add `write_blocklist_files()` to emit final IPv4/IPv6 blocklists to `reports/app/data/`
- Add `APP_REPORT_DIR` / `APP_REPORT_DATA_DIR` constants for consolidated outputs
- Write firewall state snapshots to `data/mikrotik/` for git diff auditing
- Capture router state before scanning; fall back to scan-only if router is unreachable
- Use `split_cidr_versions` for CIDR-aware subnet splitting
- Update README with output layout and git-diffable state notes
2026-08-05 19:44:09 +02:00
zwitschi eea5ef6885 Add centralized constants module and .env configuration support 2026-08-05 19:33:12 +02:00
zwitschi f78faf8f8a Restructure sources into app package with unified entry point and update documentation 2026-08-04 22:23:59 +02:00