Spamworldpro Mini Shell
Spamworldpro


Server : Apache/2.4.52 (Ubuntu)
System : Linux webserver 6.8.0-49-generic #49~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Wed Nov 6 17:42:15 UTC 2 x86_64
User : www-data ( 33)
PHP Version : 8.1.2-1ubuntu2.21
Disable Function : NONE
Directory :  /lib/python3/dist-packages/twisted/conch/scripts/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //lib/python3/dist-packages/twisted/conch/scripts/__pycache__/tkconch.cpython-310.pyc
o

�b�\�@s�dZddlZddlZddlZddlZddlZddlZddlZddl	m
Zddlm
ZddlmZmZddlmZddlmZddlmZmZmZmZmZmZmZmZddlm Z ddl!m"Z"m#Z#m$Z$m%Z%dd	l&m'Z'm(Z(Gd
d�dej)�Z*Gdd
�d
e(j+�Z,da-da.da/da0dd�Z1dd�Z2dd�Z3Gdd�de#j4�Z5Gdd�dej6�Z6Gdd�dej7�Z7Gdd�dej8�Z8Gdd�dej9�Z:e;dkr�e2�dSdS)z2
Implementation module for the `tkconch` command.
�N)�List�Tuple)�error)�isInKnownHosts)�channel�common�
connection�
forwarding�keys�session�	transport�userauth)�tkvt100)�defer�protocol�reactor�	tksupport)�log�usagec@s4eZdZdd�Zdd�Zdd�Zdd�Zd	d
�ZdS)�TkConchMenucOs�tjj|g|�Ri|��|j�d�t��|_|j�d�tj|dddd�j	dddd�t�
|�|_|jj	d	d	dd
d�tj|dddd�j	dd	dd�t�
|�|_|jj	d	d	d	d
d�tj|ddd
d�j	dddd�t�
|�|_
|j
j	d	d	dd
d�tj|dddd�j	dddd�t�
|�|_|jj	d	d	dd
d�tj|dddd�j	dddd�t�
|�|_|jj	d	dd
d�tj||jdd�j	ddd
d�tj|dd�j	dddd�tj|ddd�|_|jj	d	d	dd
d�tj|d|jd�j	ddd�tj|d|jd�j	ddd�t�
|�|_|jj	d	dd
d�tj|dd�j	ddd
d�t�
|�|_|jj	d	dd
d�tj|d d�j	ddd
d�tj|d!|jdd"�|_|jj	d	d#d�tj|d$|jd%d"�|_|jj	dd#d�tj|d&d�j	ddd'd
d�tj|ddd(d�j	dd)dd�tj
|d*d+�|_|jj	d	d	d)d
d�tj|ddd,d�j	dd-dd�tj
|d.d+�|_|jj	d	d	d-d
d�tj|ddd/d�j	dd0dd�tj
|d1d+�|_|jj	d	d	d0d
d�tj|d2|jd�j	ddd3d
d�|jddd4d5�|j d	dd	d5�|j�!d6t"j#�dS)7N�TkConch�local�w�left�Hostname)�anchor�justify�text�)�column�row�sticky��nesw)r�
columnspanr r!�Port�Username��Command��Identity��Browse)�commandrzPort Forwarding)r�r)�height�width�Add)rr-�)rr �Remove��Host�Local)r�variable�value�	�Remote�remotezAdvanced Options�
�Cipher��cipher)�name�MAC��maczEscape Char�
�escapezConnect!��@)�weight�minsize�WM_DELETE_WINDOW)$�Tkinter�Frame�__init__�master�title�	StringVar�localRemoteVar�set�Label�grid�Entry�host�port�userr-�identity�Button�getIdentityFile�Listbox�forwards�
addForward�
removeForward�forwardPort�forwardHost�Radiobutton�localForward�
remoteForwardr?rCrE�	doConnect�grid_rowconfigure�grid_columnconfigurer�sys�exit)�self�args�params�rm�?/usr/lib/python3/dist-packages/twisted/conch/scripts/tkconch.pyrM's�
�������
�
������zTkConchMenu.__init__cCs4t��}|r|j�dtj�|j�tj|�dSdS�Nr)�tkFileDialog�askopenfilenamerY�deleterK�END�insert)rj�rrmrmrnr[�s
�zTkConchMenu.getIdentityFilecCs�|j��}|j�dtj�|j��}|j�dtj�|j��dkr1|j�tjd|�d|���dS|j�tjd|�d|���dS)Nrr�L:�:�R:)	r`�getrrrKrsrarQr]rt)rjrWrVrmrmrnr^�s

  zTkConchMenu.addForwardcCs&|j��}|r|j�|d�dSdSro)r]�curselection�remove)rj�currmrmrnr_�s
�zTkConchMenu.removeForwardc	Cs�d}|j��td<|j��td<|j��td<|j��td<|j��}|j��}|j��}|rA|t	j
vr9|gt	_
nt�dd�d}|rW|t	j
vrM|gt	_
n
|rWt�dd	�d}|r�|d
krbdtd<n0|ddkr{t|�d
kr{tt|d�d�td<nt|�dkr�|td<n|r�t�dd|�d}|j��r�tj�|j���|j�dtj�D]}|ddkr�t�|d
d��q�t�|d
d��q�dtdvr�td�dd�\td<td<tdr�tds�|r�t�dd�d}|�rJ|j��|j��td�r	tj}t� tj!�|t_nt�"�t#t_$tj�sddgt_td}t%td�p$d�}t�&||f�t'�(||t)��t*j�+�t*j�,d�-tdtd��dS|�.�dS)NrrVrWrXr-rzBad cipher.rzBad MAC.�nonerE�^r"rGzBad escape character '%s'.�L�@zMissing host or username.rz
~/.ssh/id_rsaz
~/.ssh/id_dsa�z{}@{} - TkConch)/rVry�optionsrWrXr-r?rCrE�SSHClientTransport�supportedCiphers�tkMessageBox�	showerror�
supportedMACs�len�chr�ordrY�	identitys�appendr]rKrs�opt_localforward�opt_remoteforward�splitrN�quit�destroyrh�stdoutr�startLogging�stderr�discardLogs�handleError�deferr�int�msgr�
connectTCP�SSHClientFactory�frame�	deiconifyrO�format�focus)	rj�finishedr?rCrE�line�realoutrVrWrmrmrnre�sx














�zTkConchMenu.doConnectN)�__name__�
__module__�__qualname__rMr[r^r_rermrmrmrnr&s^
rc	@sjeZdZUdZgd�gd�gd�gd�gd�gd�gd�gd	�gZgd
�gd�gd�gd
�gd�gd�gd�gd�gZejjZ	ejj
Zej
dge�dd�e	D��e�dd�eD��ejdd�ejdd�d�e��ejdd�ejddd�gd�ZgZeeed<gZeeeeeeffed<gZeeeeeeffed <d!d"�Zd#d$�Zd%d&�Zd'd(�Zd)d*�Zd+S),�GeneralOptionsz,Usage:    tkconch [options] host [command]
 )rX�lNzLog in using this user name.)rY�iz~/.ssh/identityz&Identity for public key authentication)rE�e�~z(Set escape character; ``none'' = disable)r?�cNzSelect encryption algorithm.)�macs�mNz.Specify MAC algorithms for protocol version 2.)rW�pNz7Connect to this port.  Server must be on the same port.)�localforwardrNz<listen-port:host:port   Forward local port to remote address)�
remoteforward�RNz<listen-port:host:port   Forward remote port to local address)�tty�tz-Tty; allocate a tty even if command is given.)�notty�TzDo not allocate a tty.)�version�VzDisplay version number only.)�compress�CzEnable compression.)�noshell�Nz"Do not execute a shell or command.)�	subsystem�sz-Invoke command (mandatory) as SSH2 subsystem.)r�vz
Log to stderr)�ansilog�az!Print the received data to stdout)r�r�cC�g|]}|���qSrm��decode��.0r�rmrmrn�
<listcomp>
�zGeneralOptions.<listcomp>cCr�rmr�r�rmrmrnr�r�zlisten-port:host:port)�descr)r?r�r�r�r-�argumentT)r��repeat)�mutuallyExclusive�
optActions�extraActionsr��
localForwards�remoteForwardscCs|j�|�dS�N)r�r�)rjr�rmrmrn�opt_identity�zGeneralOptions.opt_identitycC�8|�d�\}}}t|�}t|�}|j�|||ff�dS�Nrw)r�r�r�r�)rj�f�	localPort�
remoteHost�
remotePortrmrmrnr� �zGeneralOptions.opt_localforwardcCr�r�)r�r�r�r�)rjr�r��connHost�connPortrmrmrnr�&r�z GeneralOptions.opt_remoteforwardcCsdgtjdd�<dS)N�zlibrr)r��supportedCompressions�rjrmrmrn�opt_compress,szGeneralOptions.opt_compresscGs>|r|d|d<d�|dd��|d<dSd|d<d|d<dS)NrrV� rr-�)�join)rjrkrmrmrn�	parseArgs/s
zGeneralOptions.parseArgsN)r�r�r��synopsis�
optParameters�optFlagsrr�r��_ciphersr��_macsr�Completions�CompleteList�	Completer�CompleteUserAtHost�compDatar�r�str�__annotations__r�rr�r�r�r�r�r�r�rmrmrmrnr��sT
��

�
��  r�csJtjrtd��t���g}|f��fdd�	}|t_t�|�tj���S)Nzcan't ask 2 questions at once!cs�|sdS|dkrt��|dkr%t�d�d�|�}~dt_��|�dSdt|�kr1dkrCnn|�|��rAt�|�dSdSt|�dkrX|rZ�rRt�d�|��dSdSdS)	N��
z
r�� �r4z )	r�stopr��writer��callbackr�r��pop)�ch�resp�stresp��d�echormrn�gotCharEs*



�
�z!deferredAskFrame.<locals>.gotChar)r�r��
ValueErrorr�Deferredr��canvas�focus_force)�questionr�r�r�rmr�rn�deferredAskFrame?s

rc
Cs�tjdd�}d|vr#|�d�}|||d�|}||d|d�=|dd�D],}z!|�|�}|dd�dkrK||dddkrKg|||d�<Wq)tyUYq)wt��}|��t��}t|�a	t	j
tjtjdd�t
�azt�|�Wn"tjy�}ztd	|�t��t�d�WYd}~nd}~wwt��D]\}}|r�tt	|�r�tt	|��tj|�q�tjD]\}\}	}
t	j�tjd
|�d|	�d|
���q�gt_tjD]\}\}	}
t	j�tjd|�d|	�d|
���q�gt_tj|dd
�a|� dtj!tj"dtj#tj$df�tj
tjd�t%�&|�|��td�r)td�s0dtdv�r5t	�'�n|�(�t)�*�t�t+�dS)Nrz-lr"r)z-or�-)�side�fill�expandz	ERROR: %srvrwrx)r�z%dx%dr')rrVrXr�),rh�argv�indexr�rK�Tk�withdraw�Toplevelr�menu�pack�TOP�BOTHr�r��parseOptionsr�
UsageError�print�opt_helpri�items�hasattr�getattrrtrsr�r]r�r�
VT100Framer��geometry�	fontWidthr0�
fontHeightr/r�installre�mainloopr�run�
exitStatus)rkr��arg�root�top�u�kr�r��rh�rprmrmrnr`sh

