CIDR Filtering¶
Usage¶
from drogue.protection.cidr import CIDRFilter
filter = CIDRFilter()
# Add rules
filter.add("192.168.0.0/16", "allow")
filter.add("10.0.0.0/8", "allow")
filter.add("185.220.101.0/24", "block")
filter.add("2001:db8::/32", "allow")
# Check
action = filter.evaluate("192.168.1.100") # "allow"
action = filter.evaluate("8.8.8.8") # None (no match)
Load from file¶
blocked_ips.txt:
Load from YAML¶
Configuration¶
from drogue.core.config import DrogueConfig
config = DrogueConfig(
cidr_enabled=True,
cidr_rules_file="cidr_config.yaml",
)