
    @OOf                     4    d dl Z d dlZd dlmZ  G d d      Zy)    N)ctxc                       e Zd Zd Zd Zy)Blockc                 d    |j                  dt        dd       |j                  dt        dd       y )Nblock_globalTzE
            Block connections from public IP addresses.
            block_privateFz
            Block connections from local (private) IP addresses.
            This option does not affect loopback addresses (connections from the local machine),
            which are always permitted.
            )
add_optionbool)selfloaders     W/var/www/premiumrankchecker/venv/lib/python3.12/site-packages/mitmproxy/addons/block.pyloadz
Block.load   s<    		
 				
    c                 0   |j                   d   j                  dd      }t        j                  |d         }t	        |t        j
                        r|j                  xs |}|j                  ry t        j                  j                  r9|j                  r-t        j                  d|j                   d    d       d|_        t        j                  j                  r;|j                   r.t        j                  d|j                   d    d       d|_        y y y )	Nr   %   zClient connection from z  killed by block_private option.z#Connection killed by block_private.z killed by block_global option.z"Connection killed by block_global.)peernamersplit	ipaddress
ip_address
isinstanceIPv6Addressipv4_mappedis_loopbackr   optionsr   
is_privateloggingwarningerrorr   	is_global)r   clientpartsaddresss       r   client_connectedzBlock.client_connected   s    "))#q1&&uQx0gy445))4WG;;$$););OO)&//!*<)==]^ AFL;;##(9(9OO)&//!*<)==\] @FL	 ):#r   N)__name__
__module____qualname__r   r$    r   r   r   r      s    
(@r   r   )r   r   	mitmproxyr   r   r(   r   r   <module>r*      s      (@ (@r   