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
/
opt /
cloudlinux /
venv /
bin /
Delete
Unzip
Name
Size
Permission
Date
Action
Activate.ps1
8.82
KB
-rw-r--r--
2026-06-16 08:48
activate
1.65
KB
-rw-r--r--
2026-06-16 08:48
activate.csh
915
B
-rw-r--r--
2026-06-16 08:48
activate.fish
2.14
KB
-rw-r--r--
2026-06-16 08:48
alembic
229
B
-rwxr-xr-x
2026-06-16 08:48
cagefs_enter_site.py
1.83
KB
-rwxr-xr-x
2026-07-31 12:29
cagefsctl_user.py
15.55
KB
-rwxr-xr-x
2026-07-31 12:29
chardetect
237
B
-rwxr-xr-x
2026-06-16 08:48
cl_sysctl
4.51
KB
-rwxr-xr-x
2026-08-05 07:40
clcpapi
5.28
KB
-rwxr-xr-x
2026-08-05 07:40
coverage
231
B
-rwxr-xr-x
2026-06-16 08:48
coverage-3.11
231
B
-rwxr-xr-x
2026-06-16 08:48
coverage3
231
B
-rwxr-xr-x
2026-06-16 08:48
cpanel-dbmapping
3.84
KB
-rwxr-xr-x
2026-08-05 07:40
crontab-user-wrapper.py
4.3
KB
-rwxr-xr-x
2026-07-31 12:29
da_suid_caller.py
686
B
-rw-r--r--
2026-08-05 07:40
detect-requirements
238
B
-rwxr-xr-x
2026-06-16 08:48
dodgy
224
B
-rwxr-xr-x
2026-06-16 08:48
epylint
235
B
-rwxr-xr-x
2026-06-16 08:48
f2py
232
B
-rwxr-xr-x
2026-06-16 08:48
f2py3
232
B
-rwxr-xr-x
2026-06-16 08:48
f2py3.11
232
B
-rwxr-xr-x
2026-06-16 08:48
flake8
230
B
-rwxr-xr-x
2026-06-16 08:48
futurize
231
B
-rwxr-xr-x
2026-06-16 08:48
get_gprof
1.84
KB
-rwxr-xr-x
2026-06-16 08:48
get_objgraph
1.63
KB
-rwxr-xr-x
2026-06-16 08:48
isort
225
B
-rwxr-xr-x
2026-06-16 08:48
isort-identify-imports
259
B
-rwxr-xr-x
2026-06-16 08:48
jsonschema
229
B
-rwxr-xr-x
2026-06-16 08:48
lvestats_config_reader.py
1.12
KB
-rw-r--r--
2026-06-23 08:44
mako-render
229
B
-rwxr-xr-x
2026-06-16 08:48
normalizer
260
B
-rwxr-xr-x
2026-06-16 08:48
pasteurize
233
B
-rwxr-xr-x
2026-06-16 08:48
pip
237
B
-rwxr-xr-x
2026-06-16 08:48
pip3
237
B
-rwxr-xr-x
2026-06-16 08:48
pip3.11
237
B
-rwxr-xr-x
2026-06-16 08:48
plesk_suid_caller.py
905
B
-rw-r--r--
2026-08-05 07:40
prospector
229
B
-rwxr-xr-x
2026-06-16 08:48
py.test
237
B
-rwxr-xr-x
2026-06-16 08:48
pycodestyle
228
B
-rwxr-xr-x
2026-06-16 08:48
pydocstyle
229
B
-rwxr-xr-x
2026-06-16 08:48
pyflakes
227
B
-rwxr-xr-x
2026-06-16 08:48
pylint
233
B
-rwxr-xr-x
2026-06-16 08:48
pylint-config
249
B
-rwxr-xr-x
2026-06-16 08:48
pyreverse
239
B
-rwxr-xr-x
2026-06-16 08:48
pysemver
225
B
-rwxr-xr-x
2026-06-16 08:48
pytest
237
B
-rwxr-xr-x
2026-06-16 08:48
python
15.01
KB
-rwxr-xr-x
2025-08-07 10:44
python3
15.01
KB
-rwxr-xr-x
2025-08-07 10:44
python3.11
15.01
KB
-rwxr-xr-x
2025-08-07 10:44
raven
235
B
-rwxr-xr-x
2026-06-16 08:48
symilar
235
B
-rwxr-xr-x
2026-06-16 08:48
tap
223
B
-rwxr-xr-x
2026-06-16 08:48
tappy
223
B
-rwxr-xr-x
2026-06-16 08:48
undill
603
B
-rwxr-xr-x
2026-06-16 08:48
virtualenv
254
B
-rwxr-xr-x
2026-06-16 08:48
Save
Rename
#!/opt/cloudlinux/venv/bin/python3 -bb # -*- coding: utf-8 -*- # Copyright © Cloud Linux GmbH & Cloud Linux Software, Inc 2010-2018 All Rights Reserved # # Licensed under CLOUD LINUX LICENSE AGREEMENT # http://cloudlinux.com/docs/LICENSE.TXT """ CloudLinux control panel API command line interface """ import argparse import os import pwd from clcommon import cpapi from clcommon.cloutput import prepare_data_json, prepare_attention_json from clcommon.cpapi import cpapiexceptions def cpapi_parser(): parser = argparse.ArgumentParser(description="%(prog)s - CloudLinux control panel API command line interface") parser.add_argument('-j', '--json', action='store_true', default=False, help='Output in json format') subparsers = parser.add_subparsers(dest='command') docroot_parser = subparsers.add_parser('docroot') docroot_parser.add_argument('domain', help='Return document root for domain') userdomains_parser = subparsers.add_parser('userdomains') userdomains_parser.add_argument('userdomains', help='Return domain and document root pairs for control panel user') dblogin_cplogin_pairs_parser = subparsers.add_parser("dblogin_cplogin_pairs") dblogin_cplogin_pairs_parser.add_argument("--cplogin_lst", nargs="*", help="Return mapping for this system users") dblogin_cplogin_pairs_parser.add_argument("--with_system_users", action="store_true", default=False, help="Show system users in output") reseller_users = subparsers.add_parser("reseller-users", help="Show reseller users") reseller_users.add_argument( 'resellername', type=str, nargs='?', help='Reseller name') return parser def flat_plain(data, sep=' '): return '\n'.join([sep.join(tuple_) for tuple_ in data]) def _enforce_authorization(namespace): """ clcpapi is world-executable (mode 755, not setuid) so it runs with the invoking user's privileges. root and panel admins keep unrestricted access; any other local caller may only read metadata it owns. Rejections raise CPAPIException (clear error, non-zero exit, no data leaked); the db->cp-user mapping is narrowed to the caller instead. """ if os.getuid() == 0: return try: caller = pwd.getpwuid(os.getuid()).pw_name except KeyError as exc: # UID has no passwd entry (LDAP gap / orphaned UID): fail closed raise cpapiexceptions.NoPanelUser( f"Caller UID {os.getuid()} has no passwd entry; access denied") from exc if cpapi.is_admin(caller): return if namespace.command == 'docroot': if cpapi.domain_owner(namespace.domain) != caller: raise cpapiexceptions.NoDomain( f"Can't obtain document root for domain '{namespace.domain}'") elif namespace.command == 'userdomains': if namespace.userdomains != caller: raise cpapiexceptions.NoPanelUser( f"Not authorized to list domains of user '{namespace.userdomains}'") elif namespace.command == 'reseller-users': if namespace.resellername != caller: raise cpapiexceptions.NoPanelUser( f"Not authorized to list users of reseller '{namespace.resellername}'") elif namespace.command == 'dblogin_cplogin_pairs': # restrict the mapping dump to the caller's own login namespace.cplogin_lst = [caller] def main(): parser = cpapi_parser() namespace = parser.parse_args() output_ = None exit_code = 0 try: _enforce_authorization(namespace) if namespace.command == 'docroot': domain, user = cpapi.docroot(namespace.domain) if namespace.json: output_ = prepare_data_json({'domain': domain, 'user': user}) else: output_ = domain + ' ' + user elif namespace.command == 'userdomains': domain_docroot_pairs = cpapi.userdomains(namespace.userdomains) if namespace.json: data = [{'domain': domain_docroot[0], 'docroot': domain_docroot[1]} for domain_docroot in domain_docroot_pairs] output_ = prepare_data_json(data) else: output_ = flat_plain(domain_docroot_pairs) elif namespace.command == 'dblogin_cplogin_pairs': db_mapping = cpapi.dblogin_cplogin_pairs(namespace.cplogin_lst, namespace.with_system_users) if namespace.json: output_ = prepare_data_json(db_mapping) else: output_ = flat_plain(db_mapping) elif namespace.command == 'reseller-users': users = cpapi.reseller_users(namespace.resellername) if namespace.json: output_ = prepare_data_json(users) else: output_ = '\n'.join(users) except cpapiexceptions.CPAPIException as e_: exit_code = 1 if namespace.json: output_ = prepare_attention_json(str(e_)) else: output_ = 'ERROR: ' + str(e_) return output_, exit_code if __name__ == '__main__': import sys output_, exit_code = main() if output_: print(output_) if exit_code: sys.exit(exit_code)