$�����$$��
"
rcCs(ddlm}dat�|���t���)Nr��failurer")�twisted.pythonr)r r�err�Failurerr�r(rmrmrnr��s
r�c@s(eZdZdZdd�Zdd�Zdd�ZdS)	r�TcCst��dSr�)rr�r�rmrmrn�stopFactory�szSSHClientFactory.stopFactorycCst�Sr�)r�)rj�addrrmrmrn�
buildProtocol�szSSHClientFactory.buildProtocolcCs t�dd|j�d|j���dS)NrzConnection Failed, Reason:
 z: )r��showwarning�typer8)rj�	connector�reasonrmrmrn�clientConnectionFailed�s�z'SSHClientFactory.clientConnectionFailedN)r�r�r��noisyr-r/r4rmrmrmrnr��s
r�c@s<eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
S)r�cCsd||fadS)NzDconch:	Remote side disconnected with error code %i
conch:	reason: %s)r )rj�code�descrmrmrn�receiveError�s��zSSHClientTransport.receiveErrorcCs d||fatj�|||�dS)Nz>conch:	Sending disconnect with error code %i
conch:	reason: %s)r rr��sendDisconnect)rjr6r3rmrmrnr9�s
��z!SSHClientTransport.sendDisconnectcCs"|stdrt�d|�dSdS)NrzReceived Debug Message: %s)r�rr�)rj�
alwaysDisplay�message�langrmrmrn�receiveDebug�s�zSSHClientTransport.receiveDebugcCs�ttd|ddi�}|dkrt�d�S|dkrt�t�d��Std|j��j	kr2td}td}nd�
td|j��j	�}d�
td|j��j	�}t�|�d}d	�
|d
dd�||�}|d
7}t
|d��|j|||�S)NrVzknown-hostsrr"�bad host keyz{} ({})z{},{}rzNThe authenticity of host '{}' can't be established.
{} key fingerprint is {}.�DSA�RSA�sssh-dsssssh-rsaz9
Are you sure you want to continue connecting (yes/no)? )rr�r�succeed�failr�
ConchErrorr�getPeerrVr�r�getNSr�addCallback�_cbVerifyHostKey)rj�pubKey�fingerprint�goodKeyrV�khHost�keyType�quesrmrmrn�
verifyHostKey�s,

