# tiny-dns A simple DNS server that can be used to answer ACME DNS-01 or DynDNS queries. - `POST /update` : Creates a new or updates an existing DNS entry. - `POST /delete` : Deletes an DNS entry. - `GET /status` : Returns the status of the server. - `GET /dyndns/domain.example.com.` : Alternate way of updating DNS entries for DynDNS. Authorization via `x-api-user` & `x-api-key` header-fields. ### Update URL ```bash curl http://\[::1\]:3000/update -H "X-Api-User: " -H "X-Api-Key: " \ --json '{"subdomain": "_acme-challenge.example.com", "rdata": "___validation_token_received_from_the_ca___"}' ``` ### Test URL ```bash dig @localhost -p 3053 -t TXT _acme-challenge.example.com ``` ### DNS Config ```bind example.com. IN A 192.0.2.1 www.example.com. IN CNAME example.com. acme-dns.example.com. IN A 192.0.2.2 _acme-challenge.example.com. IN NS acme-dns.example.com. _acme-challenge.www.example.com. IN NS acme-dns.example.com. ``` ### Prior art - [agnos](https://github.com/krtab/agnos) - Uses the DNS-NS entries, but no webapi - [acme-dns](https://github.com/joohoi/acme-dns) - Provides a webapi for managing DNS entries.