Files
logmon/backends/base.py
Mateusz Gruszczyński 7b41672d05 upload
2025-10-28 21:27:10 +01:00

64 lines
1.5 KiB
Python

"""
Bazowa klasa dla backendów firewall
"""
import logging
class FirewallBackend:
"""Bazowa klasa dla backendów firewall"""
def __init__(self, config):
"""
Args:
config: ConfigParser object z konfiguracją
"""
self.config = config
self.logger = logging.getLogger(self.__class__.__name__)
def ban_ip(self, ip, duration):
"""
Banuje IP na określony czas
Args:
ip: Adres IP do zbanowania
duration: Czas bana w sekundach
Returns:
bool: True jeśli ban się powiódł
"""
raise NotImplementedError("Subclasses must implement ban_ip()")
def unban_ip(self, ip):
"""
Usuwa ban dla IP
Args:
ip: Adres IP do odbanowania
Returns:
bool: True jeśli odbanowanie się powiodło
"""
raise NotImplementedError("Subclasses must implement unban_ip()")
def is_banned(self, ip):
"""
Sprawdza czy IP jest zbanowany
Args:
ip: Adres IP do sprawdzenia
Returns:
bool: True jeśli IP jest zbanowany
"""
raise NotImplementedError("Subclasses must implement is_banned()")
def test_availability(self):
"""
Sprawdza czy backend jest dostępny w systemie
Returns:
bool: True jeśli backend jest dostępny
"""
return True