��

�z SSHClientTransport.verifyHostKeyc	Cs�|��dvrtdd��|j|||�S|��dkr"t�d�t�d��z?t�d|dd	d
�|f�tt	j
�d�d��}t�
|�}|�d
|�d|�d|���Wd�WdS1sZwYWdStyot��tj�w)N)�yes�nozPlease type  'yes' or 'no': rrQzHost key verification failed.
r>zBWarning: Permanently added '%s' (%s) to the list of known hosts.
r?r@rAz~/.ssh/known_hostsr��
r�)�lowerrrGrHr�r�rrD�open�os�path�
expanduser�base64�	b64encode�
BaseExceptionrr�)rj�ansrIrLrM�known_hosts�
encodedKeyrmrmrnrH�s*

�

��
&��z#SSHClientTransport._cbVerifyHostKeycCs0tdr	td}nt��}|�t|t���dS)NrX)r��getpass�getuser�requestService�SSHUserAuthClient�
SSHConnection)rjrXrmrmrn�connectionSecure�s
z#SSHClientTransport.connectionSecureN)	r�r�r�r8r9r=rOrHrcrmrmrmrnr��sr�c@s@eZdZUgZeeed<ddd�Zdd�Zdd�Z	d	d
�Z
dS)ra�	usedFilesNcCs |sd�|jtd�}t|d�S)Nz{}@{}'s password: rVr)r�rXr�r)rj�promptrmrmrn�getPassword�s
zSSHUserAuthClient.getPasswordcs��fdd�tjD�}|sdS|d}t�|��j�|�tj�|�}|d7}tj�	|�s/dSz	t
j�|��
�WStyE���YSw)Ncsg|]	}|�jvr|�qSrm)rd)r��xr�rmrnr�sz2SSHUserAuthClient.getPublicKey.<locals>.<listcomp>rz.pub)r�r�rr�rdr�rUrVrW�existsr
�Key�fromFile�blobrZ�getPublicKey)rj�files�filermr�rnrls
�zSSHUserAuthClient.getPublicKeyc
Cs�tj�|jd�}tj�|�sdSzt�tj�	|�j
�WStjyN}z%|jddkrCd|jd}t
|d��|jd�WYd}~SWYd}~dSd}~ww)N���rzencrypted key with no password�Enter passphrase for key '%s': )rUrVrWrdrhrrBr
rirj�	keyObject�BadKeyErrorrkrrG�_cbGetPrivateKey)rjrnr�rermrmrn�
getPrivateKeys ���zSSHUserAuthClient.getPrivateKeycCsltj�|jd�}z
tjj||d�jWStjy5|dkr �d|jd}t	|d��
|j|d�YSw)Nro)�passwordr"rprr)rUrVrWrdr
rirjrqrrrrGrs)rjr[�countrnrermrmrnrss

��z"SSHUserAuthClient._cbGetPrivateKeyr�)r�r�r�rdrr�r�rfrlrtrsrmrmrmrnra�s

rac@seZdZdd�ZdS)rbc	Cs�tds
|�t��tjr!tjD]\}}t�|t�||tj��qtj	rGtj	D]!\}}t
�d�||��t�
d|f�}|�d|�||j	|<q'dSdS)Nr�z&asking for remote forwarding for {}:{}z0.0.0.0z
tcpip-forward)r��openChannel�
SSHSessionr�r�	listenTCPr	�SSHListenForwardingFactory� SSHListenClientForwardingChannelr�rr�r��packGlobal_tcpip_forward�sendGlobalRequest)rjr��hostportr��datarmrmrn�serviceStarted-s,�����zSSHConnection.serviceStartedN)r�r�r�r�rmrmrmrnrb,srbc@sPeZdZdZdd�Zdd�Zdd�Zdd	�Zd
d�Zdd
�Z	dd�Z
dd�ZdS)rxssessioncCsd|_t��}tdr|j|_n|j|_|j|_|jt	_
t	j��tdr3|j
�|dt�td��nRtdratdrStj�dd�}d	}t�||d
�}|j
�|d|�|j
�|dt�td��n$td
s}tj�dd�}d	}t�||d
�}|j
�|d|�|j
�|dd�|j
jj�d�dS)NrrEr�s	subsystemr-r��TERM�xterm)��Prrr�spty-req�execr�sshell�)�
escapeModer�SSHSessionClientr��handleInput�dataReceivedr��sendEOF�connectionLostr�r�rr�conn�sendRequestr�NSrU�environry�packRequest_pty_reqr�
setTcpNoDelay)rj�foor��term�winSize�
ptyReqDatarmrmrn�channelOpenHs0

