astlinux-project / ddclient-curl

Fork of ddclient using curl for network IO
GNU General Public License v3.0
18 stars 9 forks source link

Don't do unneeded updates when using both IPv4 and IPv6 #4

Open ralphrmartin opened 6 years ago

ralphrmartin commented 6 years ago

I am running with both dynamic IPv4 and IPv6 addresses.

Sometimes my ISP changes my IPv4 address without changing my IPv6 address (or rarely, vice versa). However, it seems that in this script, if either address changes, updates for both get sent to the ISP.

To avoid "unnecessary changes considered abusive" warnings from many DDNS providers, ideally it should only update those addresses that have actually changed, but not ones that remain unchanged

abelbeck commented 6 years ago

Thanks @ralphrmartin for the note. Yes, we are aware of this and can consider optimizing the IPv4/IPv6 update. I suspect there may be a valid reason we did not optimize this behavior, but don't recall off the top of my head.

Though, given the providers that support both IPv4/IPv6, I'm not aware any that mind an extra update now and then. Note that the "unnecessary changes considered abusive" logs originate from the ddclient script, not necessarily the DDNS provider ... this was a DynDNS provider requirement years ago (and may still be today).

abelbeck commented 3 years ago

As per the README "DNS services currently supporting both IPv4 and IPv6 include:"

Cloudflare   - See https://www.cloudflare.com/ for details
FreeDNS      - See https://freedns.afraid.org/ for details
HE Free DNS  - See https://dns.he.net/ for details (Hurricane Electric)
DuckDNS      - See https://www.duckdns.org/ for details

Typically IPv6 support needs to be added for each protocol type.