403Webshell
Server IP : 216.106.184.20  /  Your IP : 216.73.216.234
Web Server : LiteSpeed
System : Linux asmodeus.in-hell.com 5.14.0-570.58.1.el9_6.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Oct 29 06:24:11 EDT 2025 x86_64
User : sekoaid1 ( 1891)
PHP Version : 7.3.33
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /opt/imunify360/venv/lib/python3.11/site-packages/im360/plugins/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /opt/imunify360/venv/lib/python3.11/site-packages/im360/plugins/fgw.py
import contextlib
import logging
from typing import Generator

from defence360agent.api.server import send_message, FGWSendMessgeException
from defence360agent.contracts.config import Core
from defence360agent.contracts.plugins import MessageSink
from defence360agent.internals.global_scope import g
from defence360agent.plugins.client import SendToServerClient
from defence360agent.utils import Scope

logger = logging.getLogger(__name__)


class SendToServerFGW(SendToServerClient, MessageSink):
    SCOPE = Scope.IM360

    @contextlib.contextmanager
    def _get_api(
        self,
    ) -> Generator[send_message.FileBasedGatewayAPI, None, None]:
        api = send_message.FileBasedGatewayAPI(Core.VERSION)

        yield self._set_api_attrs(api)

    async def _send_pending_messages(self) -> None:
        if self._pending.empty():
            return None

        messages = self._pending.pop_all()
        logger.info("Sending %s messages", len(messages))
        with self._get_api() as api:
            try:
                if g.get("DEBUG"):
                    logger.info(
                        "Writing messages to gw folder: %s",
                        list((m[0], m[1][:40], len(m[1])) for m in messages),
                    )
                await api.send_messages(messages)
                if self._pending.qsize() > 0:
                    logger.info(
                        "Still need to send %s messages",
                        self._pending.qsize(),
                    )
            except FGWSendMessgeException:
                self._pending.put_many(messages)

                logger.warning(
                    "Unsuccessful to send %s messages",
                    self._pending.qsize(),
                )

Youez - 2016 - github.com/yon3zu
LinuXploit