!C99Shell v. 2.5 [PHP 8 Update] [24.05.2025]!

Software: Apache. PHP/8.1.30 

uname -a: Linux server1.tuhinhossain.com 5.15.0-151-generic #161-Ubuntu SMP Tue Jul 22 14:25:40 UTC
2025 x86_64
 

uid=1002(picotech) gid=1003(picotech) groups=1003(picotech),0(root)  

Safe-mode: OFF (not secure)

/usr/lib/python3/dist-packages/uaclient/api/   drwxr-xr-x
Free 28.57 GB of 117.98 GB (24.22%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Self remove    Logout    


Viewing file:     __init__.py (2.26 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
import abc
import logging
from typing import Optional

# setup null handler for all API endpoints
logging.getLogger("ubuntupro").addHandler(logging.NullHandler())


class AbstractProgress(metaclass=abc.ABCMeta):
    @abc.abstractmethod
    def progress(
        self,
        *,
        total_steps: int,
        done_steps: int,
        previous_step_message: Optional[str],
        current_step_message: Optional[str]
    ):
        pass


class NullProgress(AbstractProgress):
    def progress(
        self,
        *,
        total_steps: int,
        done_steps: int,
        previous_step_message: Optional[str],
        current_step_message: Optional[str]
    ):
        pass


class ProgressWrapper:
    def __init__(self, progress_object: Optional[AbstractProgress] = None):
        if progress_object is not None:
            self.progress_object = progress_object
        else:
            self.progress_object = NullProgress()
        self.done_steps = 0
        self.total_steps = -1
        self.previous_step_message = None  # type: Optional[str]

    def progress(self, message: str):
        self.progress_object.progress(
            total_steps=self.total_steps,
            done_steps=self.done_steps,
            previous_step_message=self.previous_step_message,
            current_step_message=message,
        )
        self.previous_step_message = message
        self.done_steps += 1

    def finish(self):
        self.done_steps = self.total_steps
        self.progress_object.progress(
            total_steps=self.total_steps,
            done_steps=self.done_steps,
            previous_step_message=self.previous_step_message,
            current_step_message=None,
        )

    def emit(self, event: str, payload=None):
        """
        This is our secret event system. We use it internally to insert prompts
        and extra messages in the middle of operations at certain points.
        We don't consider this stable enough to expose to the public API.
        """
        if hasattr(self.progress_object, "_on_event"):
            self.progress_object._on_event(event, payload)

    def is_interactive(self) -> bool:
        if hasattr(self.progress_object, "is_interactive"):
            return self.progress_object.is_interactive
        else:
            return False

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ Read-Only ]

:: Make Dir ::
 
[ Read-Only ]
:: Make File ::
 
[ Read-Only ]

:: Go Dir ::
 
:: Go File ::
 

--[ c99shell v. 2.5 [PHP 8 Update] [24.05.2025] | Generation time: 0.0037 ]--