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    