HEX
Server: LiteSpeed
System: Linux php-prod-1.spaceapp.ru 5.15.0-157-generic #167-Ubuntu SMP Wed Sep 17 21:35:53 UTC 2025 x86_64
User: xnsbb3110 (1041)
PHP: 8.1.33
Disabled: NONE
Upload Files
File: //proc/self/root/usr/local/CyberCP/CLManager/__pycache__/CLManagerMain.cpython-310.pyc
o

��h8"�@s�ddlZddlmZddlmZddlmZddl	m
Z
ddlZddlm
Z
ddlZddl	mZddlmZddlmZdd	lmZdd
lmZGdd�dej�ZdS)
�N)�
ACLManager)�ProcessUtilities)�render)�ServerStatusUtil)�HttpResponse)�ceil)�Websites)�
CLPackages)�httpProcc@sXeZdZddd�Zdd�Zdd�Zdd	�Zd
d�Zdd
�Zddd�Z	dd�Z
dd�ZdS)�
CLManagerMainNcCs(tj�|�||_||_||_||_dS)N)�multi�Thread�__init__�request�templateName�function�data)�selfrrrr�r�-/usr/local/CyberCP/CLManager/CLManagerMain.pyrs

zCLManagerMain.__init__c
Csrz|jdkr
|��WdS|jdkr|��WdSWdSty8}ztj�t|�d�WYd}~dSd}~ww)N�submitCageFSInstall�enableOrDisablez [ContainerManager.run])rrr�
BaseException�logging�CyberCPLogFileWriter�writeToFile�str)r�msgrrr�runs

�"��zCLManagerMain.runc
Csi}d|d<d|d<d}d}tj�d�tj�|�r(d|d<tj�d|���n�tj�d	�r�z;td	d
��,}|��}tj�d|�����d|vrSd|d<tj�d
�ntj�d�Wd�n1scwYWnit	y�}ztj�dt
|����WYd}~nQd}~wwtj�d�r�z)tdd
��}|��}d|vr�d|d<tj�d�Wd�n1s�wYWnYntj�d�r�d|d<tj�d�ntj�d�tj�|�r�d|d<|ddkr�t|jd|d�}|�
�S|ddk�rt|jd|d�}|�
�St|jd|d�}|�
�S)Nr�CL�
activatedPathz/etc/sysconfig/cloudlinuxz/home/cyberpanel/cloudlinuxz,[CLManager] Starting CloudLinux detection...�z$[CLManager] CloudLinux detected via z/etc/redhat-release�rz)[CLManager] /etc/redhat-release content: �
CloudLinuxz6[CLManager] CloudLinux detected in /etc/redhat-releasez7[CLManager] CloudLinux NOT found in /etc/redhat-releasez/[CLManager] Error reading /etc/redhat-release: z/etc/os-releasez2[CLManager] CloudLinux detected in /etc/os-releasez/usr/sbin/cagefsctlz6[CLManager] CloudLinux detected via cagefsctl presencez1[CLManager] CloudLinux not detected by any methodzCLManager/notAvailable.html�adminzCLManager/cloudLinux.html)rrr�os�path�exists�open�read�strip�	Exceptionrr
rr)rr�CLPathr �f�content�e�procrrr�renderC!sf���"�����zCLManagerMain.renderCc
Cs�z,|jjd}t�|�}|ddkrntj�tjdd�WdSd}|d}t	�
|�WdStyL}ztj�tjt|�dd�WYd}~dSd}~ww)	N�userIDr$r!z4Not authorized to install container packages. [404].rzD/usr/local/CyberCP/bin/python /usr/local/CyberCP/CLManager/CageFS.pyz --function submitCageFSInstallz [404].)
r�sessionr�	loadedACLrr�statusWriterr�lswsInstallStatusPathr�outputExecutionerrr)rr2�
currentACL�execPathrrrrr\s"

�(��z!CLManagerMain.submitCageFSInstallcCs�|dd}|d}t�||�||�}d}d}d}	t�|	�}
|D].}|
�|j�dkr.d}nd}|j|j|d�}
|dkrF|t�|
�}d}q!|dt�|
�}q!|d	}|S)
N�
�[rz"/usr/sbin/cagefsctl --list-enabled���r!)�domain�externalApp�status�,�])	r�findWebsiteObjectsrr7�findr>r=�json�dumps)rr8r2�
pageNumber�finalPageNumber�
endPageNumber�websites�	json_data�checker�command�Enabled�itemsr?�dicrrr�findWebsitesJsonps$
zCLManagerMain.findWebsitesJsoncCs|t�||�}tt|��td�}g}|dkrd}|�d�|St|�}t|�d}td|�D]
}|�dt|�d�q.|S)Nr:g�?r!z<li><a href="\#"></a></li>z<li><a href="\#">z	</a></li>)	r�findAllSites�float�len�appendr�int�ranger)rr8r2rI�pages�
pagination�
finalPages�irrr�websitePagination�s
�zCLManagerMain.websitePaginationc

Cs�z8t�|�}t|d�}|�|||�}|�||�}d}tj�|�r$d}nd}ddd|||d�}	t�	|	�}
t
|
�WSty[}zddt|�d	�}t�	|�}t
|�WYd}~Sd}~ww)
N�pagez/home/cyberpanel/cagefs�On�Offr!�None)r?�listWebSiteStatus�
error_messagerrX�defaultr)r?r`ra)
rr4rUrPr[r%r&r'rDrErrr)
rr2rr8rFrJrX�
cageFSPathrb�	final_dic�
final_jsonrrOrrr�getFurtherAccounts�s(
�


��z CLManagerMain.getFurtherAccountsc
Cs�z0tj��}|jddkr|D]}d|j}t�|�qWdS|D]}d|j}t�|�q!WdStyK}ztj	�
t|��WYd}~dSd}~ww)N�moder!z/usr/sbin/cagefsctl --enable %sz /usr/sbin/cagefsctl --disable %s)r�objects�allrr>r�executionerrrrrr)rrIrNrLrrrrr�s

�
���zCLManagerMain.enableOrDisablecCs�|ddkrnt��Sd}d}tj��D]0}|j|j|j|j|j	|j
|j|j|j
|jd�
}|dkr;|t�|�}d}q|dt�|�}q|d}dd|d	�}t�|�}t|�S)
Nr$r!r;r)
�name�SPEED�VMEM�PMEM�IO�IOPS�EP�NPROC�
inodessoft�
inodeshardr@rAr_)r?rar)r�
loadErrorJsonr	rhrirk�speed�vmem�pmem�io�iops�ep�nprocrsrtrDrEr)rr8rJrKrNrOrdrerrr�
fetchPackages�s"�
zCLManagerMain.fetchPackages)NNNN)NN)�__name__�
__module__�__qualname__rrr1rrPr[rfrr}rrrrrs
	;
r)�	threadingr�plogical.aclr�plogical.CyberCPLogFileWriterrr�plogical.processUtilitiesr�django.shortcutsrr%�serverStatus.serverStatusUtilrrDr�mathr�websiteFunctions.modelsr�CLManager.modelsr	�plogical.httpProcr
r
rrrrr�<module>s