!C99Shell v. 2.0 [PHP 7 Update] [25.02.2019]!

Software: Apache. PHP/7.3.33 

uname -a: Linux acloudg.aryanict.com 4.18.0-513.9.1.lve.el8.x86_64 #1 SMP Mon Dec 4 15:01:22 UTC
2023 x86_64
 

uid=1095(katebhospital) gid=1098(katebhospital) groups=1098(katebhospital) 

Safe-mode: OFF (not secure)

/lib/python3.6/site-packages/tracer/resources/   drwxr-xr-x
Free 302.99 GB of 429.69 GB (70.51%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     system.py (4.65 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
#-*- coding: utf-8 -*-
# system.py
# Module for getting data about your operating system
# Dont worry, only necessary data required for this application.
# Tracer *will not* store, collect or send your data anywhere.
#
# Copyright (C) 2016 Jakub Kadlcik
#
# This copyrighted material is made available to anyone wishing to use,
# modify, copy, or redistribute it subject to the terms and conditions of
# the GNU General Public License v.2, or (at your option) any later version.
# This program is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY expressed or implied, including the implied warranties of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
# Public License for more details.  You should have received a copy of the
# GNU General Public License along with this program; if not, write to the
# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
# 02110-1301, USA.
#

from __future__ import absolute_import

# WARNING: There are imports in package_manager()
import os
import pwd
import importlib
import distro
import psutil
from sys import version_info
from tracer.resources.PackageManager import PackageManager
from tracer.resources.processes import Process

class System(object):

    @staticmethod
    def distribution():
        """
        Checks if /etc/os-release exists, and if it does, uses it to divine the name of the distribution or
        distribution like. e.g It will return 'debian' on Ubuntu systems.
        Otherwise, revert to using distro.id()
        """
        if os.path.isfile("/etc/os-release"):
            with open("/etc/os-release") as os_release_file:
                os_release_data = {}
                distros = ["gentoo", "debian", "rhel", "centos", "ol", "mageia", "arch", "archarm", "fedora", "suse"]

                # Remove empty lines and trailing spaces
                lines = [line.rstrip() for line in os_release_file if line.rstrip()]
                for line in lines:
                        os_release_key, os_release_value = line.split("=")
                        os_release_data[os_release_key] = os_release_value.strip('"')
                if os_release_data["ID"] in distros:
                    # Special case since centos 7 has only yum, but centos-8 uses dnf
                    if os_release_data["ID"] == "centos" and os_release_data["VERSION_ID"] == 7:
                        return "centos-7"
                    return os_release_data["ID"]
                else:
                    if "ID_LIKE" in os_release_data:
                        for distribution in os_release_data["ID_LIKE"].split():
                            if distribution in distros:
                                return distribution
        else:
            return distro.id()

    @staticmethod
    def package_manager(**kwargs):
        """Returns instance of package manager according to installed linux distribution"""

        def get_instance(pair):
            # WARNING: Imports here
            path, name = pair
            module = importlib.import_module(path)
            return getattr(module, name)(**kwargs)

        managers = {
            "gentoo":  [("tracer.packageManagers.portage", "Portage")],
            "debian":  [("tracer.packageManagers.dpkg", "Dpkg")],
            "rhel":  [
                ("tracer.packageManagers.dnf", "Dnf"),
                ("tracer.packageManagers.yum", "Yum"),
            ],
            "centos":  [
                ("tracer.packageManagers.dnf", "Dnf"),
                ("tracer.packageManagers.yum", "Yum"),
            ],
            "centos-7":  [("tracer.packageManagers.yum", "Yum")],
            "ol":  [
                ("tracer.packageManagers.dnf", "Dnf"),
                ("tracer.packageManagers.yum", "Yum"),
            ],
            "mageia":  [("tracer.packageManagers.dnf", "Dnf")],
            "arch":    [("tracer.packageManagers.alpm", "Alpm")],
            "archarm": [("tracer.packageManagers.alpm", "Alpm")],
            "fedora":  [
                ("tracer.packageManagers.dnf", "Dnf"),
                ("tracer.packageManagers.yum", "Yum"),
            ],
            "suse":  [("tracer.packageManagers.dnf", "Dnf")],
        }

        distribution = System.distribution()
        if distribution not in managers:
            return None

        return PackageManager(*list(map(get_instance, managers[distribution])))

    @staticmethod
    def init_system():
        """
        Returns name of init system you are using
        e.g. init, systemd, upstart
        """

        init = Process(1)
        name = init.name().split(" ")[0]
        return name

    @staticmethod
    def boot_time():
        # psutil-2.x.x is not backward compatible to psutil-1.x.x
        try: return psutil.boot_time()
        except AttributeError: return psutil.get_boot_time()

    @staticmethod
    def python_version():
        return "{}.{}.{}".format(version_info.major, version_info.minor, version_info.micro)

    @staticmethod
    def running_kernel_package():
        return System.package_manager().find_package(System.kernel_package_name(), os.uname()[2])

    @staticmethod
    def kernel_package_name():
        """ TODO: infer kernel package from current distribution """
        return 'kernel'

    @staticmethod
    def user():
        # getlogin is preferred because it return current username even
        # if python process is executed with sudo
        try: return os.getlogin()
        except OSError: return pwd.getpwuid(os.getuid())[0]

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ Read-Only ]

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

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

--[ c99shell v. 2.0 [PHP 7 Update] [25.02.2019] maintained by KaizenLouie | C99Shell Github | Generation time: 0.0037 ]--