o
    �õ±jd  ã                   @   s"   d dl Z d dlZG dd„ dƒZdS )é    Nc                   @   sL   e Zd Zdd„ Zdd„ Zedd„ ƒZedd„ ƒZd	d
„ Zdd„ Z	dd„ Z
dS )ÚInterceptTargetc                 C   s(   d | _ d | _d | _d | _d | _d | _d S ©N©ÚdsthostÚdstportÚsrchostÚsrcportÚprotoÚssl©Úself© r   ú�/root/aizidognhua/tmp/workspace/projects/ec89d86c-575f-41c9-af57-ac45cbdbf775/venv/lib/python3.10/site-packages/asysocks/intercepting/target.pyÚ__init__   s   
zInterceptTarget.__init__c                 C   s>   | j d ur	| j jnd | j| jd ur| jjnd | j| j| jdœS )Nr   )r   Úpatternr   r   r   r	   r
   r   r   r   r   Úto_dict   s   úzInterceptTarget.to_dictc                 C   s¢   t ƒ }|  d¡d urt | d ¡nd |_|  d¡d ur!t| d ƒnd |_|  d¡d ur2t | d ¡nd |_|  d¡d urBt| d ƒnd |_| d |_	| d |_
|S )Nr   r   r   r   r	   r
   )r   ÚgetÚreÚcompiler   Úintr   r   r   r	   r
   )ÚdÚitr   r   r   Ú	from_dict   s   " " 

zInterceptTarget.from_dictc                 C   s   t  t | ¡¡S r   )r   r   ÚjsonÚloads)Újdatar   r   r   Ú	from_json"   s   zInterceptTarget.from_jsonc                 C   s   t  |  ¡ ¡S r   )r   Údumpsr   r   r   r   r   Úto_json&   s   zInterceptTarget.to_jsonc                 C   s   |   |¡du r| j| jfS dS )NT)NN)Úcheck_interceptr
   r	   ©r   Úmonitorr   r   r   Úget_proto_for_monitor)   s   z%InterceptTarget.get_proto_for_monitorc                 C   sx   | j d ur| j  |j¡d u rdS | jd ur| j|jkrdS | jd ur-| j |j¡d u r-dS | jd ur:| j|jkr:dS dS )NFT)	r   ÚmatchÚdst_ipr   Údst_portr   Ú	client_ipr   Úclient_portr    r   r   r   r   .   s   



zInterceptTarget.check_interceptN)Ú__name__Ú
__module__Ú__qualname__r   r   Ústaticmethodr   r   r   r"   r   r   r   r   r   r      s    



r   )r   r   r   r   r   r   r   Ú<module>   s    