certbot-dns-multi
DNS plugin for Certbot which integrates with the 117+ DNS providers from the lego ACME client.
At the last check, the supported providers are:
35.com/三五互联, Active24, Akamai EdgeDNS, Alibaba Cloud DNS, AlibabaCloud ESA, all-inkl, Alwaysdata, Amazon Lightsail, Amazon Route 53, Anexia CloudDNS, ArtFiles, ArvanCloud, Aurora DNS, Autodns, Axelname, Azion, Azure (deprecated), Azure DNS, Baidu Cloud, Beget.com, Binary Lane, Bindman, Bluecat, Bluecat v2, BookMyName, Brandit (deprecated), Bunny, Checkdomain, Civo, Cloud.ru, CloudDNS, Cloudflare, ClouDNS, CloudXNS (Deprecated), ConoHa v2, ConoHa v3, Constellix, Core-Networks, CPanel/WHM, DDnss (DynDNS Service), Derak Cloud, deSEC.io, Designate DNSaaS for Openstack, Digital Ocean, DirectAdmin, DNS Made Easy, DNSExit, dnsHome.de, DNSimple, DNSPod (deprecated), Domain Offensive (do.de), Domeneshop, DreamHost, Duck DNS, Dyn, DynDnsFree.de, Dynu, EasyDNS, EdgeCenter, Efficient IP, Epik, Exoscale, External program, F5 XC, freemyip.com, FusionLayer NameSurfer, G-Core, Gandi, Gandi Live DNS (v5), Gigahost.no, Glesys, Go Daddy, Google Cloud, Google Domains, Gravity, Hetzner, Hosting.de, Hosting.nl, Hostinger, Hosttech, HTTP request, http.net, Huawei Cloud, Hurricane Electric DNS, HyperOne, IBM Cloud (SoftLayer), IIJ DNS Platform Service, Infoblox, Infomaniak, Internet Initiative Japan, Internet.bs, INWX, Ionos, Ionos Cloud, IPv64, ISPConfig 3, ISPConfig 3 - Dynamic DNS (DDNS) Module, iwantmyname (Deprecated), JD Cloud, Joker, Joohoi's ACME-DNS, KeyHelp, Leaseweb, Liara, Lima-City, Linode (v4), Liquid Web, Loopia, LuaDNS, Mail-in-a-Box, ManageEngine CloudDNS, Manual, Metaname, Metaregistrar, mijn.host, Mittwald, myaddr.{tools,dev,io}, MyDNS.jp, MythicBeasts, Name.com, Namecheap, Namesilo, NearlyFreeSpeech.NET, Neodigit, Netcup, Netlify, Nicmanager, NIFCloud, Njalla, Nodion, NS1, Octenium, Open Telekom Cloud, Oracle Cloud, OVH, plesk.com, Porkbun, PowerDNS, Rackspace, Rain Yun/雨云, RcodeZero, reg.ru, Regfish, RFC2136, RimuHosting, RU CENTER, Sakura Cloud, Scaleway, Selectel, Selectel v2, SelfHost.(de|eu), Servercow, Shellrent, Simply.com, Sonic, Spaceship, Stackpath, Syse, Technitium, Tencent Cloud DNS, Tencent EdgeOne, Timeweb Cloud, TodayNIC/时代互联, TransIP, UKFast SafeDNS, Ultradns, United-Domains, Variomedia, VegaDNS, Vercel, Versio.[nl|eu|uk], VinylDNS, Virtualname, VK Cloud, Volcano Engine/火山引擎, Vscale, Vultr, webnames.ca, webnames.ru, Websupport, WEDOS, West.cn/西部数码, Yandex 360, Yandex Cloud, Yandex PDD, Zone.ee, ZoneEdit, Zonomi
Installation
via snap
Using the certbot snap is the easiest way to use this plugin. See here for instructions on installing Certbot via snap.
sudo snap install certbot-dns-multi
sudo snap set certbot trust-plugin-with-root=ok
sudo snap connect certbot:plugin certbot-dns-multi
We previously published armhf snaps, but new snap releases are now published only for amd64 and arm64.
via pip
Compiled wheels are available for most x86_64/amd64 Linux distributions for Python 3.11+. On other platforms, pip will try to compile the plugin, which requires Go 1.24 or newer to be installed on your server.
| How did you install Certbot? | How to install the plugin |
|---|---|
From snap |
Don't use pip! Use the snap instructions above. |
Using the official Certbot pip instructions |
sudo /opt/certbot/bin/pip install certbot-dns-multi |
From apt, yum, dnf or any other distro package manager. (Requires Certbot 1.12.0 or newer.) |
pip install certbot-dns-multi |
via docker
Docker images for linux/amd64 and linux/arm64 are available from ghcr.io/alexzorin/certbot-dns-multi.
e.g.
docker run --rm -it -v /etc/letsencrypt:/etc/letsencrypt \
ghcr.io/alexzorin/certbot-dns-multi certonly \
-a dns-multi --dns-multi-credentials /etc/letsencrypt/dns-multi.ini \
-d "*.example.com" -d "example.com" --dry-run
Usage
certbot-dns-multi is controlled via a credentials file.
-
Head to https://go-acme.github.io/lego/dns/ and find your DNS provider in the list. In this example, we'll use
cloudflare. -
Create
/etc/letsencrypt/dns-multi.iniand enter the name of your provider, all lowercase, as below:dns_multi_provider = cloudflare
-
Following the instructions on https://go-acme.github.io/lego/dns/cloudflare/, we add the required configuration items:
dns_multi_provider = cloudflare CLOUDFLARE_DNS_API_TOKEN="1234567890abcdefghijklmnopqrstuvwxyz"
-
Save the file and secure it:
chmod 0600 /etc/letsencrypt/dns-multi.ini
-
Try issue a certificate now:
certbot certonly -a dns-multi \ --dns-multi-credentials=/etc/letsencrypt/dns-multi.ini \ -d "*.example.com" \ --dry-run
-
🥳, or if not, ask on the community forums for help.
Release files for certbot-dns-multi 5.4.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| certbot_dns_multi-5.4.0.tar.gz | 115.0 kB | Details |
Built distributions (wheels)
Total release size: 280.7 MB
Release files / certbot_dns_multi-5.4.0.tar.gz
| Download URL | certbot_dns_multi-5.4.0.tar.gz |
|---|---|
| Size | 115.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
c5f11440bafae86364430fff008f068bed5c4848cbca8fd3720f5c7444ddb728
|
|
BLAKE2b-256 checksum How to use checksums |
159e89023e0ba35af28ccb5932e5ec6e56a014a26e1caa3d959c6c58a2e3200a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 21, 2026.
Transparency logRelease files / certbot_dns_multi-5.4.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
| Download URL | certbot_dns_multi-5.4.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl |
|---|---|
| Size | 33.6 MB |
| Tags | CPython 3.14 Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
bc9c9ada0b9d58511860224065fd3e99b4436bb4dd5b3afdb24f280c707120d0
|
|
BLAKE2b-256 checksum How to use checksums |
36713e253b95051952f5adb715dff49863de448f9b449893ed3ecec405e63421
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 21, 2026.
Transparency logRelease files / certbot_dns_multi-5.4.0-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
| Download URL | certbot_dns_multi-5.4.0-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl |
|---|---|
| Size | 36.5 MB |
| Tags | CPython 3.14 Linux glibc 2.28+ x86-64 Linux glibc 2.5+ x86-64 |
|
SHA-256 checksum How to use checksums |
3a514e17005dab581813433438e86f47efa3ffb62d9112af28a02e7d20d26dd9
|
|
BLAKE2b-256 checksum How to use checksums |
40cafe5284c92e57fea95da65b4e5837aff1361a2d991c4eb037381cc3b9994f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 21, 2026.
Transparency logRelease files / certbot_dns_multi-5.4.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
| Download URL | certbot_dns_multi-5.4.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl |
|---|---|
| Size | 33.6 MB |
| Tags | CPython 3.13 Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
b09a3553d1f04ebcf7200b36cc4fb1f9d3a9664ea293284d123ff8bd5d8a7c70
|
|
BLAKE2b-256 checksum How to use checksums |
443d595f0ed0740a2fbe32703cae8a48fee59092de0ecd663261d18dbb154b75
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 21, 2026.
Transparency logRelease files / certbot_dns_multi-5.4.0-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
| Download URL | certbot_dns_multi-5.4.0-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl |
|---|---|
| Size | 36.5 MB |
| Tags | CPython 3.13 Linux glibc 2.28+ x86-64 Linux glibc 2.5+ x86-64 |
|
SHA-256 checksum How to use checksums |
8fa3739d7e91c0b752d74a7dc7c13be1a2868d644733e68c3c5776efead3005a
|
|
BLAKE2b-256 checksum How to use checksums |
ff1be06a8afeeda43c8f82bdf552aa5686ee87f7c6523d93437439510022370f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 21, 2026.
Transparency logRelease files / certbot_dns_multi-5.4.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
| Download URL | certbot_dns_multi-5.4.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl |
|---|---|
| Size | 33.6 MB |
| Tags | CPython 3.12 Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
226859d901cd560c0f5eae59f5301f31eb70d2d7f8ea557efc61682724edf931
|
|
BLAKE2b-256 checksum How to use checksums |
61fd9479eb6e91b9b3fc0bd4c81e73b5aa1186574ada004573e4efdfe7a8a9cf
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 21, 2026.
Transparency logRelease files / certbot_dns_multi-5.4.0-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
| Download URL | certbot_dns_multi-5.4.0-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl |
|---|---|
| Size | 36.5 MB |
| Tags | CPython 3.12 Linux glibc 2.28+ x86-64 Linux glibc 2.5+ x86-64 |
|
SHA-256 checksum How to use checksums |
5539c7be39f68a320a55d18a5da51ce372fdbb5a4acfd536dfe2d512b10a9622
|
|
BLAKE2b-256 checksum How to use checksums |
1bfbb50ee690743715e031352df952142276cab793058ef994cb8a745c60b8da
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 21, 2026.
Transparency logRelease files / certbot_dns_multi-5.4.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
| Download URL | certbot_dns_multi-5.4.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl |
|---|---|
| Size | 33.6 MB |
| Tags | CPython 3.11 Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
82c5be4a4208ff71ab1fa3ec2ac0eb4f65d5277107af3651805b7f94f843679c
|
|
BLAKE2b-256 checksum How to use checksums |
9c07bf8568940da560295cd74eec21f1d61355503acce88df1875687938dba7e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 21, 2026.
Transparency logRelease files / certbot_dns_multi-5.4.0-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
| Download URL | certbot_dns_multi-5.4.0-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl |
|---|---|
| Size | 36.5 MB |
| Tags | CPython 3.11 Linux glibc 2.28+ x86-64 Linux glibc 2.5+ x86-64 |
|
SHA-256 checksum How to use checksums |
60ad7a17175a8fe6c44d6a1e8735dc15458c31bc4d9a072d6bde1b25673a6af5
|
|
BLAKE2b-256 checksum How to use checksums |
172112cdcdba443ba6f5d42c46a8ddbe1a3bb94eb4c7733937723aa4b920a1f6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 21, 2026.
Transparency log