# Inadyn DDNS
> Inadyn, or In-a-Dyn, is a small and simple Dynamic DNS, DDNS, client with HTTPS support. Commonly available in many GNU/Linux distributions, used in off the shelf routers and Internet gateways to automate the task of keeping your Internet name in sync with your public¹ IP address. It can also be used in installations with redundant (backup) connections to the Internet.
It's hosted here: https://github.com/troglobit/inadyn
## Cloudflare Template and Sample Configuration
This is a Cloudflare template and the configuration I'm using (API key redacted and can be found in 1Password)
```json
# Create a unique custom API token with the following permissions:
# -> Zone.Zone - Read, Zone.DNS - Edit.
provider cloudflare.com {
username = zone.name
password = api_token_important_read_comment
hostname = hostname.zone.name
ttl = 1 # optional, value of 1 is 'automatic'.
proxied = false # optional.
}
```
```json
provider cloudflare.com {
username = nikolamilekic.com
password = <REDACTED>
hostname = hq.nikolamilekic.com
}
```
## More Frequent Updates
You probably need to add the following to `/jffs/scripts/services-start`, which will add a cron job that runs on top of the hour.
```bash
cru a ddnsupdate "0 * * * * /jffs/scripts/ddns-start"
```
See this link for details: https://wiredgorilla.com/how-to-add-cron-job-on-asuswrt-merlin-wifi-router-nixcraft/
## Use with Asus Merlin
Inadyn is the DNS tool used by the Asuswrt Merlin firmware.
Merlin configuration instructions can be found here: https://github.com/RMerl/asuswrt-merlin.ng/wiki/DDNS-services
After configuring, run `inadyn --check-config -f "/jffs/inadyn.conf"` to check the configuration file.
You can trigger a manual update by running `inadyn -f "/jffs/inadyn.conf" -n -1`. `-n` outputs messages to standard output and `-1` is used to trigger a single change only (instead of cyclical changes).