PATH:
opt
/
cloudlinux
/
venv
/
lib
/
python3.11
/
site-packages
/
xray
/
manager
/
__pycache__
/
Editing: base.cpython-311.pyc
� �*fimz � �� � d Z ddlZddlZddlZddlZddlZddlZddlZddlZddl m Z m Z ddlmZ ddlmZm Z mZ ddlZddlmZ ddlmZmZ ddlmZmZ dd lmZ dd lmZ ddlmZ ddlmZ d dl!m"Z" d dl#m$Z$ d dl%m&Z& d dl'm(Z(m)Z)m*Z*m+Z+ d dl,m-Z- d dl.m/Z/ d dl0m1Z1 d dl2m3Z3m4Z4m5Z5 d dl6m7Z7 d dl8m9Z9 d dl:m;Z;m<Z<m=Z= d dl>m?Z?m@Z@mAZAmBZBmCZCmDZD d dlEmFZFmGZGmHZHmIZImJZJ ejK rd dlLmMZM G d� d� � ZNdS )zX This module contains classes implementing X-Ray Manager behaviour and helper functions � N)�datetime� timedelta)�glob)�Iterator�Optional�Tuple)�Feature)�is_panel_feature_supported�get_installed_php_versions)�php_get_vhost_versions�is_wpos_supported)�is_litespeed_running)�drop_privileges)� disable_quota)�gettext� )�ClWposGetter)� get_client)�ContinuousManager)�XRayAPIError�XRayMissingDomain�XRayManagerExit�XRayManagerExitPHPUnsupported)�FPMReloadController)�open_local_storage)�NginxUserCache)� DomainInfo�Task� url_split)�ManageUserAgent)�AdvancedMetrics)�get_xray_exec_user�user_mode_restricted�nginx_user_cache)�no_active_tasks�switch_schedstats�ssa_disabled�_cagefsctl_remount�set_privileges�is_file_recently_modified)�create_ini_files�remove_ini_files�is_global_ini_mode�remove_global_ini_mode_marker�create_global_ini_mode_marker)� APIClientc � � e Zd ZdZdZddddddd d ddd dddd�Zd`dedefd�Zde e fd�Zdefd�Z dedefd�Zdedefd�Zdedefd�Zdedefd�Zdedefd�Zdedd fd!�Zd"� Zd#edefd$�Zed%edeej fd&�� � Zd'edd fd(�Zd)edefd*�Zd+edefd,�Zdedefd-�Z d.edefd/�Z!d.edd fd0�Z"ed#ede#ee f fd1�� � Z$d2edd fd3�Z%edefd4�� � Z&dad6�Z'e(ddd7�d)ed8ed9ed:e d;ed<edd5fd=�� � Z)d)edd5fd>�Z*d?d@�d)ed:e dd5fdA�Z+dBedd5fdC�Z,dD� Z-e(dBedd5fdE�� � Z.dBedd5fdF�Z/edGedefdH�� � Z0dadI�Z1edJe2dKdLfdM�� � Z3dBedd5fdN�Z4d)edOedd5fdP�Z5d)edd5fdQ�Z6d)edd5fdR�Z7d)edd5fdS�Z8dadT�Z9dadU�Z:dVedd5fdW�Z;dVedXe dd5fdY�Z<dadZ�Z=dad[�Z>dad\�Z?dad]�Z@dad^�ZAdad_�ZBd S )b�BaseManagerz� Basic manager abstract class. Implements methods common for all managers. Requires managers to implement their custom methods. z/var/run/xray-agent.pidz/opt/alt/php54/link/confz/opt/alt/php55/link/confz/opt/alt/php56/link/confz/opt/alt/php70/link/confz/opt/alt/php71/link/confz/opt/alt/php72/link/confz/opt/alt/php73/link/confz/opt/alt/php74/link/confz/opt/alt/php80/link/confz/opt/alt/php81/link/confz/opt/alt/php82/link/confz/opt/alt/php83/link/confz/opt/alt/php84/link/confz/opt/alt/php85/link/conf)z alt-php54z alt-php55z alt-php56z alt-php70z alt-php71z alt-php72z alt-php73z alt-php74z alt-php80z alt-php81z alt-php82z alt-php83z alt-php84z alt-php85F� system_id�phpinfo_modec � � t � � | _ || _ t j d� � | _ t � � | _ t � � | _ || _ t d� � | j �� � | _ d S )N�manager�lists�r3 )r �api_client_class�sys_id�logging� getLogger�loggerr �continuous_monitoringr �manage_user_agentr4 � ui_api_client)�selfr3 r4 s �H/opt/cloudlinux/venv/lib64/python3.11/site-packages/xray/manager/base.py�__init__zBaseManager.__init__c sr � � 2<���������'� �2�2���%6�%8�%8��"�!0�!2�!2���(���0�Z��0�0�4�;�G�G�G����� �returnc � � t | j � � 5 }t |� � � � � cd d d � � S # 1 swxY w Y d S # t t f$ r t j d� � Y d S w xY w)Nz'Unable to read daemon pid from pidfile.)�open�DAEMON_PIDFILE�int�read�OSError�IOErrorr; �warning)rA �fs rB �_get_daemon_pidzBaseManager._get_daemon_pidn s� � � G��d�)�*�*� %�a��1�6�6�8�8�}�}� %� %� %� %� %� %� %� %� %� %� %� %���� %� %� %� %� %� %����!� G� G� G��O�E�F�F�F�F�F�F� G���s3 �A �!A�A �A�A �A�A �%A:�9A:c � � | j S )z\ Get supported PHP versions :return: a dict with supported versions )�VERSIONS�rA s rB �supported_versionszBaseManager.supported_versionsu s � � �}�rD �php_versionc �. � || � � � v S )z� Check if given PHP version is supported :param php_version: PHP version, e.g. 'alt-phpXY' :return: True if version is supported, False otherwise )rS )rA rT s rB �is_version_supportedz BaseManager.is_version_supported| s � � �d�5�5�7�7�7�7rD �domain_infoc �Z � | � � � � |j � � S )zh Get a path to directory for additional ini file for based on panel-set version )rS �get�panel_php_version�rA rW s rB � _ini_pathzBaseManager._ini_path� s'