Skip to main content

A Certbot plugin that implements LetsEncrypt DNS-01 challenge via ZoneEdit

Project description

certbot-dns-zoneedit

ZoneEdit DNS Authenticator plugin for Certbot.

This plugin automates the process of completing a DNS-01 challenge by creating, and subsequently removing, TXT records using the ZoneEdit API end-points.

Installation

pip install certbot-dns-zoneedit

Named Arguments

To start using DNS authentication for ZoneEdit, pass the following arguments on Certbot's command line:

Option Description
--authenticator dns-zoneedit Select the authenticator plugin (Required)
--dns-zoneedit-credentials FILE ZoneEdit credentials INI file. (Default is /etc/letsencrypt/zoneedit.ini)
--dns-zoneedit-propagation-seconds NUM How long to wait before veryfing the written TXT challenges. (Default is 120)

Credentials

Use of this plugin requires a configuration file containing your ZoneEdit user name and authentication token.
The token can be obtained from the ZoneEdit DynDNS settings page.

An example zoneedit.ini file:

dns_zoneedit_user =   <login-user-id>
dns_zoneedit_token =  <dyn-authentication-token>

The default path to this file is set to /etc/letsencrypt/zoneedit.ini, but this can can be changed using the --dns-zoneedit-credentials command-line argument.

CAUTION: You should protect these API credentials as you would the password to your ZoneEdit account (e.g., by using a command like chmod 600 to restrict access to the file).

Examples

To acquire a single certificate for both example.com and *.example.com, waiting 900 seconds for DNS propagation:

certbot certonly \
  --authenticator dns-zoneedit \
  --dns-zoneedit-credentials ~/.secrets/certbot/zoneedit.ini \
  --dns-zoneedit-propagation-seconds 900 \
  --keep-until-expiring --non-interactive --expand \
  --server https://acme-v02.api.letsencrypt.org/directory \
  -d 'example.com' \
  -d '*.example.com'

Docker

You can build a docker image from source using the included Dockerfile or pull the latest version directly from Docker Hub:

docker pull zlaski/certbot-dns-zoneedit

Once the installation is finished, the application can be run as follows:

docker run --rm \
  -v /var/lib/letsencrypt:/var/lib/letsencrypt \
  -v /etc/letsencrypt:/etc/letsencrypt \
  --cap-drop=all \
  zlaski/certbot-dns-zoneedit certbot certonly \
    --authenticator dns-zoneedit \
    --dns-zoneedit-propagation-seconds 900 \
    --dns-zoneedit-credentials /var/lib/letsencrypt/zoneedit_credentials.ini \
    --keep-until-expiring --non-interactive --expand \
    --agree-tos --email "webmaster@example.com" \
    -d example.com -d '*.example.com'

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

certbot_dns_zoneedit-0.3.2.tar.gz (7.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

certbot_dns_zoneedit-0.3.2-py3-none-any.whl (8.3 kB view details)

Uploaded Python 3

File details

Details for the file certbot_dns_zoneedit-0.3.2.tar.gz.

File metadata

  • Download URL: certbot_dns_zoneedit-0.3.2.tar.gz
  • Upload date:
  • Size: 7.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.5.1 CPython/3.9.2 Linux/5.10.0-22-cloud-amd64

File hashes

Hashes for certbot_dns_zoneedit-0.3.2.tar.gz
Algorithm Hash digest
SHA256 62f5dca03cea18b46bc5557932913cc8f95b8d7c0e9a2e40203512088125f40f
MD5 35d6ee0730721dc8ddf97eaa49234c8d
BLAKE2b-256 f265bff54956dbf5f57f0e3951dc8d10838c11b97f921bee14d001ed4404d99f

See more details on using hashes here.

File details

Details for the file certbot_dns_zoneedit-0.3.2-py3-none-any.whl.

File metadata

  • Download URL: certbot_dns_zoneedit-0.3.2-py3-none-any.whl
  • Upload date:
  • Size: 8.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.5.1 CPython/3.9.2 Linux/5.10.0-22-cloud-amd64

File hashes

Hashes for certbot_dns_zoneedit-0.3.2-py3-none-any.whl
Algorithm Hash digest
SHA256 889323e6fcd8afd73302020eb139b1b0197f0da58f12a32fca66d37e0617c533
MD5 00134151cb6db2bb2ade0a345689e5de
BLAKE2b-256 b4b688a8f5d4321a66b9814b8a00897e1fd47c241d740dcb30ce71de185c7424

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page