
    5i}	                     |    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lm	Z	 d dl
mZ d Zedk    r e             dS dS )	    N)logger)
__banner__)SOCKSClient)SocksClientURL)SocksLitenerCommsc                     dd l } |                     d          }|                    dddd           |                    d	d
t          dd           |                    ddt          d d           |                    dddd           |                    dd           |                    dt          d           |                    ddd           |                                }|j        dk    rt          j        t          j	                   n|j        d k    rt          j        d           t          |j        |j                  }d }g }|j        d d d!         D ]}t          j        |          }|%|j        |_        |j        |_        |j        |_        n8|                                }|j        |_        |j        |_        |j        |_        |}|                    |           |d d d!         }d" |D             }	d }
|j        dk    rt5          t7          |	                     t5          t8                     d#}|	D ]7}|d$|j        j                                        d%|j        d&|j        d'z  }8t5          |           d(|j        d&|j        d)|d*|j        d&|j        d+}t5          |           tA          ||	|
          }t5          d,           tC          j"        |"                                           d S )-Nr   z1Transparent TCP tunnel for SOCKS unaware clients.)descriptionz-lz--listen-ipz	127.0.0.1zListener IP address to bind to)defaulthelpz-pz--listen-portig+  zListener port number to bind to)typer
   r   z-tz	--timeoutzEndpoint timeoutz-vz	--verbosecount)actionr
   dst_ipz#IP address of the desination server)r   dst_portz%port number of the desination service)r   r   proxy_connection_strings*zKconnection string(s) decribing the socks proxy server connection properties)nargsr         c                 6    g | ]}|                                 S  )
get_target).0xs     S/home/kali/Ninja/venv/lib/python3.11/site-packages/asysocks/examples/sockstunnel.py
<listcomp>zmain.<locals>.<listcomp>5   s     ---Q\\^^---     z|--->| (z) : z:Connection layout
	
	CLIENT --->|
	CLIENT --->|(LISTENER) z  z |--->| (FINAL DST) z
	CLIENT --->|
	
	z Waiting for incoming connections)#argparseArgumentParseradd_argumentint
parse_argsverboser   setLevelloggingDEBUGr   	listen_iplisten_portr   r   from_urlr   endpoint_ipr   endpoint_porttimeoutendpoint_timeoutr   	server_ipserver_portappendprintstrr   versionnameupperr   asynciorun)r"   parserargscommsprev_urlproxiescon_strurlprev_targettargetscredentialstunneltargetlayoutclients                  r   mainrJ      sA   

!
!.a
!
b
bT=KGghhhT?3%NopppT;sdI[\\\T;wBBBX$IJJJZ2YZZZ/s  BO  P  P  PL1/'-     lQ/!	4>4+;	<	<-ddd3  W((#[3?}3,3$$&&; *3?".3,3(	..44R4=--W---L1Gz
 g gV&FN$7$=$=$?$?$?$?AQAQAQSYSeSeSeff&&v 	(((&&&4;;;O v
eWk
2
2)***VZZ\\r   __main__)r)   r:   asysocksr   asysocks._versionr   asysocks.clientr   asysocks.common.clienturlr   asysocks.common.commsr   rJ   __name__r   r   r   <module>rR      s            ( ( ( ( ( ( ' ' ' ' ' ' 4 4 4 4 4 4 3 3 3 3 3 3D D DP z r   