o
    �õ±j  ã                   @   sb   d dl Z d dlZd dlZd dlZd dlmZ d dlmZ d dlm	Z	 dd„ Z
edkr/e
ƒ  dS dS )é    N)Úlogger)Ú
__banner__)ÚSocksSecurityc            
      C   s¢  dd l } | jdd�}|jddd� |jddd� |jdd	td d
d� |jdddddd� |jdddd� |jddddd� |jddd� |jdtdd� |jddd� |jddd� |jd d!d"d� |jd#d$d%d� | ¡ }|jd&u rwttƒ t 	d'¡ |j
d(krˆt 	tj¡ n
|j
d)kr’t 	d(¡ tƒ }|j|_|j|_|jd&u r¤d nt ¡ |_|j|_|j|_|j|_|j|_|j|_t | ¡ ¡\}}}|D ]\}}td*|j|f ƒ qÉ|D ]	}td+|j ƒ qÙ|D ]	}td,|j ƒ qåt | ¡ ¡\}	}|d u�rtd-| ƒ n|	d.u �rtd/ƒ n	|	d&u �rtd0ƒ t | |j |j!¡¡\}	}|d u�r0td1| ƒ n|	d.u �r:td2ƒ n	|	d&u �rCtd3ƒ t | "|j |j!¡¡\}	}|d u�r\td4| ƒ n|	d.u �rftd5ƒ n	|	d&u �rotd6ƒ |jd u�rÃ|jd u�rÃ|j d u�r�t | #|j |j!¡¡\}	}n	t | ¡ ¡\}	}|d u�r¤td7| ƒ n|	d.u �r´td8|j|jf ƒ n|	d&u �rÃtd9|j|jf ƒ |jd&u �rÏtd:ƒ d S d S );Nr   zSOCKS5 proxy security tester)ÚdescriptionÚhostÚ )ÚhelpÚportz-tz	--timeoutÚTimeout)ÚtypeÚdefaultr   z-vz	--verboseÚcountÚ	Verbosity)Úactionr   r   z--sslÚ
store_trueÚSSL)r   r   z-sz--silentz--verify-hostz!Destination host to test proxy onz--verify-portz!Destination port to test proxy on)r   r   z--verify-sendz-Data to send to destination to test the proxyz--verify-recvz;Data expected to be recieved from the destination via proxyz-uz
--usernamezUsername for proxy authz-pz
--passwordzPassword for proxy authFéd   é   é   z[AUTHMETHOD][E] %s : %sz[AUTHMETHOD][+] %sz[AUTHMETHOD][-] %sz5[NOAUTH][E] Error while determining noauth. Reson: %sTz$[NOAUTH][+] No authentication neededz![NOAUTH][-] Authentication neededz9[BIND][E] Error while determining BIND support. Reson: %sz[BIND][+] Server supports BINDz$[BIND][-] Server doesnt support BINDzG[LOCALPORT][E] Error while determining local connect support. Reson: %sz6[LOCALPORT][+] Server supports connecting to localhostz<[LOCALPORT][-] Server doesnt support connecting to localhostz@[CONNTEST][E] Error while performing connection test! Reason: %sz4[CONNTEST][+] Server sucsessfully connected to %s:%sz/[CONNTEST][-] Server failed to connect to %s:%szDone!)$ÚargparseÚArgumentParserÚadd_argumentÚintÚ
parse_argsÚsilentÚprintr   r   ÚsetLevelÚverboseÚloggingÚDEBUGr   r   Ú	server_ipr	   Úserver_portÚsslÚcreate_default_contextÚserver_sslctxÚtimeoutÚverify_hostÚverify_portÚverify_sendÚverify_recvÚasyncioÚrunÚsocks5_authmethodsÚnameÚsocks5_noauthÚsocks5_bindÚusernameÚpasswordÚsocks5_localÚsocks5_login)
r   ÚparserÚargsÚsocsecÚ	supportedÚnotsupportedÚerrorsÚmethodÚerrÚres© r=   ú�/root/aizidognhua/tmp/workspace/projects/ec89d86c-575f-41c9-af57-ac45cbdbf775/venv/lib/python3.10/site-packages/asysocks/examples/sockssec.pyÚmain   s�   



















ÿr?   Ú__main__)r*   r   Ú	tracebackr"   Úasysocksr   Úasysocks._versionr   Úasysocks.securityr   r?   Ú__name__r=   r=   r=   r>   Ú<module>   s   c
ÿ