GIF89;aGIF89;aGIF89;a
Team Anon Force
https://t.me/Professor6T9x
Professor6T9 Web SheLL
Linux das102.truehost.cloud 4.18.0-553.8.1.lve.el8.x86_64 #1 SMP Thu Jul 4 16:24:39 UTC 2024 x86_64
LiteSpeed
156.232.88.2
/
opt
/
alt
/
python38
/
lib
/
python3.8
/
site-packages
/
paramiko
/
__pycache__
[ HOME ]
Exec
Submit
proxy.cpython-38.pyc
U rX�f( � @ s� d dl Z d dlZd dlZd dlmZ d dlZd dlZd\ZZzd dlZW n& ek rn Z ze ZW 5 dZ [ X Y nX d dl mZ d dlm Z G dd� de �ZdS )� N)�select)NN)�ProxyCommandFailure)�ClosingContextManagerc @ sP e Zd ZdZdd� Zdd� Zdd� Zdd � Zed d� �Z edd � �Z dd� ZdS )�ProxyCommanda� Wraps a subprocess running ProxyCommand-driven programs. This class implements a the socket-like interface needed by the `.Transport` and `.Packetizer` classes. Using this class instead of a regular socket makes it possible to talk with a Popen'd command that will proxy traffic between the client and a server hosted in another machine. Instances of this class may be used as context managers. c C s@ t dkrt�t�|�| _t j| jt jt jt jdd�| _d| _dS )a Create a new CommandProxy instance. The instance created by this class can be passed as an argument to the `.Transport` class. :param str command_line: the command that should be executed and used as the proxy. Nr )�stdin�stdout�stderr�bufsize) � subprocess�subprocess_import_error�shlex�split�cmd�Popen�PIPE�process�timeout)�selfZcommand_line� r �?/opt/alt/python38/lib/python3.8/site-packages/paramiko/proxy.py�__init__3 s �zProxyCommand.__init__c C sR z| j j�|� W n6 tk rH } ztd�| j�|j��W 5 d}~X Y nX t|�S )z� Write the content received from the SSH client to the standard input of the forked command. :param str content: string to be sent to the forked command � N) r r �write�IOErrorr �joinr �strerror�len)r �content�er r r �sendG s &zProxyCommand.sendc C s z�d}t � � }t|�|k r�d}| jdk rPt � � | }|| jkrFt�� �| j| }t| jjgg g |�\}}}|r|d | jjkr|t�| jj� � |t|� �7 }q|W S tjk r� |r�| Y S � Y n8 t k � r� } ztd�| j �| j��W 5 d} ~ X Y nX dS )z� Read from the standard output of the forked program. :param int size: how many chars should be read :return: the string of bytes read, which may be shorter than requested � Nr r )�timer r �socketr r r �os�read�filenor r r r r ) r �size�buffer�startZselect_timeout�elapsed�r�w�xr r r r �recvX s. �zProxyCommand.recvc C s t �| jjtj� d S �N)r# �killr �pid�signal�SIGTERM�r r r r �closey s zProxyCommand.closec C s | j jd k S r. )r � returncoder3 r r r �closed| s zProxyCommand.closedc C s | j S r. )r6 r3 r r r �_closed� s zProxyCommand._closedc C s || _ d S r. )r )r r r r r � settimeout� s zProxyCommand.settimeoutN)�__name__� __module__�__qualname__�__doc__r r r- r4 �propertyr6 r7 r8 r r r r r '