cerbot-dns-he-ddns
======================================
`Hurricane Electric dynamic DNS <https://dns.he.net>`_ Authenticator
plugin for `Certbot <https://certbot.eff.org>`_.
This plugin automates the process of completing a ``dns-01`` challenge
by updating, and subsequently clearing, TXT records using the
`Hurricane Electric dynamic DNS API <https://dns.he.net/docs.html>`_.
This method allows limiting access to specific records.
----
Installation
------------
::
pip install certbot-dns-he-ddns
Alternatively, you can use
``git+https://github.com/mafredri/certbot-dns-he-ddns.git``.
Preparation
-----------
This plugin can only complete challenges for pre-existing
``_acme-challenge.*`` DNS records that are of the ``TXT`` type and have
the dynamic DNS feature enabled. To configure multiple domains they must
share the same password.
1. Add a new ``TXT`` record:
- Name: ``_acme-challenge.example.com``
- Text data: ``empty``
- TTL: 300
- *Enable entry for dynamic DNS* must be checked.
2. Set the dynamic DNS key for the new record by pressing 🔃, it should
match the password configured for this plugin.
Credentials
-----------
An example ``credentials.ini`` file:
.. code-block:: ini
dns_he_ddns_password = verysecurepassword
Examples
--------
To acquire a single certificate for both ``example.com`` and
``*.example.com``, waiting 60 seconds for DNS propagation:
.. code-block:: bash
certbot certonly \
--authenticator dns-he-ddns \
--dns-he-ddns-credentials /etc/letsencrypt/.secrets/dns-he-ddns.ini \
--dns-he-ddns-propagation-seconds 60 \
--server https://acme-v02.api.letsencrypt.org/directory \
--preferred-challenges dns \
--agree-tos \
--rsa-key-size 4096 \
-d 'example.com' \
-d '*.example.com'
Raw data
{
"_id": null,
"home_page": "https://github.com/mafredri/certbot-dns-he-ddns",
"name": "certbot-dns-he-ddns",
"maintainer": null,
"docs_url": null,
"requires_python": "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,>=2.7",
"maintainer_email": null,
"keywords": "certbot dns hurricane-electric dns-01",
"author": "Mathias Fredriksson",
"author_email": "mafredri@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/56/54/41d767891800f05cb6c2eab37fc203223450c64e58f350f28ff5d32c253a/certbot_dns_he_ddns-0.1.0.tar.gz",
"platform": null,
"description": "cerbot-dns-he-ddns\n======================================\n\n`Hurricane Electric dynamic DNS <https://dns.he.net>`_ Authenticator\nplugin for `Certbot <https://certbot.eff.org>`_.\n\nThis plugin automates the process of completing a ``dns-01`` challenge\nby updating, and subsequently clearing, TXT records using the\n`Hurricane Electric dynamic DNS API <https://dns.he.net/docs.html>`_.\n\nThis method allows limiting access to specific records.\n\n----\n\nInstallation\n------------\n\n::\n\n pip install certbot-dns-he-ddns\n\nAlternatively, you can use\n``git+https://github.com/mafredri/certbot-dns-he-ddns.git``.\n\nPreparation\n-----------\n\nThis plugin can only complete challenges for pre-existing\n``_acme-challenge.*`` DNS records that are of the ``TXT`` type and have\nthe dynamic DNS feature enabled. To configure multiple domains they must\nshare the same password.\n\n1. Add a new ``TXT`` record:\n\n - Name: ``_acme-challenge.example.com``\n - Text data: ``empty``\n - TTL: 300\n - *Enable entry for dynamic DNS* must be checked.\n\n2. Set the dynamic DNS key for the new record by pressing \ud83d\udd03, it should\n match the password configured for this plugin.\n\nCredentials\n-----------\n\nAn example ``credentials.ini`` file:\n\n.. code-block:: ini\n\n dns_he_ddns_password = verysecurepassword\n\nExamples\n--------\n\nTo acquire a single certificate for both ``example.com`` and\n``*.example.com``, waiting 60 seconds for DNS propagation:\n\n.. code-block:: bash\n\n certbot certonly \\\n --authenticator dns-he-ddns \\\n --dns-he-ddns-credentials /etc/letsencrypt/.secrets/dns-he-ddns.ini \\\n --dns-he-ddns-propagation-seconds 60 \\\n --server https://acme-v02.api.letsencrypt.org/directory \\\n --preferred-challenges dns \\\n --agree-tos \\\n --rsa-key-size 4096 \\\n -d 'example.com' \\\n -d '*.example.com'\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Hurricane Electric dynamic DNS Authenticator plugin for Certbot",
"version": "0.1.0",
"project_urls": {
"Homepage": "https://github.com/mafredri/certbot-dns-he-ddns"
},
"split_keywords": [
"certbot",
"dns",
"hurricane-electric",
"dns-01"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "565441d767891800f05cb6c2eab37fc203223450c64e58f350f28ff5d32c253a",
"md5": "924cdcc628ec537ae371660c186aba08",
"sha256": "ea09e1e719411047d5dedd2b586667f0394b3f9a17b01e75d29a9ef4dde561c2"
},
"downloads": -1,
"filename": "certbot_dns_he_ddns-0.1.0.tar.gz",
"has_sig": false,
"md5_digest": "924cdcc628ec537ae371660c186aba08",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,>=2.7",
"size": 4529,
"upload_time": "2024-08-21T20:49:39",
"upload_time_iso_8601": "2024-08-21T20:49:39.454425Z",
"url": "https://files.pythonhosted.org/packages/56/54/41d767891800f05cb6c2eab37fc203223450c64e58f350f28ff5d32c253a/certbot_dns_he_ddns-0.1.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-08-21 20:49:39",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "mafredri",
"github_project": "certbot-dns-he-ddns",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "certbot-dns-he-ddns"
}