Current File : //opt/alt/alt-php-config/alt-php-panel-configuration.py
#!/usr/libexec/platform-python
# -*- mode:python; coding:utf-8; -*-
import getopt
import glob
import logging
import os
import subprocess
import sys
from shutil import copy2
try:
    import db.clcommon.cpapi as cpapi
except ImportError:
    import detectcp as cpapi
MODES = ("check", "install", "uninstall")


def configure_logging(verbose):
    """
    Logging configuration function

    :type verbose: bool
    :param verbose: Enable additional debug output if True, display only errors
        othervise
    :return: configured logger object
    """
    if verbose:
        level = logging.DEBUG
    else:
        level = logging.ERROR
    handler = logging.StreamHandler()
    handler.setLevel(level)
    log_format = "%(levelname)-8s: %(message)s"
    formatter = logging.Formatter(log_format, "%H:%M:%S %d.%m.%y")
    handler.setFormatter(formatter)
    logger = logging.getLogger()
    logger.addHandler(handler)
    logger.setLevel(level)
    return logger


def find_alt_php_versions():
    """
    Returns list of installed alt-php versions and their base directories

    :rtype:  list
    :return:  List of version (e.g. 44, 55) and base directory tuples
    """
    php_versions = []
    for php_dir in glob.glob("/opt/alt/php[0-9][0-9]"):
        php_versions.append((php_dir[-2:], php_dir))
    php_versions.sort()
    return php_versions


def plesk_check_php_handler(cgi_type, php_ver):
    """

    :param php_ver: alt-php version (e.g. 44, 55, 70)
    :return: If handler exist returns True, otherwise False
    """
    proc = subprocess.Popen(["/usr/local/psa/bin/php_handler", "--list"],
                            stdout=subprocess.PIPE, stderr=subprocess.STDOUT,
                            universal_newlines=True)
    out, _ = proc.communicate()
    for line in out.split("\n"):
        if 'alt-php%s-%s' % (php_ver, cgi_type) in line.strip().split(" ")[0]:
            logging.info("Handler for alt-php%s-%s exist." % (php_ver, cgi_type))
            return True
    logging.info("Handler for alt-php%s-%s not exist." % (php_ver, cgi_type))
    return False


def plesk_add_php_handler(cgi_type, php_ver, php_path):
    if plesk_check_php_handler(cgi_type, php_ver):
        logging.info("Handler for alt-php%s-%s exist." % (php_ver, cgi_type))
        return False
    logging.info("Plesk: Installing alt-php%s-%s handler." % (php_ver, cgi_type))
    sys.stdout.write("Plesk: Installing alt-php{0}-{1} handler.".format(php_ver, cgi_type))
    # run /usr/local/psa/bin/php_handler --add -displayname alt-php-7.0.0 -path /opt/alt/php70/usr/bin/php-cgi
    # -phpini /opt/alt/php70/etc/php.ini -type fastcgi -id 666 -clipath /opt/alt/php70/usr/bin/php
    command = "/usr/local/psa/bin/php_handler"
    add_command = [
        command, '--add',
        '-displayname', 'alt-php%s-%s' % (php_ver, cgi_type),
        '-clipath', os.path.join(php_path, 'usr/bin/php'),
        '-phpini', os.path.join(php_path, 'etc/php.ini'),
        '-type', cgi_type,
        '-id', 'alt-php%s-%s' % (php_ver, cgi_type), ]
    if cgi_type == "fpm":
        add_command.extend([
        '-service', 'alt-php%s-fpm' % php_ver,
        '-path', os.path.join(php_path, 'usr/sbin/php-fpm'),
        '-poold', os.path.join(php_path, 'etc/php-fpm.d'),])
        if not os.path.exists("/opt/alt/php%s/etc/php-fpm.conf" % php_ver):
            copy2(os.path.join(php_path, 'etc/php-fpm.conf.plesk'), os.path.join(php_path, 'etc/php-fpm.conf'))
    else:
        add_command.extend([
        '-path', os.path.join(php_path, 'usr/bin/php-cgi'),])
    proc = subprocess.Popen(add_command, stdout=subprocess.PIPE,
                            stderr=subprocess.STDOUT, universal_newlines=True)
    out, _ = proc.communicate()
    if proc.returncode != 0:
        raise Exception(u"cannot execute \"%s\": %s" % (' '.join(add_command), out))
    proc = subprocess.Popen([command, "--reread"], stdout=subprocess.PIPE,
                            stderr=subprocess.STDOUT, universal_newlines=True)
    out, _ = proc.communicate()
    if proc.returncode != 0:
        raise Exception(u"cannot execute \"" + command + " --reread\": %s" % out)
    logging.info("Handler for alt-php%s was successfully added." % php_ver)
    return True


