o
    j_	                     @   sZ   d dl Z d dlZd dlZd dlmZmZ d dlmZ dd Zdd Z	e
dkr+e	  dS dS )	    N)SOCKSServer	srvlogger)
__banner__c               
      s&  zdd l } | jdd}|jdddd |jdtd	d
d |jddd |jddd |jdtddd |jdtddd |jddddd |jdddddd  |jd!d"dd#d | }|jd$u rftt |jd%krqt	
tj d }|j}|j}g d&}d }|jd urt }|j|j|jd' |jd(u rdd)lm} dd*lm}	 |	 }
t }t|j|j||||d+}|jd(u r|||
|}t|  |jd$u rtd,|j|j|d u rd-nd.f  |jd(u r	 |  I d H }tt!| q| I d H  W d S  t"y } zt| W Y d }~d S d }~ww )/Nr   z/Universal proxy server (SOCKS4/5 and HTTP proxy)descriptionz--listen-ipz	127.0.0.1z	Listen IP)defaulthelpz--listen-porti8  zListen port)typer   r   z--certzSSL certificate file)r   z--keyzSSL key filez--client-timeout
   zAHow much time to wait ftill the client finishes initial handshakez--buffer-sizei (  zProxy buffer sizez-mz	--monitor
store_truezMonitor mode.)actionr   z-vz	--verbosecount	Verbosity)r   r   r   z-sz--silentzdont print bannerF   )SOCKS4SOCKS5HTTP)keyfileT)InterceptServer)CertManager)client_timeoutbuffer_sizesupported_protocolsz*Proxy server is up and running on %s:%s %s z(SSL))#argparseArgumentParseradd_argumentint
parse_argssilentprintr   verboser   setLevelloggingDEBUGr   r   certssl
SSLContextload_cert_chainkeymonitorasysocks.intercepting.serverr   asysocks.certmanagerr   asyncioQueuer   	listen_iplisten_portcreate_taskrungetstr	Exception)r   parserargsssl_ctxr   r   r   monitor_dispatch_qr   r   certmanager	log_queueserver
trafficloge r>   /root/aizidognhua/tmp/workspace/projects/ec89d86c-575f-41c9-af57-ac45cbdbf775/venv/lib/python3.10/site-packages/asysocks/examples/socksproxy.pyamain	   sl   




	
"
r@   c                   C   s   t t  d S )N)r,   r1   r@   r>   r>   r>   r?   mainK   s   rA   __main__)r,   r"   r%   asysocks.serverr   r   asysocks._versionr   r@   rA   __name__r>   r>   r>   r?   <module>   s   B
