From 422287b2d10e237a74bd554c62d7d8bdef10142d Mon Sep 17 00:00:00 2001 From: Meliox Date: Sun, 5 Jan 2025 16:24:22 +0100 Subject: [PATCH 1/3] check for empty string ip address --- .../src/opnsense/scripts/ddclient/lib/account/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dns/ddclient/src/opnsense/scripts/ddclient/lib/account/__init__.py b/dns/ddclient/src/opnsense/scripts/ddclient/lib/account/__init__.py index 4c3716b95e..6845bc5b22 100755 --- a/dns/ddclient/src/opnsense/scripts/ddclient/lib/account/__init__.py +++ b/dns/ddclient/src/opnsense/scripts/ddclient/lib/account/__init__.py @@ -121,7 +121,7 @@ def execute(self): interface = self.settings['interface'] if self.settings.get('interface' ,'').strip() != '' else None ) - if self._current_address == None: + if self._current_address == None or self._current_address == "": syslog.syslog( syslog.LOG_WARNING, "Account %s no global IP address detected, check config if warning persists" % (self.description) From 187b9fea809070bac14661a9344d0aeb981598c8 Mon Sep 17 00:00:00 2001 From: Meliox Date: Sun, 5 Jan 2025 17:07:56 +0100 Subject: [PATCH 2/3] Replace dyndns ipv4 by dynu ipv6 and ipv4 --- .../src/opnsense/mvc/app/models/OPNsense/DynDNS/DynDNS.xml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/dns/ddclient/src/opnsense/mvc/app/models/OPNsense/DynDNS/DynDNS.xml b/dns/ddclient/src/opnsense/mvc/app/models/OPNsense/DynDNS/DynDNS.xml index 0888c87ace..3016f823db 100644 --- a/dns/ddclient/src/opnsense/mvc/app/models/OPNsense/DynDNS/DynDNS.xml +++ b/dns/ddclient/src/opnsense/mvc/app/models/OPNsense/DynDNS/DynDNS.xml @@ -142,7 +142,8 @@ cloudflare cloudflare-ipv4 cloudflare-ipv6 - dyndns + dynu-ipv4 + dynu-ipv6 freedns he icanhazip From 0e5a7910ed3676e6887d7cd94b2faef98434435c Mon Sep 17 00:00:00 2001 From: Meliox Date: Sun, 5 Jan 2025 17:45:16 +0100 Subject: [PATCH 3/3] Add services and cleaner check of no ip --- .../src/opnsense/scripts/ddclient/lib/account/__init__.py | 2 +- dns/ddclient/src/opnsense/scripts/ddclient/lib/address.py | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/dns/ddclient/src/opnsense/scripts/ddclient/lib/account/__init__.py b/dns/ddclient/src/opnsense/scripts/ddclient/lib/account/__init__.py index 6845bc5b22..4c3716b95e 100755 --- a/dns/ddclient/src/opnsense/scripts/ddclient/lib/account/__init__.py +++ b/dns/ddclient/src/opnsense/scripts/ddclient/lib/account/__init__.py @@ -121,7 +121,7 @@ def execute(self): interface = self.settings['interface'] if self.settings.get('interface' ,'').strip() != '' else None ) - if self._current_address == None or self._current_address == "": + if self._current_address == None: syslog.syslog( syslog.LOG_WARNING, "Account %s no global IP address detected, check config if warning persists" % (self.description) diff --git a/dns/ddclient/src/opnsense/scripts/ddclient/lib/address.py b/dns/ddclient/src/opnsense/scripts/ddclient/lib/address.py index 5618d9aeb6..3450c53cf8 100755 --- a/dns/ddclient/src/opnsense/scripts/ddclient/lib/address.py +++ b/dns/ddclient/src/opnsense/scripts/ddclient/lib/address.py @@ -32,7 +32,8 @@ 'cloudflare': '%s://one.one.one.one/cdn-cgi/trace', 'cloudflare-ipv4': '%s://1.1.1.1/cdn-cgi/trace', 'cloudflare-ipv6': '%s://[2606:4700:4700::1111]/cdn-cgi/trace', - 'dyndns': '%s://checkip.dyndns.org/', + 'dynu-ipv4': '%s://ipcheck.dynu.com/', + 'dynu-ipv6': '%s://ipcheckv6.dynu.com/', 'freedns': '%s://freedns.afraid.org/dynamic/check.php', 'he': '%s://checkip.dns.he.net/', 'icanhazip': '%s://icanhazip.com/', @@ -64,7 +65,7 @@ def extract_address(host, txt): return match.group() except ValueError: pass - return "" + return None def checkip(service, proto='https', timeout='10', interface=None):