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: //usr/local/CyberCP/serverStatus/__pycache__/serverStatusUtil.cpython-310.pyc
o

�h�L�@s�ddlZddlZddlZej�d�ddlZej�dd�e��ddl	Z	ddl
Z
ddlZddlZddl
mZddlmZddlmZddlmZddlmZdd	lmZdd
lmZddlZddlZddlZGdd�dej �Z!d
d�Z"e#dkr}e"�dSdS)�Nz/usr/local/CyberCP�DJANGO_SETTINGS_MODULEzCyberCP.settings)�ProcessUtilities)�Websites)�virtualHostUtilities)�sslUtilities)�vhost)�ignore_patternsc@s�eZdZdZdZdd�Zdd�Zedd��Zed	d
��Z	edd��Z
ed
d��Zedd��Zedd��Z
edd��Zedd��Zedd��Zedd��ZdS)�ServerStatusUtilz!/home/cyberpanel/switchLSWSStatus�/usr/local/lsws/cCstj�|�||_dS�N)�multi�Thread�__init__�key)�selfr�r�3/usr/local/CyberCP/serverStatus/serverStatusUtil.pyrs
zServerStatusUtil.__init__cCs|�|j�dSr)�switchTOLSWSr)rrrr�run!szServerStatusUtil.runc
Csxz tj�tj�rtj�|�tj	|||dd�}|dkrWdSWdSt
y;}ztj�t|��WYd}~dSd}~ww)NT)�stdout�stderr�shell�r)�os�path�existsr�	debugPath�logging�CyberCPLogFileWriter�writeToFile�
subprocess�call�
BaseException�str)�command�
statusFile�res�msgrrr�executioner$s��zServerStatusUtil.executionerc
Cs�z[d}tjj|ddid�}tjj|dd��}|���d�}Wd�n1s'wYd	}t�||�}|rPt|d
d�d�d
}t	j
�tj
d|�d�d�|WSt	j
�tj
dd�WdSty}}zt	j
�tj
dt|��d�d�WYd}~dSd}~ww)zAFetch the latest LSWS Enterprise version from LiteSpeed's websitezDhttps://www.litespeedtech.com/products/litespeed-web-server/downloadz
User-AgentzMozilla/5.0)�headers�
)�timeoutzutf-8Nzlsws-(\d+\.\d+\.\d+)-entcSsdd�|�d�D�S)NcSsg|]}t|��qSr)�int)�.0�xrrr�
<listcomp>C�zKServerStatusUtil.getLatestLSWSVersion.<locals>.<lambda>.<locals>.<listcomp>�.)�split)�vrrr�<lambda>Cr0z7ServerStatusUtil.getLatestLSWSVersion.<locals>.<lambda>)r���z&Found latest LSWS Enterprise version: �
rz7Could not find version pattern in HTML, using fallback
z%Failed to fetch latest LSWS version: z, using fallback
z6.3.4)�urllib�request�Request�urlopen�read�decode�re�findall�sortedrr�statusWriterr	�lswsInstallStatusPath�	Exceptionr#)�url�req�response�html�version_pattern�versions�latest_version�errr�getLatestLSWSVersion3s2�
�
��
���z%ServerStatusUtil.getLatestLSWSVersionc
Cs��zOt��}z
d}t�||�WnYz
d}t�||�WnYz
d}t�||�WnYddlm}t��}|��rHd|�d�}nd|�d�}t�||�dkrYWdStj�	d	�rdt
�d
�tj�	d|�d��rwt
�d|�d��|��r�d
|�d�}nd
|�d�}t�||�dkr�WdS|dkr�d|�d�}t�||�dkr�WdSntd|�d�d�}|�
|�|��t
�dd|�d��t
�dd|�d��t�d|�d��d}t�||�dkr�WdSd}t�||�dkr�WdSd}t�||�dkr�WdSt�|�d}t
�d|�t
�d|�t
�d|�zd|}t�t�|��WnYz
t�d|���WnYgd�}|D]
}	d |	}t�||��q@Wd!St�yl}
ztj�t|
��WYd}
~
dSd}
~
ww)"Nzgroupadd nobodyzusermod -a -G nobody nobodyzsystemctl stop lswsr)�
ACLManagerz5wget https://www.litespeedtech.com/packages/6.0/lsws-z-ent-aarch64-linux.tar.gzz-ent-x86_64-linux.tar.gzz/usr/local/CyberCP/lsws-6.0/z/usr/local/CyberCP/lsws-6.0z/usr/local/CyberCP/lsws-�/z
tar zxf lsws-z/-ent-aarch64-linux.tar.gz -C /usr/local/CyberCPz.-ent-x86_64-linux.tar.gz -C /usr/local/CyberCP�trialz2wget -q --output-document=/usr/local/CyberCP/lsws-z>/trial.key http://license.litespeedtech.com/reseller/trial.keyz
/serial.no�wz4/usr/local/CyberCP/serverStatus/litespeed/install.shz6/usr/local/CyberCP/serverStatus/litespeed/functions.shzchmod +x install.shzchmod +x functions.shz./install.shz/usr/local/lsws/conf/z:/usr/local/CyberCP/serverStatus/litespeed/httpd_config.xmlz5/usr/local/CyberCP/serverStatus/litespeed/modsec.confz4/usr/local/CyberCP/serverStatus/litespeed/httpd.conf�chown -R lsadm:lsadm )z%/usr/local/lsws/conf/httpd_config.xmlz /usr/local/lsws/conf/modsec.confz/usr/local/lsws/conf/httpd.confzchmod 644 %sr)r�getcwdr	r(�plogical.aclrLrK�ISARMrr�shutil�rmtree�open�
writelines�close�copy�chdirr r!�shlexr2�rmdirr"rrrr#)�
licenseKeyr%�cwdr$rL�lsws_version�writeSerial�confPath�files�itemsr'rrr�installLiteSpeedSs�
�

��z!ServerStatusUtil.installLiteSpeedc
Cs�z8tj�tjd�tjd}tj�|�rt	�
|�t	�d|�d|}t�||�dkr.WdStj�tjd�WdSt
yS}ztj�t|��WYd}~dSd}~ww)NzSetting up Filemanager files..
�FileManagerz5/usr/local/CyberCP/serverStatus/litespeed/FileManagerz
chmod -R 777 rzFilemanager files are set!
r)rrr@r	rA�serverRootPathrrrrTrU�copytreer(r"rr#)r%�fileManagerPathr$r'rrr�setupFileManager�s 

��z!ServerStatusUtil.setupFileManagercCsFttjd�}tj�d�rt�d�d}t�||�d}t�||�dS)NrO�/usr/local/lswsz%mv /usr/local/lswsbak /usr/local/lswsz!/usr/local/lsws/bin/openlitespeed)	rVr�devnullrrrTrUr	r()�FNULLr$rrr�recover�s
zServerStatusUtil.recoverc

