403Webshell
Server IP : 80.87.202.40  /  Your IP : 216.73.216.169
Web Server : Apache
System : Linux rospirotorg.ru 5.14.0-539.el9.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Dec 5 22:26:13 UTC 2024 x86_64
User : bitrix ( 600)
PHP Version : 8.2.27
Disable Function : NONE
MySQL : OFF |  cURL : ON |  WGET : ON |  Perl : ON |  Python : OFF |  Sudo : ON |  Pkexec : ON
Directory :  /lib64/python3.9/site-packages/hgext/zeroconf/__pycache__/

Upload File :
current_dir [ Writeable] document_root [ Writeable]

 

Command :


[ Back ]     

Current File : /lib64/python3.9/site-packages/hgext/zeroconf/__pycache__/__init__.cpython-39.pyc
a

�+�b��@s&dZddlmZddlZddlZddlZddlmZddlm	Z	m
Z
mZmZm
Z
mZmZddlmZdZdadad	d
�Zdd�Zd
d�ZGdd�de�Zdd�Zdd�Zdd�Zdd�Zdd�Zdd�Z e�!e	de �e�!ejde�e�!ejde�e�!ejd e�e�!ed!e�e�!ed"e�dS)#a�discover and advertise repositories on the local network

The zeroconf extension will advertise :hg:`serve` instances over
DNS-SD so that they can be discovered using the :hg:`paths` command
without knowing the server's IP address.

To allow other people to discover your repository using run
:hg:`serve` in your repository::

  $ cd test
  $ hg serve

You can discover Zeroconf-enabled repositories by running
:hg:`paths`::

  $ hg paths
  zc-test = http://example.com:8000/test
�)�absolute_importN�)�Zeroconf)�dispatch�encoding�
extensions�hg�pycompat�rcutil�ui)�serversships-with-hg-corec	Cs�z,t�tjtj�}|�d�|��d}|WStjy@Yn0z6t�t���dd}d|vrfd}|�d�sv|WSWntj	tj
fy�d}Yn0z,t�tjtj�}|�d�|��d}|WStjy�Yn0|S)N)�1.0.0.1rr��:z	127.0.0.1�127.)r
r)�socketZAF_INETZ
SOCK_DGRAMZconnectZgetsockname�errorZ
gethostbyaddr�gethostname�
startswithZgaierrorZherror)�s�ipZdumbip�r�=/usr/lib64/python3.9/site-packages/hgext/zeroconf/__init__.py�getip7s.




rc
Cs�ts,t�}|�d�rdSt�|�at�|�at���d�d}|d}d||f}tj	dt
�|d�|||d|d	�tddd
�}t�|�tj	dt
�|d�|||d|d	�tddd
�}t�|�dS)
Nr�.rz.localz%s-%ss_http._tcp.local.z._http._tcp.local.�/)�descriptionspath)r�port�
properties�addressZweight�priority�_hg._tcp.local.z._hg._tcp.local.)
rrrrZ	inet_aton�localiprr�splitZServiceInfor	�bytestrZregisterService)�name�desc�pathrr�hostname�hostZsvcrrr�publishWs>


�

�
r*cCs6|||�}|j}z
|j}Wn�ty�|���P}|jpDtj�|j�}|j	�
ddd��d�}|j	�
dd�}	|	sr|}	Wd�n1s�0Yt||	||�Yn�0|j	�
ddd��d�d}
|D]n\}}|j	�
�}t��r�|�tj�|dd��tj�|�}|
|�d�}|�
dd�}	|	�s"|}	t||	||�q�|S)Nswebsprefix�rrs.hgshgrc)r�repos�AttributeErrorZ_obtainrepoZreponame�osr'�basename�rootr�config�stripr*�copyr
Z
use_repo_hgrcZ
readconfig�join)Z
create_serverrZappZhttpdrr,Zrepor%r'r&�prefix�urrr�zc_create_server�s0


"
r7c@s$eZdZdd�Zdd�Zdd�ZdS)�listenercCs
i|_dS�N)�found)�selfrrr�__init__�szlistener.__init__cCst|�|jvr|jt|�=dSr9)�reprr:�r;r�typer%rrr�
removeService�szlistener.removeServicecCs|�||�|jt|�<dSr9)ZgetServiceInfor:r=r>rrr�
addService�szlistener.addServiceN)�__name__�
__module__�__qualname__r<r@rArrrrr8�sr8ccs�t�}|�d�rdSt�|�}t�}t�|d|�t�d�|��|j�	�D]P}|j
d|j
�d��}dt�
|j�|j|j�dd�f}d|t�|�fVqNdS)	Nrr!r�.zhttp://%s:%s%sr'�/�zc-)rrrr8ZServiceBrowser�time�sleep�closer:�valuesr%�indexrZ	inet_ntoarrr�getr	r$)rr�l�valuer%�urlrrr�
getzcpaths�s 



�rQcOsL|dkr2|�d�r2t�D]\}}||kr|Sq||||g|�Ri|��S�N�pathsrG�rrQ)�origr;�section�key�args�kwargsr%r'rrrr1�s

r1cOs.|||g|�Ri|��}|dkr*|t�7}|S)NrS)rQ)rUr;rVrXrYr,rrr�configitems�s
rZc
Os\||||g|�Ri|��\}}|dkrT|�d�rTt�D]\}}	||kr6|	|fSq6||fSrRrT)
rUr;rVr%rXrY�opt�subZzcnameZzcurlrrr�configsuboptions�sr]cCs0t�D] \}}||kr|�tj�Sq||�Sr9)rQ�encoder)rU�sourcer%r'rrr�defaultdest�sr`cCs2z|||||�Wtrt��Sntr,t��0dSr9)rrJ)rUr�options�cmdZcmdfuncrrr�cleanupafterdispatch�s��rcs_runcommandsconfigsconfigitemssconfigsuboptionssdefaultdests
create_server)"�__doc__Z
__future__rr.rrH�rZ	mercurialrrrrr	r
rZuimodZmercurial.hgwebrZ	servermodZ
testedwithr"rr*r7�objectr8rQr1rZr]r`rcZwrapfunctionrrrr�<module>s4$	 )"

Youez - 2016 - github.com/yon3zu
LinuXploit