MOON
Server: Apache
System: Linux server30c.hostingraja.org 3.10.0-962.3.2.lve1.5.63.el7.x86_64 #1 SMP Fri Oct 8 12:03:35 UTC 2021 x86_64
User: jibhires (1887)
PHP: 8.1.30
Disabled: show_source, system, shell_exec, passthru, exec, popen, proc_open, allow_url_fopen, symlink, escapeshellcmd, pcntl_exec
Upload Files
File: //opt/imunify360/venv/lib/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")