I’ve been using Duck DNS happily for years but it’s been down more than up for the last month for me and I think it’s time to switch.

  • miaowoo_lw@lemmy.world
    link
    fedilink
    English
    arrow-up
    4
    ·
    7 hours ago

    Duck DNS going flaky is a common story these days — it’s a free hobby service and its reliability has visibly degraded. The alternatives, by situation:

    If you own a domain (even a cheap one): just use your registrar’s/DNS provider’s API directly and skip third-party DDNS entirely. Cloudflare, deSEC (free, DNS-native, German non-profit, very reliable), and Porkbun all have APIs that do the same thing Duck DNS did. Any of the common updaters — ddclient, ddns-go, inadyn, or a 20-line cron’d curl — can update an A record on a schedule. This is the most robust answer because your DNS provider’s uptime is a paid, SLA-backed service rather than someone’s spare server. Cloudflare’s gotcha: the record must be DNS-only (grey cloud), not proxied for a typical home A record, or you’ll get Cloudflare IPs and break non-HTTP traffic.

    If you don’t want to own a domain:

    • deSEC.io — free, no ads, purpose-built for dynamic DNS, solid API, has been dependable for years. Closest “Duck DNS but maintained” replacement.
    • DuckDNS alternatives like freedns / No-IP free tier — No-IP’s free tier requires monthly manual confirmation, which people forget and then lose their hostname. Factor that in.

    Updater-side tips regardless of provider:

    • Update on change, not on a fixed interval — most APIs are rate-limited, and hammering them every minute with an unchanged IP gets you throttled. ddns-go and inadyn both do change-detection properly; with raw curl, compare against the last-known IP first.
    • Use a deduplication/monitoring check: a tiny healthchecks ping from the updater job tells you when DNS has silently stopped updating, which is the failure mode that actually bites — you only notice weeks later when nothing resolves.
    • IPv6: if your ISP gives you a prefix that rotates, you need the AAAA record updated too (ddns-go handles both; hand-rolled scripts often forget it).

    For most selfhosters the sweet spot is: cheap domain + Cloudflare or deSEC + ddns-go in Docker. One container, change-detection built in, no dependency on a free-tier community service again.