HEX
Server: LiteSpeed
System: Linux kapuas.iixcp.rumahweb.net 5.14.0-427.42.1.el9_4.x86_64 #1 SMP PREEMPT_DYNAMIC Fri Nov 1 14:58:02 EDT 2024 x86_64
User: mirz4654 (1666)
PHP: 8.1.33
Disabled: system,exec,escapeshellarg,escapeshellcmd,passthru,proc_close,proc_get_status,proc_nice,proc_open,proc_terminate,shell_exec,popen,pclose,dl,pfsockopen,leak,apache_child_terminate,posix_kill,posix_mkfifo,posix_setsid,posix_setuid,posix_setpgid,ini_alter,show_source,define_syslog_variables,symlink,syslog,openlog,openlog,closelog,ocinumcols,listen,chgrp,apache_note,apache_setenv,debugger_on,debugger_off,ftp_exec,dll,ftp,myshellexec,socket_bind,mail,posix_getwpuid
Upload Files
File: //opt/cloudlinux/venv/lib/python3.11/site-packages/xray/manager/__init__.py
# -*- coding: utf-8 -*-

# Copyright © Cloud Linux GmbH & Cloud Linux Software, Inc 2010-2021 All Rights Reserved
#
# Licensed under CLOUD LINUX LICENSE AGREEMENT
# http://cloudlinux.com/docs/LICENSE.TXT

import os
from .base import BaseManager
from .cpanel import CPanelManager
from .custom import CustomManager
from .directadmin import DirectAdminManager
from .plesk import PleskManager
from ..internal.utils import read_jwt_token


def initialize_manager(system_id: str) -> 'Manager instance':
    """
    Factory function for appropriate manager initialization
    :return: appropriate manager instance
    """
    # check validity of JWT token as early as possible
    read_jwt_token()
    if os.path.isfile('/usr/local/cpanel/cpanel'):
        m = CPanelManager
    elif os.path.isfile('/usr/local/psa/version'):
        m = PleskManager
    elif os.path.isdir('/usr/local/directadmin') and os.path.isfile(
            '/usr/local/directadmin/custombuild/build'):
        m = DirectAdminManager
    else:
        m = CustomManager

    is_phpinfo_mode = os.path.exists('/opt/cloudlinux/flags/enabled-flags.d/'
                                     'xray-per-domain-php-version-mode.flag')
    return m(system_id, phpinfo_mode=is_phpinfo_mode)