acme-dns is a specialised DNS server for automating DNS-01 challenges used when obtaining TLS certificates through the Automatic Certificate Management Environment (ACME) protocol. It provides an HTTP API for managing challenge-related TXT records without granting certificate automation clients unrestricted access to a domain’s primary DNS configuration.
Ordinary ACME automation may require credentials capable of modifying many DNS records. With acme-dns, administrators delegate the relevant _acme-challenge hostname through a CNAME record to a dedicated validation domain. The certificate client then updates only the corresponding TXT records managed by acme-dns.
This separation limits the scope of the credentials exposed to automated systems. It is particularly useful when certificates are renewed on multiple machines or when certificate automation needs to operate independently of the organisation’s principal DNS provider. The server handles the challenge records while the existing authoritative DNS infrastructure continues to manage the domain’s other records.
This is free and open source software.
Key Features
- Provide authoritative DNS responses for ACME DNS-01 challenge TXT records.
- Expose a RESTful HTTP API for account registration and TXT record updates.
- Restrict API credentials to the challenge records associated with individual accounts.
- Use CNAME delegation to separate certificate validation from primary DNS management.
- Restrict update requests using configurable client IP address ranges.
- Support SQLite and PostgreSQL for persistent account and challenge storage.
- Automatically obtain TLS certificates for the HTTP API through Let’s Encrypt.
- Support overlapping TXT challenges for certificates covering base domains and wildcard names.
- Serve additional static DNS records required by the validation domain.
- Support automation through compatible ACME clients, including Certbot integrations.
Website: github.com/acme-dns/acme-dns
Support:
Developer: Joona Hoikkala
License: MIT License
acme-dns is written in Go. Learn Go with our recommended free books and free tutorials.
Related Software
| DNS Servers | |
|---|---|
| CoreDNS | DNS server that chains plugins |
| BIND | Flexible, full-featured DNS system |
| PowerDNS | Authoritative server, the Recursor, and Dnsdist |
| NSD | NLnet Labs Name Server Daemon |
| Technitium | Self host a DNS server for privacy and security |
| SmartDNS | Local DNS server that accepts DNS query requests from local clients |
| Unbound | Validating, recursive, caching DNS resolver |
| Hickory | Rust-based DNS client, server and resolver |
| YADIFA | Lightweight authoritative Name Server with DNSSEC capabilities |
| Knot DNS | High-performance authoritative-only DNS server |
| gdnsd | Authoritative-only DNS server |
| Dnsmasq | Network infrastructure: DNS, DHCP, router advertisement and network boot |
| acme-dns | Simplified DNS server with a RESTful HTTP API |
| encrypted-dns | Modern encrypted DNS server |
| MaraDNS | Small DNS server |
| aardvark-dns | Authoritative DNS server for A/AAAA container records |
| FDNS | Encrypted DNS proxy designed for small networks and Linux desktops |
| tinydns | Tiny DNS server with simple JSON config |
| pkdns | DNS server resolving pkarr self-sovereign domains |
| dprox | Lightweight DNS proxy server |
| PopuraDNS | Simple DNS server with decentralized domain names support |
| pdnsd | DNS server designed for local caching of DNS information |
| dnrs | DNS server written in rust |
Read our verdict in the software roundup.
LinuxLinks helps you discover the best free and open source software for Linux. Explore our extensive collection of recommended applications, including alternatives to popular proprietary software.We also publish software reviews, Linux tutorials, hardware reviews, free programming books and articles covering the wider open source community. Browse our Linux resources to discover more. Know a useful free and open source Linux application we haven't covered? Suggest a program for inclusion. Has your software been featured on LinuxLinks? Display one of our Featured on LinuxLinks badges on your website or GitHub README. |


Please read our Comment Policy before commenting.