def plesk_remove_php_handler(cgi_type, php_ver):
    if plesk_check_php_handler(cgi_type, php_ver):
        logging.info("Plesk: Removing alt-php%s-%s handler." % (php_ver, cgi_type))
        sys.stdout.write("Plesk: Removing alt-php{0}-{1} handler.".format(php_ver, cgi_type))
        command = ["/usr/local/psa/bin/php_handler", "--remove",
                   "-id", "alt-php%s-%s" % (php_ver, cgi_type)]
        proc = subprocess.Popen(command, stdout=subprocess.PIPE, stderr=subprocess.STDOUT,
                                universal_newlines=True)
        out, _ = proc.communicate()
        if proc.returncode != 0:
            raise Exception(u"cannot execute \"%s\": %s" % (' '.join(command), out))
        logging.info("Handler for alt-php%s-%s was successfully removed." % (php_ver, cgi_type))
        return True
    else:
        logging.info("Handler for alt-php%s-%s not exist." % (php_ver, cgi_type))
        return False


def configure_alt_php(mode, php_ver, php_path):
    """
    :rtype: bool
    :return: If success returns True, otherwise False
    """
    try:
        cp_name = cpapi.getCPName()
        if cp_name == "Plesk":
            if not os.path.exists("/usr/local/psa/bin/php_handler"):
                raise Exception("/usr/local/psa/bin/php_handler not exist.")
            if mode == "install":
                plesk_add_php_handler('fastcgi', php_ver, php_path)
                plesk_add_php_handler('cgi', php_ver, php_path)
                if os.path.exists("/etc/init.d/alt-php%s-fpm" % php_ver) or os.path.exists("/usr/lib/systemd/system/alt-php%s-fpm.service" % php_ver):
                    plesk_add_php_handler('fpm', php_ver, php_path)
            elif mode == "uninstall":
                plesk_remove_php_handler('fastcgi', php_ver)
                plesk_remove_php_handler('cgi', php_ver)
                if os.path.exists("/etc/init.d/alt-php%s-fpm" % php_ver) or os.path.exists("/usr/lib/systemd/system/alt-php%s-fpm.service" % php_ver):
                    plesk_remove_php_handler('fpm', php_ver)
            else:
                return plesk_check_php_handler('fastcgi', php_ver) and plesk_check_php_handler('cgi', php_ver) and plesk_check_php_handler('fpm', php_ver)
    except Exception as e:
        logging.info(e)
        return False


def main(sys_args):
    try:
        opts, args = getopt.getopt(sys_args, "m:p:v", ["mode=", "php=", "verbose"])
    except getopt.GetoptError as e:
        sys.stderr.write("cannot parse command line arguments: {0}".format(e))
        return 1
    verbose = False
    mode = "check"
    php_versions = []
    for opt, arg in opts:
        if opt in ("-m", "--mode"):
            if arg not in MODES:
                # use check mode
                mode = "check"
            else:
                mode = arg
        if opt in ("-p", "--php"):
            if not os.path.isdir("/opt/alt/php%s" % arg):
                sys.stderr.write("unknown PHP version {0}".format(arg))
                return 1
            php_versions.append((arg, "/opt/alt/php%s" % arg))
        if opt in ("-v", "--verbose"):
            verbose = True
    log = configure_logging(verbose)

    if not php_versions:
        php_versions = find_alt_php_versions()
        log.info(u"installed alt-php versions are\n%s" %
                 "\n".join(["\t alt-php%s: %s" % i for i in php_versions]))
    for ver, path in php_versions:
        configure_alt_php(mode, ver, path)


if __name__ == "__main__":
    sys.exit(main(sys.argv[1:]))
w3.readbtooom.com - WSO YANZ ENC BYPASS
Attention:
Uname:
Php:
Hdd:
Cwd:
Yanz Webshell! - PRIV8 WEB SHELL ORB YANZ BYPASS! V2.0
Linux business77.web-hosting.com 4.18.0-553.44.1.lve.el8.x86_64 #1 SMP Thu Mar 13 14:29:12 UTC 2025 x86_64
8.2.28 Safe mode: OFF Datetime: 2025-06-20 10:46:37
4216.32 GB Free: 1590.10 GB (37%)
/home/honehdyv/readbtooom.com/ dr-xr-xr-x [ root ] [ home ] Text

Server IP:
162.0.232.195
Client IP:
216.73.216.50
YanzWSO
[ Files ][ Masfix ][ Symlink403 ][ Symlink404 ][ Vhost ][ WpAutoedit ][ ReadDomains ][ KillProccess ][ TerminalV2 ][ Adminer ][ WpDownloader ]

File manager

