ok
Direktori : /opt/imunify360/venv/lib64/python3.11/site-packages/im360/subsys/panels/generic/ |
Current File : //opt/imunify360/venv/lib64/python3.11/site-packages/im360/subsys/panels/generic/panel.py |
from typing import Optional, Set, Sequence from defence360agent.api.integration_conf import IntegrationConfig from defence360agent.subsys.panels.generic import GenericPanel as Base from defence360agent.subsys.panels.generic.panel import ( get_integration_data, get_domain_data, ) from im360.subsys.panels.base import PanelInterface from .mod_security import GenericPanelModSecurity class GenericPanel( Base, PanelInterface, # Remote IP should be installed/removed by admin, manually. # GenericRemoteIPInterface, GenericPanelModSecurity, ): pure_ftp_conf_cls = None async def _get_all_admin_emails(self) -> list: # Used only as a suggestion in UI for the ADMIN_CONTACTS.emails # same as https://docs.cloudlinux.com/control_panel_integration/#admins admins = await get_integration_data("admins") for admin in admins: if admin["is_main"] and admin.get("email"): return [admin["email"]] return [] def http_ports(self) -> Set[int]: # Not needed since there is no WebShield, graylist, CAPTCHA return set() def https_ports(self) -> Set[int]: # Not needed since there is no WebShield, graylist, CAPTCHA return set() def remoteip_supported(self) -> bool: # Used to decide whether HostingPanel interface should be used for # installation, removal, and configuration of mod_remoteip. # Not needed since we will require it to be installed and configured. return False async def get_web_server(self) -> Optional[str]: return IntegrationConfig.get("web_server", "server_type")