Dynamic DNS for home routers.

https://karldns.de/api/v1/router/update/<secret>?myip=<ipaddr>

KarlDNS gives you a generated DynDNS hostname under karldns.de. Add the private update URL to your router, or use it from a script.

Manual updates

How it works

No account needed.

Create a hostname, save the private values, register it, done.

  1. CreateRandom hostname and private links.
  2. SaveCopy the secrets while they are shown.
  3. RegisterActivate the hostname when you are ready.
  4. UpdateRouter, cron, or CNAME can use it.
curl -sS 'https://karldns.de/api/v1/router/update/<secret>?myip=216.73.217.84' good 216.73.217.84

Update from a router or script.

Works with FRITZ!Box, curl, cron, Home Assistant, OpenWrt, pfSense, OPNsense, UniFi, MikroTik, and custom tools.

# explicit IPv4 curl -sS 'https://karldns.de/api/v1/router/update/<secret>?myip=216.73.217.84' # source IP fallback curl -sS 'https://karldns.de/api/v1/router/update/<secret>'

Linux cron updater

Linux updater.

Run this on a Linux box that is always on. It creates and registers a hostname, installs the updater, schedules cron, and prints your private dashboard link. Works with Debian, Ubuntu, Fedora, Arch, Alpine, and Proxmox hosts.

Install

Sets up the updater and cron job.

curl -fsSL https://karldns.de/install.sh | sudo sh

Uninstall

Stops the updater and leaves private URLs on disk.

curl -fsSL https://karldns.de/uninstall.sh | sudo sh