NameSizeModifyPermissionsActions
[ . ]dir2025-06-20 10:17:52dr-xr-xr-xRename Touch
[ .. ]dir2025-06-13 22:47:43dr-xr-xr-xRename Touch
[ .well-known ]dir2025-06-10 00:36:31drwxr-xr-xRename Touch
[ 51534 ]dir2025-06-16 00:18:17drwxr-xr-xRename Touch
[ 522314 ]dir2025-06-17 12:04:08drwxr-xr-xRename Touch
[ 7e716 ]dir2025-06-16 03:04:15dr-xr-xr-xRename Touch
[ 862944 ]dir2025-06-18 20:47:46drwxr-xr-xRename Touch
[ 9898c ]dir2025-06-18 00:18:26drwxr-xr-xRename Touch
[ bf1a1 ]dir2025-06-18 05:42:08drwxr-xr-xRename Touch
[ cgi-bin ]dir2025-06-10 09:47:12drwxr-xr-xRename Touch
[ f5462e ]dir2025-06-13 02:01:09drwxr-xr-xRename Touch
[ images ]dir2025-06-20 10:28:38drwxr-xr-xRename Touch
[ real ]dir2025-06-19 09:26:46drwxr-xr-xRename Touch
[ wp-admin ]dir2025-06-20 10:16:47drwxr-xr-xRename Touch
[ wp-content ]dir2025-06-20 10:16:52drwxr-xr-xRename Touch
[ wp-includes ]dir2025-06-20 10:15:09dr-xr-xr-xRename Touch
.hcflag31 B2025-06-17 22:30:17-rw-r--r--Rename Touch Edit Download
.htaccess717 B2024-03-03 10:16:47-r-xr-xr-xRename Touch Edit Download
bk1.php6.75 KB2025-06-19 08:21:31-rw-r--r--Rename Touch Edit Download
cloud.html43.80 KB2025-06-20 10:37:07-rw-r--r--Rename Touch Edit Download
Crackers_Alpha_v1 (2).php3.57 KB2025-06-19 08:50:24-rw-r--r--Rename Touch Edit Download
error_log314.69 MB2025-06-20 10:46:36-rw-r--r--Rename Touch Edit Download
index.php22.08 KB2025-06-20 10:46:36-r--r--r--Rename Touch Edit Download
index.php022.08 KB2023-04-09 10:16:44-rwxr-xr-xRename Touch Edit Download
license.txt19.45 KB2023-11-12 01:31:37-rw-r--r--Rename Touch Edit Download
MuPlugin.php1.24 KB2025-06-20 06:31:32-rw-r--r--Rename Touch Edit Download
pages.php1.49 KB2023-07-21 10:16:47-r--r--r--Rename Touch Edit Download
php.php70.78 KB2025-06-20 10:37:29-rw-r--r--Rename Touch Edit Download
ps.php77.60 KB2025-06-20 10:17:20-rw-r--r--Rename Touch Edit Download
ps.php877.60 KB2025-06-20 10:37:34-rw-r--r--Rename Touch Edit Download
ps.phtml77.60 KB2025-06-20 10:37:36-rw-r--r--Rename Touch Edit Download
psm.php1.19 KB2025-06-20 10:37:38-rw-r--r--Rename Touch Edit Download
psm.php71.19 KB2025-06-20 10:37:40-rw-r--r--Rename Touch Edit Download
psm.php81.19 KB2025-06-20 10:37:42-rw-r--r--Rename Touch Edit Download
psm.phtml1.19 KB2025-06-20 10:37:43-rw-r--r--Rename Touch Edit Download
radio.php5.62 KB2025-06-19 10:49:13-rw-r--r--Rename Touch Edit Download
readme.html7.23 KB2024-06-25 03:04:45-rw-r--r--Rename Touch Edit Download
readme.txt101 B2025-06-20 10:37:45-rw-r--r--Rename Touch Edit Download
robots.txt369 B2023-02-22 10:16:47-r--r--r--Rename Touch Edit Download
search.php1.50 KB2024-01-14 20:30:38-r--r--r--Rename Touch Edit Download
userfuns.php46 B2025-06-19 16:31:01-rw-r--r--Rename Touch Edit Download
wp-blog-header.php478 B2025-06-10 00:28:11-r--r--r--Rename Touch Edit Download
wp-comments-post.php2.27 KB2023-11-03 18:48:36-rw-r--r--Rename Touch Edit Download
wp-config-sample.php446 B2025-06-16 22:54:19-rw-r--r--Rename Touch Edit Download
wp-config.php3.05 KB2025-06-18 20:46:02-rw-r--r--Rename Touch Edit Download
wp-cron.php5.51 KB2023-11-03 18:48:37-rw-r--r--Rename Touch Edit Download
wp-links-opml.php2.44 KB2023-11-03 18:48:36-rw-r--r--Rename Touch Edit Download
wp-load.php3.96 KB2025-06-10 00:28:11-r--r--r--Rename Touch Edit Download
wp-mail.php8.33 KB2023-11-12 01:31:37-rw-r--r--Rename Touch Edit Download
wp-settings.php25.79 KB2025-06-17 22:29:45-rw-r--r--Rename Touch Edit Download
wp-trackback.php4.77 KB2023-11-03 18:48:36-rw-r--r--Rename Touch Edit Download
xmlrpc.php3.08 KB2023-11-12 01:31:37-rw-r--r--Rename Touch Edit Download
 
Change dir:
Read file:
Make dir: (Not writable)
Make file: (Not writable)
Terminal:
Upload file: (Not writable)

>