Linux evo.fastest-server.com 5.14.0-284.1101.el9.tuxcare.11.els11.x86_64 #1 SMP PREEMPT_DYNAMIC Fri Aug 14 13:30:35 UTC 2026 x86_64
LiteSpeed
Server IP : 103.249.112.113 & Your IP : 216.73.217.135
Domains : 988 Domain
User : tanishks
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Readme
/
usr /
share /
l.v.e-manager /
utils /
Delete
Unzip
Name
Size
Permission
Date
Action
__pycache__
[ DIR ]
drwxr-xr-x
2026-09-04 11:50
downgrades
[ DIR ]
drwxr-xr-x
2026-09-04 11:42
activate
2.3
KB
-rwxr-xr-x
2026-08-11 11:38
autorestore.py
11.18
KB
-rwxr-xr-x
2026-08-11 11:38
cache_phpdata.py
7.27
KB
-rwxr-xr-x
2026-08-11 11:38
cache_rubygems.py
1.42
KB
-rwxr-xr-x
2026-08-11 11:38
clinfo.php
216
B
-rw-r--r--
2026-08-11 11:38
cloudlinux-awp-installer.py
5.29
KB
-rwxr-xr-x
2026-08-11 11:38
cloudlinux-cli-user.py
491
B
-rwxr-xr-x
2026-08-11 11:38
cloudlinux-cli.py
490
B
-rwxr-xr-x
2026-08-11 11:38
cloudlinux-selector.py
654
B
-rwxr-xr-x
2026-08-11 11:38
cloudlinux-xray.py
807
B
-rwxr-xr-x
2026-08-11 11:38
cloudlinux_cli.py
48.11
KB
-rw-r--r--
2026-08-11 11:38
cloudlinux_cli_user.py
19.98
KB
-rw-r--r--
2026-08-11 11:38
cpanel_api.py
11.39
KB
-rw-r--r--
2026-08-11 11:38
create_translate_template.py
505
B
-rwxr-xr-x
2026-08-11 11:38
delete-isp-plugin.sh
318
B
-rwxr-xr-x
2026-08-11 11:38
dynamicui.py
4.53
KB
-rwxr-xr-x
2026-08-11 11:38
dynamicui_base.py
565
B
-rw-r--r--
2026-08-11 11:38
dynamicui_cpanel.py
3.05
KB
-rw-r--r--
2026-08-11 11:38
dynamicui_da.py
2.44
KB
-rw-r--r--
2026-08-11 11:38
dynamicui_plesk.py
1.25
KB
-rw-r--r--
2026-08-11 11:38
fix-nodejs-environments.py
3.59
KB
-rwxr-xr-x
2026-08-11 11:38
generate_locale_files_for_plesk.py
2.97
KB
-rwxr-xr-x
2026-08-11 11:38
install-cpanel-plugin.sh
1.38
KB
-rwxr-xr-x
2026-08-11 11:38
install-plesk-plugin.sh
1.8
KB
-rwxr-xr-x
2026-08-11 11:38
installsupergrp.sh
991
B
-rwxr-xr-x
2026-08-11 11:38
libcagefs.py
7.61
KB
-rw-r--r--
2026-08-11 11:38
libcloudlinux.py
38.66
KB
-rw-r--r--
2026-08-11 11:38
libsupport.py
2.45
KB
-rw-r--r--
2026-08-11 11:38
node_wrapper
272
B
-rwxr-xr-x
2026-08-11 11:38
npm_wrapper
1.69
KB
-rwxr-xr-x
2026-08-11 11:38
plesk-cgi.sh
3.15
KB
-rwxr-xr-x
2026-08-11 11:38
plesk_nginx_php_sync.py
5.87
KB
-rw-r--r--
2026-08-11 11:38
python_wrapper
572
B
-rwxr-xr-x
2026-08-11 11:38
set_env_vars.py
4.57
KB
-rwxr-xr-x
2026-08-11 11:38
sync_locales.py
2.97
KB
-rwxr-xr-x
2026-08-11 11:38
ui_package_installer.py
4.93
KB
-rw-r--r--
2026-08-11 11:38
Save
Rename
#!/opt/cloudlinux/venv/bin/python3 -sbb # coding:utf-8 # Copyright © Cloud Linux GmbH & Cloud Linux Software, Inc 2010-2023 All Rights Reserved # # Licensed under CLOUD LINUX LICENSE AGREEMENT # http://cloudlinux.com/docs/LICENSE.TXT from __future__ import absolute_import from __future__ import division from __future__ import print_function import os import re import sys import json import time import getopt import subprocess from enum import Enum from clcommon.utils import is_nginx_running, is_ubuntu class State(Enum): INSTALLED = 'installed' INSTALLING = 'installing' NOT_INSTALLED = 'not_installed' # Conservative RPM/DEB package-name shape: leading alnum, then alnums, # dot, plus, underscore, dash. PACKAGE_NAME is interpolated into # shell strings dispatched via /bin/bash -c (yum install / ps aux | grep); # any character outside this set could be interpreted by bash. _PACKAGE_NAME_RE = re.compile(r'^[A-Za-z0-9][A-Za-z0-9._+-]*$') class UIPackageInstaller: def __init__(self, package_name, package_path, error_log_path): if not isinstance(package_name, str) or not _PACKAGE_NAME_RE.match(package_name): raise ValueError('invalid package_name: {!r}'.format(package_name)) self.PACKAGE_NAME = package_name self.PACKAGE_PATH = package_path self.PACKAGE_INSTALL_ERROR_LOG = error_log_path def install(self): """Initiates the installation process based on the OS type.""" if is_ubuntu(): self._install_package_apt() else: self._install_package_yum() return State.INSTALLING def _run_command(self, command): """Executes the given command and logs any output.""" with open(self.PACKAGE_INSTALL_ERROR_LOG, 'w') as logger: try: subprocess.Popen(command, stdin=open(os.devnull, 'w'), stdout=logger, stderr=logger, shell=True, executable='/bin/bash') except Exception as e: logger.write(str(e)) def _install_package_yum(self): """Installs the package using YUM.""" command = 'yum install -y {}'.format(self.PACKAGE_NAME) self._run_command(command) return State.INSTALLING def _install_package_apt(self): """Installs the package using APT.""" command = 'apt-get update -y && apt-get install -y {}'.format(self.PACKAGE_NAME) self._run_command(command) return State.INSTALLING def check_installed(self): """Checks if the package is installed, installing, or not installed.""" if self._check_status() == State.INSTALLING: return State.INSTALLING else: return State.INSTALLED if os.path.exists(self.PACKAGE_PATH) else State.NOT_INSTALLED def _check_status(self): """Checks the installation status based on the OS type.""" commands = [] if is_ubuntu(): commands = [ '/bin/ps aux | grep "[a]pt-get install -y {}"'.format(self.PACKAGE_NAME), '/bin/ps aux | grep "[a]pt-get update"' ] else: commands = ['/bin/ps aux | grep "[y]um install -y {}"'.format(self.PACKAGE_NAME)] for cmd in commands: try: subprocess.check_output(['/bin/bash', '-c', cmd], stderr=subprocess.STDOUT, text=True) return State.INSTALLING except subprocess.CalledProcessError: pass return State.NOT_INSTALLED def get_log(self): """Fetches the log from the installation error log file.""" with open(self.PACKAGE_INSTALL_ERROR_LOG, 'r') as file: return file.read() def usage(self): print("usage: {} {{-h|-i|-c}}\n".format(sys.argv[0]), "where:\n" "\t-h, --help: show help message\n" "\t-i, --install: install {} package\n".format(self.PACKAGE_NAME), "\t-c, --check: check status of {} package\n".format(self.PACKAGE_NAME), "\t-l, --log: print the log file of {} package\n".format(self.PACKAGE_NAME)) exit(2) def run(self, args): try: opts, _ = getopt.getopt(args, 'hicl', ['help', 'install', 'check', 'log']) except getopt.GetoptError: self.usage() if not opts: self.usage() result = None for o, _ in opts: if o in ('-h', '--help'): self.usage() elif o in ('-i', '--install'): result = self.install().value elif o in ('-c', '--check'): result = self.check_installed().value elif o in ('-l', '--log'): result = self.get_log() print(json.dumps({ "result": "success", "timestamp": time.time(), "response": result }))