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.0.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.0-py3-none-any.whl (10.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: certbot_dns_vipdns-0.9.0.tar.gz
  • Upload date:
  • Size: 9.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.6 {"installer":{"name":"uv","version":"0.11.6","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.0.tar.gz
Algorithm Hash digest
SHA256 1ca2cdbc84d9f5ed82dfa4ea8b8ec6b0fa82f79eaec16f288d86f264d35512b1
MD5 f6a0d632f05026722887649c8e978b9d
BLAKE2b-256 a6d7b55d13e60b8e6a147a5d375bb26622db0e187b60c5b351e96f82e6f69b04

See more details on using hashes here.

File details

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

File metadata

  • Download URL: certbot_dns_vipdns-0.9.0-py3-none-any.whl
  • Upload date:
  • Size: 10.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.6 {"installer":{"name":"uv","version":"0.11.6","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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 0a799231423bf26c7d8872394d72431bbb82602dfeb18d6c2fa06d6049437236
MD5 e787f8f2495dcb8fadb3e8c48746a3cd
BLAKE2b-256 c6495f90c2abe0308e978299d6a76253ef27aa796914bab8f1ae35635a59b14a

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