Files
pauperdns/README.md
2026-01-12 16:44:31 +01:00

42 lines
1.2 KiB
Markdown

# 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: <user>" -H "X-Api-Key: <super-secret>" \
--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.