__  __    __   __  _____      _            _          _____ _          _ _ 
 |  \/  |   \ \ / / |  __ \    (_)          | |        / ____| |        | | |
 | \  / |_ __\ V /  | |__) | __ ___   ____ _| |_ ___  | (___ | |__   ___| | |
 | |\/| | '__|> <   |  ___/ '__| \ \ / / _` | __/ _ \  \___ \| '_ \ / _ \ | |
 | |  | | |_ / . \  | |   | |  | |\ V / (_| | ||  __/  ____) | | | |  __/ | |
 |_|  |_|_(_)_/ \_\ |_|   |_|  |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1
 if you need WebShell for Seo everyday contact me on Telegram
 Telegram Address : @jackleet
        
        
For_More_Tools: Telegram: @jackleet | Bulk Smtp support mail sender | Business Mail Collector | Mail Bouncer All Mail | Bulk Office Mail Validator | Html Letter private



Upload:

Command:

[email protected]: ~ $
�

x[h�:���SSKrSSKrSSKrSSKrSSKrSSKJr SSKrSSKJ	r	 SSK
Jr SSKJ
r
 SSKJrJrJrJrJr SSKJrJr SSKJr SS	KJrJr SS
KJr SSKJr \R@"\!5r"SS
/r#Sr$Sr%Sr&"SS\RNRP5r)Sr*Sr+"SS\RX5r-\-\R\44/r/Sr0g)�N)�urlparse)�ConnectionError)�HTTPConnection)�PoolManager)�dmi�performance�sources�
url_helper�util)�
EventScope�	EventType)�NoDHCPLeaseError)�EphemeralDHCPv4�EphemeralIPv6Network)�DataSourceHostname)�ProcessExecutionErrorzhttp://169.254.42.42zhttp://[fd00:42::42]���
c�6^�\rSrSrSrU4SjrSSjrSrU=r$)�SourceAddressAdapter�&z>
Adapter for requests to choose the local address to bind to.
c�:>�Xl[[U]"S0UD6 g)N�)�source_address�superr�__init__)�selfr�kwargs�	__class__s   ��F/usr/lib/python3/dist-packages/cloudinit/sources/DataSourceScaleway.pyr�SourceAddressAdapter.__init__+s���,��
�"�D�2�<�V�<�c��[R[R[RS4/-n[UUUURUS9Ulg)N�)�	num_pools�maxsize�blockr�socket_options)r�default_socket_options�socket�
SOL_SOCKET�SO_REUSEPORTrr�poolmanager)r�connectionsr'r(r)s     r!�init_poolmanager�%SourceAddressAdapter.init_poolmanager/sR��'�>�>�
�
�
�� 3� 3�Q�7�B
�
��'�!����.�.�)�
��r#)r.r)F)	�__name__�
__module__�__qualname__�__firstlineno__�__doc__rr0�__static_attributes__�
__classcell__�r s@r!rr&s����=�

�

r#rc	���[R"USUSUSS9n[R"UR5$![R
anURS:XaSnAgeSnAff=f)a%
Retrieve user data or vendor data.

Scaleway user/vendor data API returns HTTP/404 if user/vendor data is not
set.

This function calls `url_helper.readurl` but instead of considering
HTTP/404 as an error that requires a retry, it considers it as empty
user/vendor data.

Also, be aware the user data/vendor API requires the source port to be
below 1024 to ensure the client is root (since non-root users can't bind
ports below 1024). If requests raises ConnectionError (EADDRINUSE), the
caller should retry to call this function on an other port.
Nrc��URS:g=(a3 [UR[RR
5(+$)N�)�code�
isinstance�cause�requests�
exceptionsr)�excs r!�<lambda>�%query_data_api_once.<locals>.<lambda>Ws3��S�X�X��_�&��s�y�y�(�*=�*=�*M�*M�N�N�&r#)�data�timeout�retries�session�exception_cbr<)r
�readurlr�
decode_binary�contents�UrlErrorr=)�api_addressrF�requests_session�resprBs     r!�query_data_api_oncerQ<sk�� ��!�!�����$��
���!�!�$�-�-�0�0�������8�8�s�?��
��	�s�9<�A+�A&�%A&�&A+c��[S[US55H�n[RSX5 [R
"5nSn[
U5RnUnUSS:XaUSSn[R"US[RS	9SSn	U	[R:XaS
nURS[Xd4S95 [XUS
9n
[RSU5 U
s $ We![a NNf=f![ R"a:n[R%SX5 [&R("S5 UnSnAGM2SnAff=f)aGet user or vendor data.

Handle the retrying logic in case the source port is used.

Scaleway metadata service requires the source port of the client to
be a privileged port (<1024).  This is done to ensure that only a
privileged user on the system can access the metadata service.
r%rz*Trying to get %s data (bind on port %d)...z0.0.0.0r�[���N)�protoz0::zhttp://)r)rFrOz%s-data downloadedz%Error while trying to get %s data: %s�)�range�max�LOG�debugr@�Sessionr�netlocr+�getaddrinfo�IPPROTO_TCP�AF_INET6�
ValueError�mountrrQr
rM�warning�time�sleep)
�api_typerNrGrF�portrO�	localhost�url_address�address�
addr_protorErB�last_excs
             r!�query_data_apirldsT���a��W�a��)��"	��I�I�<�h�
� (�/�/�1��!�I�
�&�{�3�:�:��%���q�>�S�(�)�!�B�/�G�#�/�/��T��);�);������
�����0� %�I�
�"�"��$�Y�4E�F�
�'��?O��D�
�I�I�*�H�5��K�9*�L�N��)�
��
���"�"�	��K�K�?��O��J�J�q�M��H���	�s<�-D�	A%C0�.;D�0
C=�:D�<C=�=D�E�.E	�	Ec�^�\rSrSrSr\R\R\R\R10rU4SjrS\
SS4U4SjjrSrS	r\S
5rSr\S5r\S
5rSrSrSSjr\S5r\S5rSrU=r$)�DataSourceScaleway��Scalewayc�>�[[U]XU5 [R"[R
"USS/05/5Ul[URRS[55Ul
[URRS[55Ul[URRS[55Ul[R Ul[$UlSUlSUlSUlSUlSUlSURR35;a#U=R&URS-
slgg)N�
datasourcerprGrF�max_waitT�
metadata_urls)rrnrr�
mergemanydict�get_cfg_by_path�ds_cfg�int�get�DEF_MD_RETRIESrG�DEF_MD_TIMEOUTrF�DEF_MD_MAX_WAITrsr	�UNSET�_network_config�DS_BASE_URLSrt�metadata_url�userdata_url�vendordata_url�ephemeral_fixed_address�has_ipv4�keys)r�sys_cfg�distro�pathsr s    �r!r�DataSourceScaleway.__init__�s���
� �$�0��%�H��(�(��$�$�W�|�Z�.H�"�M�
�
����4�;�;�?�?�9�n�E�F����4�;�;�?�?�9�n�E�F����D�K�K�O�O�J��H�I��
�&�}�}���)��� ��� ���"���'+��$���
��d�k�k�.�.�0�0����$�+�+�o�">�>��1r#�ci_pkl_version�returnNc�>�[TU]U5 SS[[SSS.nUH#n[	X5(aM[XX#5 M% g)NT)r�r�rsrtr�r�)r�	_unpickler|r�hasattr�setattr)rr��
attr_defaults�attrr s    �r!r��DataSourceScaleway._unpickle�sM���
���.�)�'+��'�)� �"�

�
�"�D��4�&�&���M�$7�8�"r#c�v�[R"5n[R"UURUR
SS9up4U(a5[RSU5 US3UlUS3Ul	US3Ul
g[RSU[[R"5U-
55 [e)	z?
Define metadata_url based upon api-metadata URL availability.
F)�urlsrsrF�connect_synchronouslyz%s is reachablez/conf?format=jsonz/user_data/cloud-initz/vendor_data/cloud-initNz3Unable to reach api-metadata at %s after %s seconds)
rc�	monotonicr
�wait_for_urlrsrFrYrZr�r�r�rxr)rr��
start_time�	avail_url�_s     r!�_set_metadata_url�$DataSourceScaleway._set_metadata_url�s���
�^�^�%�
�!�.�.���]�]��L�L�"'�	
��	���I�I�'��3�#,�+�->� ?�D��#,�+�-B� C�D��%.�K�/F�"G�D����I�I�E���D�N�N�$�z�1�2�
�
"�!r#c��[R"URURURS9n[
R"[R"UR55Ul
[SURURUR5Ul
[SURURUR5Ulg)N)rFrGz	user-datazvendor-data)r
rJr�rFrG�json�loadsrrKrL�metadatarlr��userdata_rawr��vendordata_raw)rrPs  r!�_crawl_metadata�"DataSourceScaleway._crawl_metadata�s����!�!����t�|�|�T�\�\�
���
�
�4�#5�#5�d�m�m�#D�E��
�*���*�*�D�L�L�$�,�,�
���-��4�.�.����d�l�l�
��r#c��[R"S5nUS:Xag[RR	S5(ag[
R"5nSU;agg)z�
There are three ways to detect if you are on Scaleway:

* check DMI data: not yet implemented by Scaleway, but the check is
  made to be future-proof.
* the initrd created the file /var/run/scaleway.
* "scaleway" is in the kernel cmdline.
zsystem-manufacturerrpTz/var/run/scaleway�scalewayN)r�
read_dmi_data�os�path�existsr�get_cmdline)�vendor_name�cmdlines  r!�	ds_detect�DataSourceScaleway.ds_detect�sU���'�'�(=�>���*�$��
�7�7�>�>�-�.�.���"�"�$���� ��!r#c���UR(a�[URURR5n[R
"S5 UR
UR5 SSS5 UR5 USUl	SURS'SSS5 UR(d�[%URURR5 [R
"S5 UR
UR5 SSS5 UR5 SURS'SSS5 gg!,(df   N�=f!,(df   N�=f![[[4a6n[R"[ [#U55 SUlSnAGNSnAff=f!,(df   N�=f!,(df   g=f![a gf=f)	Nz7Setting api-metadata URL depending on IPv4 availabilityz
fixed-address�ipv4�
net_in_useFz7Setting api-metadata URL depending on IPv6 availability�ipv6T)r�rr��fallback_interfacer�Timedr�rtr�r�r�rrrr�logexcrY�strr)rr��es   r!�	_get_data�DataSourceScaleway._get_datas���
�=�=�
&�%��K�K��K�K�2�2���$�*�*�9���.�.�t�/A�/A�B�	�
�(�(�*�37��3H�D�0�28�D�M�M�,�/��.�}�}�

�)��K�K��K�K�2�2��%�*�*�,���.�.�t�/A�/A�B�	�
�(�(�*�28�D�M�M�,�/���E���	���!��%��
&�
���C��Q��(�!&��
�
��
&��"���	����#�
��
�s��*E+�E�E	�01E�!E+�;*G�%G
�<F9�'G
�?G�	
E	�E�
E(�$E+�(E+�+F6�+F1�1F6�9
G	�G
�

G�G�G�
G(�'G(c	�|�URc9[RS[R5 [RUlUR[R:waUR$UR
SGc0n0nUR
SH�nUSUR:Xa7SUS'SSSS	.nS
UR5;aUS
==U/-
ss'MEU/US
'MMSUR5;aUS==USSUS
34-
ss'OUSSUS
34US'USS:XdM�USSS.nS
UR5;aUS
==U/-
ss'M�U/US
'M� X!URR'SUS.UlO�SSURR-S.nSS0/nUR
S(aIUSSUR
SS-SUR
SS
-SSSUR
SS-S./S./-
nXQS'S U/S!.Ul[RS"UR5 UR$)#zH
Configure networking according to data received from the
metadata API.
z5Found None as cached _network_config. Resetting to %s�
private_ip�
public_ipsriT�dhcp4z169.254.42.42/32z
62.210.0.1)zon-link�to�via�routes�	addresses�/�netmask�family�inet6�gatewayz::/0)r�r�r)�version�	ethernets�physicalz%s)�type�namer�r��staticz::�0)�network�prefixr�)r�rir�r��subnetsr%)r��configznetwork_config : %s)r~rYrbr	r}r�r�r�r�r�rZ)r�netcfg�ip_cfg�ip�router�s      r!�network_config�!DataSourceScaleway.network_config4s������'��K�K�G��
�
�
�$+�=�=�D� ����7�=�=�0��'�'�'��=�=��&�.��F��F��m�m�L�1���i�=�D�$@�$@�@�&*�F�7�O�$(�0�+��E�
 �6�;�;�=�0��x�(�U�G�3�(�,1�7��x�(�"�f�k�k�m�3��{�+�!�)�}�o�Q�r�)�}�o�>�0��+�
 "�)�}�o�Q�r�)�}�o�>�/��{�+��(�|�w�.�(*�9�
�V� D��#�v�{�{�}�4�"�8�,���7�,�05�w�F�8�,�92�:6<�4�;�;�1�1�2�/0�v�#F�D� �#��t�{�{�=�=�=��F���(�)�G��}�}�V�$�� (�#'�$�-�-��*?�	�*J�#J�#'�$�-�-��*?�	�*J�#J�,0�*-�+/�"&�-�-��"7�	�"B�,C��#�	����!(�9��/0�V�H�#E�D� ��	�	�'��)=�)=�>��#�#�#r#c��g�Nr�rs r!�launch_index�DataSourceScaleway.launch_index����r#c� �URS$)N�id)r�r�s r!�get_instance_id�"DataSourceScaleway.get_instance_id�s���}�}�T�"�"r#c�(�URSVs/sHoSPM	 nnSn[U5nURRS/5H>nURU5(dMUR	XTSRSS55 M@ U$s snf)N�ssh_public_keys�keyzAUTHORIZED_KEY=�tagsr�� )r��lenry�
startswith�append�replace)rr��ssh_keys�akeypre�plen�tags      r!�get_public_ssh_keys�&DataSourceScaleway.get_public_ssh_keys�s���*.�-�-�8I�*J�K�*J�3��J�*J��K�#���7�|���=�=�$�$�V�R�0�C��>�>�'�*�*���O�O�C��J�.�.�s�C�8�9�1�
���Ls�Bc�4�[URSS5$)N�hostnameF)rr�)r�fqdn�
resolve_ip�
metadata_onlys    r!�get_hostname�DataSourceScaleway.get_hostname�s��!�$�-�-�
�";�U�C�Cr#c��gr�rr�s r!�availability_zone�$DataSourceScaleway.availability_zone�r�r#c��gr�rr�s r!�region�DataSourceScaleway.region�r�r#)r~rwr�r�rsr�r�rtrGrFr�r�r�r�)FFF)r2r3r4r5�dsnamer�NETWORKr
�BOOT_NEW_INSTANCE�BOOT�BOOT_LEGACY�default_update_eventsrrxr�r�r��staticmethodr�r��propertyr�r�r�r�r�r�r�r7r8r9s@r!rnrn�s����
�F�����'�'��N�N��!�!�
���?�,9��9��9�"�4
�����(0�d�M$��M$�^����#�
�D��������r#rnc�8�[R"U[5$r�)r	�list_from_depends�datasources)�dependss r!�get_datasource_listr�s���$�$�W�k�:�:r#)1r��loggingr�r+rc�urllib.parserr@�requests.exceptionsr�urllib3.connectionr�urllib3.poolmanagerr�	cloudinitrrr	r
r�cloudinit.eventrr
�cloudinit.net.dhcpr�cloudinit.net.ephemeralrr�cloudinit.sourcesr�cloudinit.subpr�	getLoggerr2rYrrzr|r{�adapters�HTTPAdapterrrQrl�
DataSourcern�DEP_FILESYSTEMr	rrr#r!�<module>rs�����	�
��!��/�.�+�A�A�1�/�I�0�0�
����!��&�(>�?��������
�8�,�,�8�8�
�,%�P1�hH��+�+�H�X�'�0�0�2�3���
;r#

Filemanager

Name Type Size Permission Actions
DataSourceAkamai.cpython-313.pyc File 12.33 KB 0644
DataSourceAliYun.cpython-313.pyc File 18.33 KB 0644
DataSourceAltCloud.cpython-313.pyc File 9.85 KB 0644
DataSourceAzure.cpython-313.pyc File 79.75 KB 0644
DataSourceBigstep.cpython-313.pyc File 2.86 KB 0644
DataSourceCloudCIX.cpython-313.pyc File 7.22 KB 0644
DataSourceCloudSigma.cpython-313.pyc File 5.18 KB 0644
DataSourceCloudStack.cpython-313.pyc File 13.11 KB 0644
DataSourceConfigDrive.cpython-313.pyc File 14.2 KB 0644
DataSourceDigitalOcean.cpython-313.pyc File 6.2 KB 0644
DataSourceEc2.cpython-313.pyc File 43.31 KB 0644
DataSourceExoscale.cpython-313.pyc File 8.9 KB 0644
DataSourceGCE.cpython-313.pyc File 16.12 KB 0644
DataSourceHetzner.cpython-313.pyc File 6.46 KB 0644
DataSourceIBMCloud.cpython-313.pyc File 18.43 KB 0644
DataSourceLXD.cpython-313.pyc File 20.3 KB 0644
DataSourceMAAS.cpython-313.pyc File 18.29 KB 0644
DataSourceNWCS.cpython-313.pyc File 6.76 KB 0644
DataSourceNoCloud.cpython-313.pyc File 17.26 KB 0644
DataSourceNone.cpython-313.pyc File 1.88 KB 0644
DataSourceOVF.cpython-313.pyc File 15.34 KB 0644
DataSourceOpenNebula.cpython-313.pyc File 18.96 KB 0644
DataSourceOpenStack.cpython-313.pyc File 13.1 KB 0644
DataSourceOracle.cpython-313.pyc File 21.77 KB 0644
DataSourceRbxCloud.cpython-313.pyc File 10.25 KB 0644
DataSourceScaleway.cpython-313.pyc File 17.07 KB 0644
DataSourceSmartOS.cpython-313.pyc File 38.32 KB 0644
DataSourceUpCloud.cpython-313.pyc File 7.11 KB 0644
DataSourceVMware.cpython-313.pyc File 35.8 KB 0644
DataSourceVultr.cpython-313.pyc File 5.79 KB 0644
DataSourceWSL.cpython-313.pyc File 15.48 KB 0644
__init__.cpython-313.pyc File 47.24 KB 0644
Filemanager