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.
This commit is contained in:
1 parent
41230ce04c
commit
9f8ab0f61c
102 files changed
+1102652
-268
No files matched your search
+4
-4
@@ -13,7 +13,7 @@ import paramiko
|
||||
from datetime import datetime
|
||||
import shlex
|
||||
from typing import Iterable
|
||||
from .constants import (
|
||||
from .utils.constants import (
|
||||
BLOCKLIST_NAME,
|
||||
MIKROTIK_DATA_DIR,
|
||||
REPORT_DIR,
|
||||
@@ -24,8 +24,9 @@ from .constants import (
|
||||
SSH_TIMEOUT,
|
||||
WHITELIST_NAMES,
|
||||
)
|
||||
from .files import write_lines
|
||||
from .ip_utils import is_whitelisted
|
||||
from .utils.files import write_lines
|
||||
from .utils.ip_utils import is_whitelisted
|
||||
from .utils.blocklist_history import compute_changes, cumulative_blocklist
|
||||
|
||||
|
||||
class MikrotikFirewall:
|
||||
@@ -190,7 +191,6 @@ class MikrotikFirewall:
|
||||
Only router entries absent from the complete set — i.e. never blocked
|
||||
by the system — are pruned. See ``app.blocklist_history``.
|
||||
"""
|
||||
from .blocklist_history import compute_changes, cumulative_blocklist
|
||||
|
||||
desired_ipv4 = set(blocked_ipv4)
|
||||
desired_ipv6 = set(blocked_ipv6)
|
||||
|
||||
Reference in new issue
Block a user