HEX
Server: LiteSpeed
System: Linux php-prod-3.spaceapp.ru 5.15.0-151-generic #161-Ubuntu SMP Tue Jul 22 14:25:40 UTC 2025 x86_64
User: sarli3128 (1010)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: //usr/local/CyberCP/containerization/container.py
#!/usr/local/CyberCP/bin/python
import sys
sys.path.append('/usr/local/CyberCP')
import plogical.CyberCPLogFileWriter as logging
import argparse
from plogical.mailUtilities import mailUtilities
from serverStatus.serverStatusUtil import ServerStatusUtil


class Container:
    packages = ['talksho']
    users = ['5001']

    @staticmethod
    def listAll():
        try:
            counter = 0
            length = len(Container.users)
            for items in Container.users:
                if (counter + 1) == length:
                    print(items + ' ' + Container.packages[counter])
                else:
                    print(items + ' ' + Container.packages[counter] + ' ')
                counter = counter + 1

        except BaseException as msg:
            logging.CyberCPLogFileWriter.writeToFile(str(msg))

    @staticmethod
    def listPackages():
        try:
            counter = 0
            length = len(Container.users)
            for items in Container.packages:
                if (counter + 1) == length:
                    print(items)
                else:
                    print(items + '\n')
                counter = counter + 1

        except BaseException as msg:
            logging.CyberCPLogFileWriter.writeToFile(str(msg))

    @staticmethod
    def userIDPackage(user):
        try:
            counter = 0
            for items in Container.users:
                if items == user:
                    print(Container.packages[counter])
                    return
                counter = counter + 1
        except BaseException as msg:
            logging.CyberCPLogFileWriter.writeToFile(str(msg))

    @staticmethod
    def packageForUser(package):
        try:
            counter = 0
            for items in Container.packages:
                if items == package:
                    print(Container.users[counter])
                    return
                counter = counter + 1
        except BaseException as msg:
            logging.CyberCPLogFileWriter.writeToFile(str(msg))

    @staticmethod
    def submitContainerInstall():
        try:

            mailUtilities.checkHome()

            statusFile = open(ServerStatusUtil.lswsInstallStatusPath, 'w')

            logging.CyberCPLogFileWriter.statusWriter(ServerStatusUtil.lswsInstallStatusPath,
                                                      "Starting Packages Installation..\n", 1)

            command = 'sudo yum install -y libcgroup-tools'
            ServerStatusUtil.executioner(command, statusFile)

            command = 'sudo systemctl enable cgconfig'
            ServerStatusUtil.executioner(command, statusFile)

            command = 'sudo systemctl enable cgred'
            ServerStatusUtil.executioner(command, statusFile)

            logging.CyberCPLogFileWriter.statusWriter(ServerStatusUtil.lswsInstallStatusPath,
                                                      "Packages successfully installed.[200]\n", 1)

        except BaseException as msg:
            logging.CyberCPLogFileWriter.statusWriter(ServerStatusUtil.lswsInstallStatusPath, str(msg) + ' [404].', 1)

def main():

    parser = argparse.ArgumentParser(description='CyberPanel Container Manager')
    parser.add_argument('--userid', help='User ID')
    parser.add_argument('--package', help='Package')
    parser.add_argument('--function', help='Function')
    parser.add_argument('--list-all', help='List all users/packages.', action='store_true')
    parser.add_argument('--list-packages', help='List all packages.', action='store_true')


    args = vars(parser.parse_args())

    if args['userid']:
        Container.userIDPackage(args['userid'])
    elif args['package']:
        Container.packageForUser(args['package'])
    elif args['list_all']:
        Container.listAll()
    elif args['list_packages']:
        Container.listPackages()
    elif args['list_packages']:
        Container.listPackages()
    elif args["function"] == "submitContainerInstall":
        Container.submitContainerInstall()





if __name__ == "__main__":
    main()