$94 GRAYBYTE WORDPRESS FILE MANAGER $13

SERVER : premium201.web-hosting.com #1 SMP Wed Mar 26 12:08:09 UTC 2025
SERVER IP : 104.21.43.35 | ADMIN IP 216.73.216.180
OPTIONS : CRL = ON | WGT = ON | SDO = OFF | PKEX = OFF
DEACTIVATED : mail

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

HOME
Current File : /opt/imunify360/venv/lib/python3.11/site-packages/defence360agent/plugins//myimunify.py
import logging

from defence360agent.contracts.config import MyImunifyConfig
from defence360agent.contracts.messages import MessageType
from defence360agent.contracts.plugins import (
    MessageSink,
    MessageSource,
    expect,
)
from defence360agent.myimunify.model import update_users_protection
from defence360agent.subsys.panels import hosting_panel
from defence360agent.subsys.persistent_state import load_state, save_state

logger = logging.getLogger(__name__)


class MyImunifyPlugin(MessageSink, MessageSource):
    def __init__(self):
        self._previous_myimunify_status = (
            load_state("MyImunifyPlugin").get("myimunify_enabled")
            or MyImunifyConfig.ENABLED
        )
        self._loop = None
        self._sink = None

    async def shutdown(self):
        save_state(
            "MyImunifyPlugin",
            {"myimunify_enabled": self._previous_myimunify_status},
        )

    async def create_sink(self, loop):
        pass

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

    async def _update_myimunify_users(self):
        existing_users = await hosting_panel.HostingPanel().get_users()
        await update_users_protection(
            self._sink, existing_users, False, force_config_update=True
        )

    @expect(MessageType.ConfigUpdate)
    async def on_config_update(self, message: MessageType.ConfigUpdate):
        myimunify_enabled = MyImunifyConfig.ENABLED
        previous_status = self._previous_myimunify_status
        # We're also triggering additional MessageType.ConfigUpdate messages
        # so we must update previous_status before triggering new one
        self._previous_myimunify_status = myimunify_enabled
        if myimunify_enabled and not previous_status:
            await self._update_myimunify_users()

        if myimunify_enabled != previous_status:
            await hosting_panel.HostingPanel().switch_ui_config(
                myimunify_enabled=myimunify_enabled
            )


Current_dir [ NOT WRITEABLE ] Document_root [ NOT WRITEABLE ]


[ Back ]
NAME
SIZE
LAST TOUCH
USER
CAN-I?
FUNCTIONS
..
--
3 Mar 2026 8.45 AM
root / root
0755
__pycache__
--
3 Mar 2026 8.45 AM
root / root
0755
__init__.py
0 KB
23 Jan 2026 1.13 PM
root / root
0644
accumulate.py
3.633 KB
23 Jan 2026 1.13 PM
root / root
0644
analyst_cleanup_update.py
5.529 KB
23 Jan 2026 1.13 PM
root / root
0644
backup_info_sender.py
3.056 KB
23 Jan 2026 1.13 PM
root / root
0644
cagefs.py
5.168 KB
23 Jan 2026 1.13 PM
root / root
0644
checkpoint.py
1.228 KB
23 Jan 2026 1.13 PM
root / root
0644
client.py
10.597 KB
23 Jan 2026 1.13 PM
root / root
0644
config_merger.py
0.809 KB
23 Jan 2026 1.13 PM
root / root
0644
config_watcher.py
1.889 KB
23 Jan 2026 1.13 PM
root / root
0644
event_hook_executor.py
0.759 KB
23 Jan 2026 1.13 PM
root / root
0644
event_monitor.py
3.324 KB
23 Jan 2026 1.13 PM
root / root
0644
event_monitor_message_processor.py
6.329 KB
23 Jan 2026 1.13 PM
root / root
0644
files_recurring_update.py
1.095 KB
23 Jan 2026 1.13 PM
root / root
0644
icontact_sender.py
4.423 KB
23 Jan 2026 1.13 PM
root / root
0644
idle_time_out.py
1.21 KB
23 Jan 2026 1.13 PM
root / root
0644
lve_utils_install.py
1.577 KB
23 Jan 2026 1.13 PM
root / root
0644
myimunify.py
1.978 KB
23 Jan 2026 1.13 PM
root / root
0644
ping.py
0.523 KB
23 Jan 2026 1.13 PM
root / root
0644
send_domain_list.py
2.778 KB
23 Jan 2026 1.13 PM
root / root
0644
send_server_config.py
10.961 KB
23 Jan 2026 1.13 PM
root / root
0644

GRAYBYTE WORDPRESS FILE MANAGER @ 2025 CONTACT ME
Static GIF