Cs zt|j}tjd|}ttjd�}tj�|�s!d|}t�	||�|d}t�
||j|j|j
|d�dkr5nWdSt�|�}|ddkrFWdStj�d|�rUt�||j�tjd}ttjd�}d	|}t�|�}tj||tjd
�WdSty�}	ztj�t|	��WYd}	~	dSd}	~	ww)N�
/conf/vhosts/rO�	mkdir -p �/vhost.confrr�/etc/letsencrypt/live/�/conf/vhostsrP�rr)�domainr�Server_rootrVrrkrrr	r(�perHostVirtualConf�
adminEmail�externalApp�phpSelection�!createConfigInMainVirtualHostFiler�installSSLForDomainr[r2r r!�STDOUTr"rrrr#)
�website�virtualHostNamerarlr$�completePathToConfigFile�	retValues�	vhostPath�cmdr'rrr�
createWebsite�s<��


��zServerStatusUtil.createWebsitec

CsDz�|j}tjd|}|d}tjd|}ttjd�}tj�|�s,d|}t�	||�t�
|j|jj|||jj|j
|jjd�dkrCnWdSt�||jj�}|ddkrWWdStj�d|�rgt�||jj�tjd}ttjd�}d	|}t�|�}tj||tjd
�WdSty�}	ztj�t|	��WYd}	~	dSd}	~	ww)NrnrprOrorrrqrrrPrs)rtrrurVrrkrrr	r(�perHostDomainConf�masterrwryrx� createConfigInMainDomainHostFilerr{r[r2r r!r|r"rrrr#)
r}r~rarrlr$r�r�r�r'rrr�createDomains8,

���zServerStatusUtil.createDomaincCs�z�tj��}|D]�}tj�tjd|jdd�t�	|�dkr#WdS|j
��}|D]5}zt�|�dkr=tj�d|j�Wq*t
y_}ztj�d|jdt|��WYd}~q*d}~ww|j��}|D]8}z|j}|��t�|j|dd|j|j�Wqgt
y�}ztj�d|dt|��WYd}~qgd}~wwtj�tjd	|jdd�qWdSt
y�}ztj�t|��WYd}~dSd}~ww)
NzBuilding vhost conf for: z.
rrz#Error while creating child domain: z . Exact message: z/homez#Error while creating alais domain: z#vhost conf successfully built for: )r�objects�allrrr@r	rArtr��childdomains_setr�rr"r#�aliasdomains_set�aliasDomain�deleter�createAliasrw�admin)�allWebsitesr}�childs�childr'�aliases�aliasr�rrr�rebuildvConf+s^

