o
    j                     @   s^   d dl Z d dlZd dlZd dlmZ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ProxyMonitorSSL)
__banner__c               
      s  z%d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 | }d$}d%}d&}|jd'u rmtt |jd(krxt	
tj d }|j}|j}g d)}	d }
|jd urt }|j|j|jd* |jd+u rt }
t|j|j||||	|
d,}|jd'u rtd-|j|j|d u rd.nd/f  |
d u r| I d H  W d S t| }	 |
 I d H }|jd0kr t }d'|_tj |_!t|j! |j|||d1 ttj"}d'|_tj |_!|#d2 t$|||d3}t|%  nt|&  q t(y? } zt| W Y d }~d S d }~ww )4Nr   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 bannerzasysocks/test/cert.pemzasysocks/test/key.pemtestcertF   )SOCKS4SOCKS5HTTP)keyfileT)client_timeoutbuffer_sizesupported_protocolsmonitor_dispatch_qz*Proxy server is up and running on %s:%s %s z(SSL)i  )passwordzZDHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA:ECDHE-ECDSA-AES128-GCM-SHA256:TLS_AES_128_GCM_SHA256)client_ssl_ctxdestination_ssl_ctx))argparseArgumentParseradd_argumentint
parse_argssilentprintr   verboser   setLevelloggingDEBUGr   r   certssl
SSLContextload_cert_chainkeymonitorasyncioQueuer   	listen_iplisten_portruncreate_taskgetdst_portcreate_default_contextcheck_hostname	CERT_NONEverify_modePROTOCOL_TLS_CLIENTset_ciphersr   	interceptjust_logcancel	Exception)r   parserargs	fake_certfake_key	fake_passssl_ctxr   r   r   r   serverserver_taskr-   r   r   ssl_monitore rJ   /root/aizidognhua/tmp/workspace/projects/ec89d86c-575f-41c9-af57-ac45cbdbf775/venv/lib/python3.10/site-packages/asysocks/test/ssl_test.pyamain
   s   





"

rL   c                   C   s   t t  d S )N)r.   r2   rL   rJ   rJ   rJ   rK   maina   s   rM   __main__)r.   r&   r)   asysocks.serverr   r   r   asysocks._versionr   rL   rM   __name__rJ   rJ   rJ   rK   <module>   s   W
