Edit File: webshield_mode.py
from enum import StrEnum, unique from pathlib import Path from im360.utils import is_apache2nginx_enabled _CONF_PATH = Path("/usr/share/imunify360-webshield/modularity_mode") @unique class Mode(StrEnum): STANDALONE = "standalone" APACHE = "apache" NGINX = "nginx" @classmethod def get(cls): try: mode = _CONF_PATH.read_text().strip() if mode == "apache": return cls.APACHE if mode == "nginx": return cls.NGINX if mode == "standalone": return cls.STANDALONE raise TypeError(f"Unknown mode: {mode}") except FileNotFoundError: return cls.STANDALONE @classmethod def wants_redirect(cls, mode) -> bool: return ( mode in (cls.STANDALONE, cls.APACHE) or is_apache2nginx_enabled() ) def get_module_based_ports() -> set[int]: # For now - hardcoded values. In the future maybe remake to a config file. return {80, 443}