zSSHSession.channelOpencCs�|dvrd|_|�|�dS|jdkr|tdkrd|_dS|jdkr^d|_|dkr5t�d�t��dS|dkrDt�t�	�t
j�dS|dkrUt�d	�|jj
��dS|�d
|�dSd|_|�|�dS)N)rRr�rrEr"�.zdisconnecting from escape�r�zrekeying connectionr�r)r�r�r�rr�rr�rU�kill�getpid�signal�SIGSTOPr�r�sendKexInit)rj�charrmrmrnr�is*



zSSHSession.handleInputcCs,|�d�}tdrtt|��t�|�dS)Nzutf-8r�)r�r�r�reprr�r��rjrrmrmrnr��s
zSSHSession.dataReceivedcCs:|tjkrt�dt|��tj�|�tj��dSdS)Nzgot %s stderr data)	r�EXTENDED_DATA_STDERRrr�r�rhr�r��flush)rjr�rrmrmrn�extReceived�s

�zSSHSession.extReceivedcCst�d�tj��dS)Nzgot eof)rr�rh�stdin�closer�rmrmrn�eofReceived�s
zSSHSession.eofReceivedcCs.t�d|�t|jj�dkrt��dSdS)Nz	closed %sr)rr�r�r��channelsrr�r�rmrmrn�closed�s�zSSHSession.closedcCs&tt�d|�d�at�dt�dS)Nz>Lrzexit status: %s)r��struct�unpackr rr�r�rmrmrn�request_exit_status�szSSHSession.request_exit_statuscCs|j�|�dSr�)r�r�r�rmrmrnr��r�zSSHSession.sendEOFN)r�r�r�r@r�r�r�r�r�r�r�r�rmrmrmrnrxDs!rx�__main__)<�__doc__rXr^rUr�r�rh�tkinterrK�tkinter.filedialog�
filedialogrp�tkinter.messagebox�
messageboxr��typingrr�
twisted.conchr�twisted.conch.client.defaultr�twisted.conch.sshrrrr	r
rrr
�twisted.conch.uir�twisted.internetrrrrr*rrrLr�Optionsr�r�rr r�rrr��
ClientFactoryr�r�rarb�
SSHChannelrxr�rmrmrmrn�<module>sF(
>V!3
O0]
�

Spamworldpro Mini