certbot-dns-multi
Certbot DNS plugin supporting multiple providers, using github.com/go-acme/lego
Decision gist · record as of 2026-08-14
Yes, if you need DNS-based ACME validation with a DNS provider not natively supported by Certbot and that provider is in lego's list of 117+ supported services. The plugin is actively maintained, has no known vulnerabilities, and is available as pre-compiled wheels on modern Linux systems. Install via pip or snap depending on your Certbot deployment method; on non-x86_64 platforms or older Python versions, you'll need Go 1.24+ installed for compilation.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Go 1.24 or newer must be installed on your system if using a platform without pre-compiled wheels (non-x86_64 Linux or Python < 3.11).
- Certbot 1.12.0 or newer is required when installing via distro package managers.
- Medium install friction due to compiled wheels being available for Python 3.11+ on x86_64 Linux, but Go 1.24 or newer is required for compilation on other platforms.
License · maintenance · safety
MIT (permissive) — MIT license is permissive, allowing use in most commercial and open-source projects with minimal restrictions.
last release 2026-07-21 (24 days)
0 known vulnerabilities (OSV.dev, 2026-08-14) · 688,256 downloads/mo, #5,341 on PyPI
Alternatives
Verify before relying
# Install via pip (if Certbot was installed via pip)
sudo /opt/certbot/bin/pip install certbot-dns-multi
# Create credentials file
echo 'dns_multi_provider = cloudflare
CLOUDFLARE_DNS_API_TOKEN="your-token-here"' | sudo tee /etc/letsencrypt/dns-multi.ini
sudo chmod 0600 /etc/letsencrypt/dns-multi.ini
# Issue a certificate
certbot certonly -a dns-multi --dns-multi-credentials=/etc/letsencrypt/dns-multi.ini -d "*.example.com" --dry-run- Whether all 117+ DNS providers listed in the description are actively maintained in the underlying lego project
- Performance characteristics when handling high-volume certificate renewals across multiple domains
What it is and what it does
certbot-dns-multi is a plugin for Certbot that extends its DNS validation capabilities to work with over 117 DNS providers by wrapping the lego ACME client's provider implementations. Instead of being limited to Certbot's built-in DNS plugins, you configure a credentials file pointing to your DNS provider (e.g., Cloudflare, Route 53, Hetzner) and certbot-dns-multi handles the DNS record creation and validation automatically during certificate issuance and renewal.
The plugin works by reading a simple INI configuration file that specifies your DNS provider name and its required credentials, then delegates all DNS operations to lego's provider implementations. It's designed for environments where you need wildcard certificates or DNS-based validation across many different DNS hosting platforms, and it's available as pre-compiled wheels for modern Linux systems or as a snap package for easier deployment.
Use it for
- Issue wildcard certificates for *.example.com using your existing DNS provider without writing custom validation logic.
- Automate certificate renewal across multiple domains hosted on different DNS providers from a single Certbot configuration.
- Deploy Certbot in containerized environments using the provided Docker images for linux/amd64 and linux/arm64.
- Integrate DNS-based ACME validation into infrastructure-as-code or automated certificate management pipelines.
- Migrate from a limited set of Certbot DNS plugins to a broader ecosystem by switching DNS providers without changing your certificate workflow.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you need DNS-based ACME validation with a DNS provider not natively supported by Certbot and that provider is in lego's list of 117+ supported services.
The plugin is actively maintained, has no known vulnerabilities, and is available as pre-compiled wheels on modern Linux systems. Install via pip or snap depending on your Certbot deployment method; on non-x86_64 platforms or older Python versions, you'll need Go 1.24+ installed for compilation.
Install
certbot-dns-multi on PyPI
Before you install
Medium install friction due to compiled wheels being available for Python 3.11+ on x86_64 Linux, but Go 1.24 or newer is required for compilation on other platforms. The package is actively maintained with a release 24 days ago.
Go 1.24 or newer must be installed on your system if using a platform without pre-compiled wheels (non-x86_64 Linux or Python < 3.11). Certbot 1.12.0 or newer is required when installing via distro package managers.
License in practice
MIT license is permissive, allowing use in most commercial and open-source projects with minimal restrictions.
Quickstart
# Install via pip (if Certbot was installed via pip)
sudo /opt/certbot/bin/pip install certbot-dns-multi
# Create credentials file
echo 'dns_multi_provider = cloudflare
CLOUDFLARE_DNS_API_TOKEN="your-token-here"' | sudo tee /etc/letsencrypt/dns-multi.ini
sudo chmod 0600 /etc/letsencrypt/dns-multi.ini
# Issue a certificate
certbot certonly -a dns-multi --dns-multi-credentials=/etc/letsencrypt/dns-multi.ini -d "*.example.com" --dry-run
Verify before relying
- Whether all 117+ DNS providers listed in the description are actively maintained in the underlying lego project
- Performance characteristics when handling high-volume certificate renewals across multiple domains
Package facts
| License | MIT permissive |
| Python support | Supports the current Python release >=3.9 |
| Install friction | Medium. Platform-specific wheel |
| Runtime dependencies | 3 packagescertbotacmejosepy |
| Maintenance | Actively maintained 24 days since the last release |
| First released | |
| Downloads | 688,256 / month, #5,341 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
Evidence: certbot_dns_multi-5.3.1-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl; certbot_dns_multi-5.3.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl; certbot_dns_multi-5.3.1-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl; certbot_dns_multi-5.3.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl; certbot_dns_multi-5.3.1-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl; certbot_dns_multi-5.3.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl; certbot_dns_multi-5.3.1-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl; certbot_dns_multi-5.3.1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “multi-provider dns validation”
- certbot-dns-multiA Certbot DNS plugin that automates ACME DNS challenges across 117+…
- octodnsoctoDNS provides tools to manage DNS records across multiple…
- dns-lexicondns-lexicon provides a unified Python interface to create, read,…
Give your agent the search over MCP, or paste the wish link into any chat.
More WWW/HTTP packages
urllib3 is an HTTP client library that provides thread-safe connection pooling, SSL/TLS verification, multipart file uploads, request retries, compression support, and proxy handling for Python applications.
Requests is a Python HTTP library that simplifies sending HTTP/1.1 requests with automatic handling of headers, authentication, cookies, and response parsing.
h11 is a pure-Python HTTP/1.1 protocol implementation that handles parsing and serializing HTTP messages without any built-in I/O, letting you integrate it with any network layer you choose.
HTTPX is a fully featured HTTP client library for Python that provides both sync and async APIs, with support for HTTP/1.1 and HTTP/2, plus an integrated command-line client.
Install it if you are building new projects or modernizing existing ones that rely on HTTP.
A minimal low-level HTTP client library that sends HTTP requests with thread-safe and task-safe connection pooling, supporting HTTP/1.1, HTTP/2, proxies, and both sync and async interfaces.
aiohttp is an async HTTP client and server framework built on asyncio, supporting both WebSockets and middleware-based routing for building concurrent web applications.
Install it if you need async HTTP client or server capabilities in asyncio-based applications.
See also certbot-dns-cloudflare · dns-lexicon · certbot-dns-directadmin · certbot-dns-duckdns · certbot-dns-route53 · certbot · acme · certbot-nginx · fqdn · octodns