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/containerization/__pycache__/views.cpython-310.pyc
o

��h�-�@s�ddlmZmZddlmZddlmZddlZddlm	Z	ddl
mZddlm
Z
dd	lmZddlZddlZddlZdd
lmZddlmZdd
�Zdd�Zdd�Zdd�Zdd�Zdd�ZdS)�)�HttpResponse�redirect)�
loadLoginPage�)�ContainerManagerN)�Websites)�ContainerLimits)�randint)�ProcessUtilities)�httpProc)�
ACLManagercCs4zd}t||�}|��WStytt�YSw)Nz"containerization/listWebsites.html�r�renderC�KeyErrorrr)�request�templateName�c�r�,/usr/local/CyberCP/containerization/views.py�cHomes

�rc
Cs�z/|jd}t�|�}|ddkrnt��WSt|dd�}|��ddd�}t�|�}t|�WSt	yQ}zdt
|�d�}t�|�}t|�WYd}~Sd}~ww)N�userID�adminr�submitContainerInstall�None��status�
error_messager)�sessionr�	loadedACL�
loadErrorJsonr�start�json�dumpsr�
BaseException�str)rr�
currentACLr�data_ret�	json_data�msgrrrrs"






��rcCsDzd}i}||d<t||d|�}|��WSty!tt�YSw)Nz+containerization/websiteContainerLimit.html�domainr
)rr)r�datarrrr�websiteContainerLimit2s
�r+cCsz�|jd}t�|�}|ddkrnt��WSt�|j�}|d}tjj	|d�}z	t
jj	|d�}Wnzdttdd	��}d
|}t
j�
���d}	t�|	�}
t��d}t�|jt|�td�td
�dd|
�}|dkrut�dd�YWSt|d�}
|
�|�|
��d|d|}t�|�zt�|�WnYt
|ddddd|
d�}|��Yi}d|d<t|j �|d<t|j!�|d<t|j"�|d<t|j#�|d<|j$|d<|j%dkr�d|d <nd|d <t�&|�}t'|�WSt(�y
}zdt|�d!�}t�&|�}t'|�WYd}~Sd}~ww)"Nrrrr)�r)��owner�/home/cyberpanel/���'�/etc/cgconfig.d/i'順idir�&Please check CyberPanel main log file.�w�sudo mv � �10�1�1024�300�1mbit)r.�cpuPers�IO�IOPS�memory�networkSpeed�networkHexValuerr=r>r?r@rA�enforcer))rrrrr!�loads�bodyr�objects�getrr$r	�all�countr�
fetchHexValue�multiprocessing�	cpu_count�prepConf�externalAppr�AJAX�open�write�closer
�executioner�os�remove�save�intr=r>r?r@rArCr"rr#)rrr%r*r)�website�
websiteLimits�confPathTemp�confPathrI�hexValue�cfs_quota_us�finalContent�writeToFile�command�	finalDatar'r(r&rrr�fetchWebsiteLimits<sb



$









��rbc
Cs��z�|jd}t�|�}|ddkrnt��WSt�|j�}|d}|d}|d}|d}|d}|d	}	|d
}
z|d}Wnd}Y|d
krRt�dd�WSt	j
j|d�}tj
j|d�}
|dk�r/|
j
dkr�dttdd��}d}d�|j|j�}t�d���}t|d�}|D]	}|�|d�q�|�|�|��d|d|}t�|�zt�|�WnYd|
_
dttdd��}d|}t��d}t�|jt||�td�t|�|||
j�}|dkr�t�dd�WSt|d�}|� |�|��d|d|}t�|�zt�|�WnYi}|
j!|d <t|	�|
|d!<tddd"|�}|�"�nnd|
_
dttdd��}d}t�d���}t|d�}|D]}|�#|j�d#k�rX�qK|�|d��qK|��d|d|}t�|�d|}d$|}t�|�i}|
j!|d <tddd%|�}|�"�zt�|�WnYt|�|
_$t|�|
_%t|�|
_&t|�|
_'t|	�t|
�|
_(|
�)�i}d|d&<t�*|�}t+|�WSt,�y�}zdt|�d'�}t�*|�}t+|�WYd}~Sd}~ww)(Nrrrr)r=r>r?r@rA�
networkHandlerCF�drz+CPU Percentage can not be greater then 100%r,r-Tr/r0r1z/etc/cgrules.confz"{}  cpu,memory,blkio,net_cls  {}/
zsudo cat /etc/cgrules.confr5�
r6r7r2r3r4�classID�	rateLimit�addTrafficController���zsudo rm �removeLimitsrr)-rrrrr!rDrErrOrrFrGrrCr$r	�formatrNr
�outputExecutioner�
splitlinesrP�
writelinesrRrSrTrUrKrLrrMrBrQ�idr �findr=r@r>r?rArVr"rr#)rrr%r*r)r=r>r?r@rArcrCrXrY�cgrulesTemp�cgrules�
enforceString�cgrulesDatar_�itemsr`rZr[r]r^�additionalArgsrrar'r(r&rrr�saveWebsiteLimits}s�







�















��rwc
Cs��z5|jd}t�|�}|ddkrnt��WSt�|j�}|d}tjj	|d�}z�|d}i}d|d<z�|dkrTd	|j
d
}tt�
|��}	tt|	�td��|d<n�|dkr�d
|j
}
|
d}tj�|
�slt�|
�d|j
d}t�
|���}	|	d�d�d}|	d�d�d}
tj�|�r�t|d���}t|�d�d�}t|�d�d�}tt|�|td��|d<tt|
�|td��|d<nd|d<d|d<t|d�}|�|d|
�|��Wnd|d<d|d<d|d<YWn7d|j
d}ttj|dd��d��}	i}d|d<t|	�dk�rd|d <ntt|	�tt����|d <Yt� |�}t!|�WSt"�y[}zdt|�ddd!�}t� |�}t!|�WYd}~Sd}~ww)"Nrrrr)r,�typerr@zsudo cat /sys/fs/cgroup/memory/z/memory.usage_in_bytesi�ior/z/blkiozsudo cat /sys/fs/cgroup/blkio/z /blkio.throttle.io_service_bytesrr7��r�,i��readRate�	writeRater5�0ztop -b -n 1 -u z/ | awk 'NR>7 { sum += $9; } END { print sum; }'T)�shellzutf-8�cpu)rrr�r@)#rrrrr!rDrErrFrGrNr$r
rlrW�floatrT�path�exists�mkdirrm�splitrP�readrQrR�
subprocess�check_output�decode�lenrKrLr"rr#)rrr%r*r)rXrxrar`�outputr��	blkioPath�readCurrent�writeCurrent�old�oldRead�oldWriter_�
final_jsonr(r&r'rrr�getUsageDatasz





�
�
�


��r�)�django.shortcutsrr�loginSystem.viewsr�containerManagerrr!�websiteFunctions.modelsr�modelsr�randomr	�plogical.processUtilitiesr
rTr�rK�plogical.httpProcr�plogical.aclrrrr+rbrwr�rrrr�<module>s(
A