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/plogical/__pycache__/firewallUtilities.cpython-310.pyc
o

��h��@s�ddlZddlZddlZddlZej�d�ej�dd�ze��WnYddl	m
ZddlZddl
mZGdd�d�Zdd	�Zed
krLe�dSdS)�Nz/usr/local/CyberCP�DJANGO_SETTINGS_MODULEzCyberCP.settings)�ProcessUtilitiesc@sdeZdZedd��Zedd��Zedd��Zedd��Zed	d
��Zeddd
��Z	eddd��Z
dS)�FirewallUtilitiescCsTt��tjkst��tjkr|dkrdSt��tjks"t��tjkr(|dkr(dSdS)NrT�F)r�decideDistro�ubuntu�ubuntu20�centos�cent8)�res�r�0/usr/local/CyberCP/plogical/firewallUtilities.py�	resFaileds
$$zFirewallUtilities.resFailedc
Cs�zt�|�}|dkrtj�d|dt|��WdSWdSty>}ztj�d|dt|��WYd}~dSd}~wty_}ztj�d|dt|�d�WYd}~dSd}~ww)NrzFailed to apply rule: z Error #z Error: r)r�executioner�logging�CyberCPLogFileWriter�writeToFile�str�OSError�
ValueError)�commandr�msgrrr
�	doCommands 
�
����zFirewallUtilities.doCommandcC�d}d|d}d|d}d|d}d|d|d|d|dd}t�|�d	}d
}d|d|d|d|dd}t�|�d}t�|�dS)
N�rule family="ipv4"�source address="�"�port protocol="�port="z8firewall-cmd --permanent --zone=public --add-rich-rule='� �accept'�rule family="ipv6"��firewall-cmd --reloadr�rr��proto�port�	ipAddress�
ruleFamily�
sourceAddress�ruleProtocol�rulePortrrrr
�addRule.�(
(

zFirewallUtilities.addRulecCr)
Nrrrrrz;firewall-cmd --permanent --zone=public --remove-rich-rule='rr r!r"r#rr$r%rrr
�
deleteRuleFr.zFirewallUtilities.deleteRulec	
Cs&zw|dkrud|}t�|�t�d|d�|dkrd}nd}d|d}d	}t|d
���}t|d�}|D].}|�d�d
krP|�d�d
ksI|�d�rO|�|�q4q4|�d�d
kr]|�|�q4|�|�q4|��d}t�|�t	d�WdSWdSt
y�}zt	dt|��WYd}~dSd}~ww)N�1z&semanage port -a -t ssh_port_t -p tcp �tcpz	0.0.0.0/0zPermitRootLogin yes
zPermitRootLogin no
zPort �
z/etc/ssh/sshd_config�r�w�PermitRootLogin����Yes�yes�Portzsystemctl restart sshd�1,None�0,)r�normalExecutionerrr-�open�	readlines�find�
writelines�close�print�
BaseExceptionr)	�type�sshPort�	rootLoginr�	pathToSSH�datar�itemsrrrr
�saveSSHConfigs^s<


�
�%��z FirewallUtilities.saveSSHConfigsNc
Cs@z�t|d���}|dkrd}d}tj�|�rnt�|�n|}tj�|�r&nt|d�}|�d�|��d}zt|d���}|D]}|�	|�dkrKd}q@WnY|dkrst|d	�}	|	�d
�|	�d�|	�|�|	�d�|	��tj�
|�r~t�|�td�WdSt
y�}
ztd
t|
��WYd}
~
dSd}
~
ww)Nr3z
/root/.ssh�/root/.ssh/authorized_keysr4z#Created by CyberPanel
rr6r�az#Added by CyberPanel
r2r:r;)r=�read�os�path�exists�mkdirr@rAr>r?�split�removerBrCr)�tempPathrO�key�sshDirrG�sshFile�
presenseCheckrHrIrrrrr
�	addSSHKey�sL

��





��zFirewallUtilities.addSSHKeyc
Cs�z@|�d�d}|dkrd}n|}t|d���}t|d�}|D]}|�d�dkr0|�|�dkr0q|�|�q|��td�WdSty[}ztd	t|��WYd}~dSd}~ww)
NrrrKr3r4zssh-rsar6r:r;)	rRr=r>r?r@rArBrCr)rUrO�keyPartrGrHrrIrrrr
�deleteSSHKey�s"
��zFirewallUtilities.deleteSSHKey)N)�__name__�
__module__�__qualname__�staticmethodrrr-r/rJrYr[rrrr
rs




*/rcCstjdd�}|jddd�|jddd�|jdd	d�|jd
dd�|jdd
d�|jddd�|jddd�|��}|jdkrLt�|j|j|j	�dS|jdkrf|j
s\t�|j�dSt�|j|j
�dS|jdkr�|j
svt�
|j�dSt�
|j|j
�dSdS)NzCyberPanel Installer)�description�functionzSpecific a function to call!)�helpz
--tempPathz1Temporary path to file where PHP is storing data!z--type�Typez	--sshPortzSSH Portz--rootLoginz
Root Loginz--key�Keyz--pathzPath to key file.rJrYr[)�argparse�ArgumentParser�add_argument�
parse_argsrarrJrDrErFrOrYrTr[rU)�parser�argsrrr
�main�s(


�rk�__main__)rN�os.path�sys�djangorO�append�environ�
setdefault�setup�plogical.CyberCPLogFileWriterrrre�plogical.processUtilitiesrrrkr\rrrr
�<module>s&C!
