Skip to main content

VipDNS DNS Authenticator plugin for Certbot

Project description

certbot-dns-vipdns

Certbot DNS authenticator plugin for VipDNS.

Automates DNS-01 challenges by creating and removing _acme-challenge TXT records via the VipDNS LetsEncrypt API.

Installation

pip install certbot-dns-vipdns

Usage

With a credentials file (recommended)

certbot certonly \
  --authenticator dns-vipdns \
  --dns-vipdns-credentials /etc/letsencrypt/vipdns.ini \
  -d example.com

The --dns-vipdns-credentials flag accepts INI, JSON, and YAML files (detected by extension). The API URL defaults to https://vipdns.nl and can be omitted from any credentials file.

Secure the file after creation:

chmod 600 /etc/letsencrypt/vipdns.ini

INI (.ini)

dns_vipdns_api_token = your-token-here

With explicit URL:

dns_vipdns_api_url = https://vipdns.nl
dns_vipdns_api_token = your-token-here

JSON (.json)

{
  "api_token": "your-token-here"
}

With explicit URL:

{
  "api_url": "https://vipdns.nl",
  "api_token": "your-token-here"
}

YAML (.yaml / .yml)

api_token: your-token-here

With explicit URL:

api_url: https://vipdns.nl
api_token: your-token-here

With CLI flags

Credentials can also be passed directly as flags without a credentials file:

certbot certonly \
  --authenticator dns-vipdns \
  --dns-vipdns-api-token your-token \
  -d example.com

Override the API URL if needed:

certbot certonly \
  --authenticator dns-vipdns \
  --dns-vipdns-api-url https://vipdns.nl \
  --dns-vipdns-api-token your-token \
  -d example.com

Automatic renewal

Certbot stores the flags used during certonly in a renewal configuration file under /etc/letsencrypt/renewal/example.com.conf, so subsequent certbot renew calls reuse them automatically, so no extra configuration is needed.

Systemd (recommended)

Most modern Linux distributions ship a certbot.timer systemd unit that runs certbot renew twice a day. Check whether it is active:

systemctl status certbot.timer

Enable and start it if it is not running:

systemctl enable --now certbot.timer

Cron

If systemd is not available, add a cron job:

crontab -e
0 3 * * * certbot renew --quiet

This runs renewal checks daily at 03:00. Certbot only renews certificates that expire within 30 days, so running it daily is safe.

Reloading services after renewal

Use the --deploy-hook flag to reload your web server after a successful renewal:

certbot certonly \
  --authenticator dns-vipdns \
  --dns-vipdns-credentials /etc/letsencrypt/vipdns.ini \
  --deploy-hook "systemctl reload nginx" \
  -d example.com

The hook is saved in the renewal config and runs automatically on every successful renewal.

Token requirements

The API token must be a LetsEncrypt-type token with the letsencrypt:write scope, scoped to the DNS zone(s) you are requesting certificates for.

Tokens can be created in the VipDNS portal under Settings → API tokens.

Wildcard certificates

Wildcard domains are supported. The *. prefix is automatically stripped when calling the API:

certbot certonly \
  --authenticator dns-vipdns \
  --dns-vipdns-credentials /etc/letsencrypt/vipdns.ini \
  -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_vipdns-0.9.2.tar.gz (9.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_vipdns-0.9.2-py3-none-any.whl (10.2 kB view details)

Uploaded Python 3

File details

Details for the file certbot_dns_vipdns-0.9.2.tar.gz.

File metadata

  • Download URL: certbot_dns_vipdns-0.9.2.tar.gz
  • Upload date:
  • Size: 9.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for certbot_dns_vipdns-0.9.2.tar.gz
Algorithm Hash digest
SHA256 550f9d5c069933f34ba90da7cb601e1d32b14bce4ba71b8823e7e969ee43275e
MD5 a5026399fcee5ba77831337e345b34ef
BLAKE2b-256 d809b21508a3d20569acad6ce1e1171b02d1589c426c450cdf96f767c4a176da

See more details on using hashes here.

File details

Details for the file certbot_dns_vipdns-0.9.2-py3-none-any.whl.

File metadata

  • Download URL: certbot_dns_vipdns-0.9.2-py3-none-any.whl
  • Upload date:
  • Size: 10.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.28 {"installer":{"name":"uv","version":"0.11.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for certbot_dns_vipdns-0.9.2-py3-none-any.whl
Algorithm Hash digest
SHA256 103a4abcca4c4a9173af08ad9f0c1a3c705d7cee0d83a556147a207b48536f52
MD5 524ce30a14baa7c85c523c833de6feee
BLAKE2b-256 6976859c08c5f97a98c99d07fafc5f07a3b36e607f080557b6b3d372f99e3201

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