X-Git-Url: https://git.ralfj.de/dyn-nsupdate.git/blobdiff_plain/b83cce8231332251a6bbcefb24330a87cee9ebff..1a68dfd140219eb54670d5c961d9d684a7c63666:/client-scripts/dyn-ns-client?ds=inline diff --git a/client-scripts/dyn-ns-client b/client-scripts/dyn-ns-client index 88d9220..11e4512 100755 --- a/client-scripts/dyn-ns-client +++ b/client-scripts/dyn-ns-client @@ -61,9 +61,15 @@ def getMyIP(family, config, methods = {}, verbose = 0): method = config[family]['method'] if method == 'none': return None + elif method == 'remove': + return "" elif method == 'web': server = config[family].get('server', config['DEFAULT']['server']) - ip = urlopen('https://'+server+'/checkip', config) + url = 'https://'+server+'/checkip' + try: + ip = urlopen(url, config) + except urllib.error.URLError: + raise Exception("Error fetching {}, make sure the URL is correct and the internet connection actually works.".format(url)) if verbose >= VERBOSE_FULL: print("Server",server,"says my",family,"is",ip) return ip @@ -143,9 +149,17 @@ def updateDomain(server, domain, ipv4, ipv6, password, config, verbose): if verbose >= VERBOSE_CHANGE: msg = "Successfully updated domain {} on {}:".format(domain, server) if ipv4 is not None: - msg += " IPv4={} -> {}".format(curIPv4, ipv4) + if curIPv4 == ipv4: + msg += " IPv4={} (unchanged)".format(curIPv4) + else: + msg += " IPv4={} -> {}".format(curIPv4, ipv4) + if ipv4 is not None and ipv6 is not None: + msg += "," if ipv6 is not None: - msg += " IPv6={} -> {}".format(curIPv6, ipv6) + if curIPv6 == ipv6: + msg += " IPv6={} (unchanged)".format(curIPv6) + else: + msg += " IPv6={} -> {}".format(curIPv6, ipv6) print(msg) # all went all right return True