FRITZ!Box · Cloudflare
Four steps, about ten minutes. The examples use home.example.com in the zone example.com; put in your own wherever they appear.
In Cloudflare, open My Profile → API Tokens → Create Token → Create Custom Token and give the token these two permissions, Zone.Zone Read and Zone.DNS Edit:
Zone · Zone · ReadZone · DNS · EditInclude · Specific zone · example.comUnder Zone Resources → Include → Specific zone, pick the one zone your FRITZ!Box lives in. Then a leaked token can't touch your other domains.
Your token travels to this Instance in the Update URL on every update. It is never logged, but whoever operates this Instance could read it. If that's not good enough, run your own →
The service only updates existing records and never creates them, so create them once by hand. In Cloudflare, open your domain → DNS → Records → Add record.
Ahome — the part of home.example.com before .example.com192.0.2.1 — any IPv4 works until the first updateDNS only1 minAAAAhome — the part of home.example.com before .example.com2001:0db8:85a3:0000:0000:8a2e:0370:7334 — any IPv6 works until the first updateDNS only1 minSkip the record for an IP family your line doesn't have: pick the IP families above that it does have, and the Update URL in step 03 follows.
In the FRITZ!Box admin page, open Internet → Permit Access → DynDNS(Internet → Freigaben → DynDNS), tick Use DynDNS (DynDns aktiv) and fill in:
https://fritzdns.piscis.dev/api/fritz-dyndns/?token=<pass>&record=home.example.com&zone=example.com&ipv4=<ipaddr>&ipv6=<ip6addr>home.example.com — the full hostname from the Update URLfritz — any value, the service ignores it●●●●●● — your Cloudflare API token from step 01 The token goes into the Password field and nowhere else: the FRITZ!Box puts it in place of <pass>, and <ipaddr> / <ip6addr> become your current addresses. Click Apply (Übernehmen).
If not, look for DynDNS-Fehler entries in the FRITZ!Box event log, System → Event Log (System → Ereignisse). A failed update ends with one of these messages from the service:
Zone "example.com" not found.A record for "home.example.com" does not exist.AAAA record for "home.example.com" does not exist.Missing ipv4 or ipv6 URL parameter.DynDNS-Fehler: Der angegebene Domainname kann trotz erfolgreicher Aktualisierung nicht aufgelöst werden.home.example.com. Right after you create the records, give DNS a few minutes to catch up.