�
������
����
�� ��zServerStatusUtil.rebuildvConfc

CsTz�dtjd<ttjd�}ttjd�}tj�tjd�tj�tjdd�t	�
�tj�d�r`tj�d�s>t
jddd	td
�d�t�d�}|D]}|�d�d
krOqEd|}zt
�|�WqEYqEtj�d�rid}nd}t�||�tj�tjdd�tj�tjdd�t�||�dkr�tj�tjdd�t��WdStj�tjdd�tj�tjdd�t��tj�tjdd�t	��t	��d}tj�|�r�d}nd}t|d���}	t|d�}
|	D]}|�d�d
kr�q�|
�|�q�|
��tj�tjdd�WdSt�y)}z tj�tjdt|�d�tj�t|��t��WYd}~dSd}~ww)Nzxterm-256color�TERMrOzStarting conversion process..
zRemoving OpenLiteSpeed..
rrjz/usr/local/lswsbakTz*.sock*)�symlinks�ignore�lsphpr5r
z/etc/redhat-releasezyum -y erase openlitespeedzapt-get -y remove openlitespeedzOpenLiteSpeed removed.
z.Installing LiteSpeed Enterprise Web Server ..
rz"Failed to install LiteSpeed. [404]z+LiteSpeed Enterprise Web Server installed.
zRebuilding vhost conf..
zvhost conf successfully built.
z/var/spool/cron/rootz/var/spool/cron/crontabs/root�rz-maxdepth 2 -type f -newerz@Successfully switched to LITESPEED ENTERPRISE WEB SERVER. [200]
z	%s. [404])r�environrVr	rArkrrr@r�
killLiteSpeedrrrTrgr�listdir�findrUr(rdrmr��
stopLitespeed�restartLitespeed�	readlinesrWrXr"r#r)
r]r%rl�dirs�dir�finalDirr$�
CentOSPath�cronPath�datarrcr'rrrrSs�

�

�
�
�
	�
�

���zServerStatusUtil.switchTOLSWSc
Cs�zbt|�}|��	dtj}t�|�}|�d�dkr5dtj}t�|�dd|dd�}tt|��WdS|�d	�dkrVdtj}t�|�ddd
dd�}tt|��WdSdd|dd�}t	�
d�q
ty}}ztj
�t|��WYd}~dSd}~ww)NTz	sudo cat z[404]r5zsudo rm -f rr)�status�abort�
requestStatus�	installedz[200]zSuccessfully converted.�)r	�startrAr�outputExecutionerr��popenExecutioner�printr#�time�sleepr"rrr)r]�ssur$�output�data_retr'rrr�switchTOLSWSCLI�s2






���z ServerStatusUtil.switchTOLSWSCLIN)�__name__�
__module__�__qualname__rArfrr�staticmethodr(rKrdrirmr�r�r�rr�rrrrr	s2


j


#
$
'
fr	cCsNtjdd�}|jddd�|jddd�|��}|jdkr%t�|j�dSdS)	NzServer Status Util.)�description�functionzSpecific a function to call!)�helpz--licenseKeyz+LITESPEED ENTERPRISE WEB SERVER License Keyr)�argparse�ArgumentParser�add_argument�
parse_argsr�r	rr])�parser�argsrrr�main�s
�r��__main__)$r�sysr�r�append�djangor��
setdefault�setupr r[r�rT�plogical.CyberCPLogFileWriterrr�plogical.processUtilitiesr�websiteFunctions.modelsr�plogical.virtualHostUtilitiesr�plogical.sslUtilitiesr�plogical.vhostrr�	threadingr�urllib.requestr7r=r
r	r�r�rrrr�<module>s8C
