$65 GRAYBYTE WORDPRESS FILE MANAGER $18

SERVER : vnpttt-amd7f72-h1.vietnix.vn #1 SMP Fri May 24 12:42:50 UTC 2024
SERVER IP : 103.200.23.149 | ADMIN IP 216.73.216.22
OPTIONS : CRL = ON | WGT = ON | SDO = OFF | PKEX = OFF
DEACTIVATED : NONE

/opt/imunify360/venv/lib/python3.11/site-packages/im360/plugins/

HOME
Current File : /opt/imunify360/venv/lib/python3.11/site-packages/im360/plugins//startup_actions.py
import asyncio
import time
from logging import getLogger
from pathlib import Path

from defence360agent.contracts.config import Core, ConfigFile
from defence360agent.contracts.messages import MessageType
from defence360agent.contracts.plugins import MessageSink, MessageSource
from defence360agent.subsys.panels.hosting_panel import HostingPanel
from defence360agent.utils import create_task_and_log_exceptions, retry_on
from imav.malwarelib.subsys.malware import HackerTrapHitsSaver
from im360.subsys.modsec_cache_dir import create_modsec_cache_directory
from im360.subsys.whitelist_rbl import (
    create_rbl_whitelist,
    ensure_rbl_whitelist,
)


logger = getLogger(__name__)


class StartupActions(MessageSink, MessageSource):
    PANEL_NAME_PATH = Path(Core.GLOBAL_CONFDIR) / "panel-name.txt"
    RETRY_TIMEOUT = 5 * 60  # 5 minutes

    def _create_tasks(self):
        async def sleep_on_error(*_):
            await asyncio.sleep(self.RETRY_TIMEOUT)

        tasks = [
            create_task_and_log_exceptions(
                self._loop, HackerTrapHitsSaver.reset_sa_hits
            ),
            create_task_and_log_exceptions(
                self._loop, create_modsec_cache_directory
            ),
            create_task_and_log_exceptions(self._loop, create_rbl_whitelist),
            create_task_and_log_exceptions(self._loop, ensure_rbl_whitelist),
            create_task_and_log_exceptions(
                self._loop,
                retry_on(
                    Exception,
                    on_error=sleep_on_error,
                    max_tries=3,
                )(self.update_panel_name),
            ),
            create_task_and_log_exceptions(
                self._loop,
                self._check_config,
            ),
        ]
        return tasks

    async def create_sink(self, loop):
        pass

    async def _check_config(self):
        # notify about the update on start
        message = MessageType.ConfigUpdate(
            conf=ConfigFile(), timestamp=time.time()
        )
        await self._sink.process_message(message)

    async def create_source(self, loop, sink):
        self._loop = loop
        self._sink = sink
        self._tasks = self._create_tasks()

    async def update_panel_name(self):
        self.PANEL_NAME_PATH.write_text(HostingPanel().NAME)

    async def shutdown(self):
        for task in self._tasks:
            task.cancel()
        await asyncio.gather(*self._tasks, return_exceptions=True)

Current_dir [ NOT WRITEABLE ] Document_root [ WRITEABLE ]


[ Back ]
NAME
SIZE
LAST TOUCH
USER
CAN-I?
FUNCTIONS
..
--
16 Dec 2025 10.11 AM
root / root
0755
__pycache__
--
16 Dec 2025 10.11 AM
root / root
0755
__init__.py
0 KB
14 Nov 2025 6.19 PM
root / root
0644
cpanel_uploader.py
2.712 KB
14 Nov 2025 6.19 PM
root / root
0644
export_wblist.py
3.764 KB
14 Nov 2025 6.19 PM
root / root
0644
fgw.py
1.706 KB
14 Nov 2025 6.19 PM
root / root
0644
lfd.py
3.426 KB
14 Nov 2025 6.19 PM
root / root
0644
modsec_ruleset_checker.py
4.913 KB
14 Nov 2025 6.19 PM
root / root
0644
ossec_rules_checker.py
1.761 KB
14 Nov 2025 6.19 PM
root / root
0644
pam_manager.py
6.669 KB
14 Nov 2025 6.19 PM
root / root
0644
php_immunity.py
1.404 KB
14 Nov 2025 6.19 PM
root / root
0644
remoteip_install.py
1.028 KB
14 Nov 2025 6.19 PM
root / root
0644
repeater.py
1.159 KB
14 Nov 2025 6.19 PM
root / root
0644
send_server_config.py
4.428 KB
14 Nov 2025 6.19 PM
root / root
0644
service_manager.py
4.645 KB
14 Nov 2025 6.19 PM
root / root
0644
startup_actions.py
2.425 KB
14 Nov 2025 6.19 PM
root / root
0644
strategy_getter.py
2.02 KB
14 Nov 2025 6.19 PM
root / root
0644
waf_rules_configurator.py
2.476 KB
14 Nov 2025 6.19 PM
root / root
0644
whitelist_current_user.py
2.751 KB
14 Nov 2025 6.19 PM
root / root
0644

GRAYBYTE WORDPRESS FILE MANAGER @ 2026 CONTACT ME
Static GIF