certbot-dns-duckdns
Obtain certificates using a DNS TXT record for DuckDNS domains
What it is and what it does
This package is a plugin for certbot that enables automated SSL/TLS certificate issuance for DuckDNS domains using the DNS-01 challenge method. Instead of proving domain ownership through HTTP, it proves it by temporarily adding a TXT record to your DuckDNS domain via the DuckDNS API, then removes it after validation. The plugin handles the entire DNS record lifecycle automatically, allowing you to obtain certificates (including wildcards) without manual intervention.
You install it alongside certbot and configure it with your DuckDNS token—either as a command-line argument, credentials file, or environment variable. It integrates directly into certbot's challenge workflow, so once set up, you can generate and renew certificates with standard certbot commands. The plugin depends on certbot itself, requests for API calls, and dnspython for DNS operations.
Use it for:
- Obtain wildcard SSL certificates for all subdomains of a DuckDNS domain without manual DNS record editing
- Automate certificate renewal for home servers or IoT devices using DuckDNS as their DNS provider
- Delegate DNS-01 challenges from other domains to a DuckDNS domain via CNAME records for centralized certificate management
- Generate staging certificates for testing Let's Encrypt integration without hitting production rate limits
- Run certificate issuance in Docker containers with automated DNS validation for DuckDNS-hosted services
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
A certbot plugin that automates DNS-01 challenge validation for DuckDNS domains by managing TXT record creation and deletion through the DuckDNS API.
Yes. The plugin is actively maintained, has no known vulnerabilities, installs with low friction, and solves a real problem for anyone using DuckDNS who needs automated certificate management. The MIT license carries no restrictions. Install it if you use DuckDNS and want to automate Let's Encrypt certificate issuance; skip it only if you use a different DNS provider or prefer manual certificate renewal.
Install
certbot-dns-duckdns on PyPI
pip
pip install certbot-dns-duckdnsuv
uv add certbot-dns-duckdnspoetry
poetry add certbot-dns-duckdnsInstalling certbot-dns-duckdns
Before you install
Installs with low friction as a pure Python wheel with three straightforward runtime dependencies (certbot, requests, dnspython). Actively maintained as of the latest release, with recent commits and a stable production status.
License in practice
MIT license permits unrestricted use, modification, and distribution for commercial and private purposes with minimal legal friction.
Quickstart
pip install certbot-dns-duckdns
certbot certonly \
--authenticator dns-duckdns \
--dns-duckdns-token YOUR_DUCKDNS_TOKEN \
-d example.duckdns.org
Requires certbot >= 1.18.0 installed; if certbot runs with root privileges, the plugin must also be installed with root privileges for certbot to find it.
Verify before relying
- Whether the plugin works with certbot versions older than 1.18.0 or newer than what has been tested
- Performance characteristics when managing multiple certificate renewals in parallel
- Compatibility with DuckDNS API rate limits under high-volume certificate issuance
Package facts
| License | MIT (permissive) |
| Python support | supports the current Python release (>=3.10) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 3 — certbot, requests, dnspython |
| Maintenance | actively maintained — 0 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 92,363/month — #13,457 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: certbot_dns_duckdns-1.9.0-py3-none-any.whl
Tags
More WWW/HTTP packages
urllib3 is an HTTP client library that provides…
permissive · top 100 on PyPI
requestsRequests is a Python HTTP library that…
permissive · top 100 on PyPI
h11h11 is a pure-Python HTTP/1.1 protocol…
permissive · top 100 on PyPI
httpxHTTPX is a fully featured HTTP client library…
permissive · top 100 on PyPI
httpcoreA minimal low-level HTTP client library that…
permissive · top 100 on PyPI
aiohttpaiohttp is an async HTTP client and server…
permissive · top 100 on PyPI
certbot-dns-directadminA Certbot plugin that automates DNS-01…
unclear · top 15,000 on PyPI
dns-lexicondns-lexicon provides a unified Python interface…
permissive · top 15,000 on PyPI
certbot-dns-multiA Certbot DNS plugin that automates ACME DNS…
permissive · top 15,000 on PyPI
certbot-dns-cloudflareAutomates DNS validation for Let's Encrypt…
permissive · top 5,000 on PyPI
certbot-dns-route53A Certbot plugin that automates DNS validation…
permissive · top 15,000 on PyPI
fqdnValidates fully-qualified domain names (FQDNs)…
copyleft · top 1,000 on PyPI
certbot-nginxCertbot-nginx is a plugin for Certbot that…
permissive · top 15,000 on PyPI
certbotCertbot is a command-line client that…
permissive · top 15,000 on PyPI
acmeImplements the ACME protocol to automate…
permissive · top 5,000 on PyPI
octodnsoctoDNS provides tools to manage DNS records…
permissive · top 15,000 on PyPI