dns/ddclient: empty ip send to dns provider & replace dyndns by dynu (#4448)

* check for empty string ip address

* Replace dyndns ipv4 by dynu ipv6 and ipv4

* Add services and cleaner check of no ip

* PR feedback - revert

* Update dns/ddclient/src/opnsense/scripts/ddclient/lib/account/__init__.py

---------

Co-authored-by: Meliox <na>
Co-authored-by: Ad Schellevis <AdSchellevis@users.noreply.github.com>
This commit is contained in:
Meliox 2025-05-21 08:57:53 +02:00 committed by GitHub
parent a5fdb9ccd1
commit a3575183dd
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 5 additions and 3 deletions

View file

@ -142,7 +142,8 @@
<web_cloudflare>cloudflare</web_cloudflare>
<web_cloudflare_ipv4 value="cloudflare-ipv4">cloudflare-ipv4</web_cloudflare_ipv4>
<web_cloudflare_ipv6 value="cloudflare-ipv6">cloudflare-ipv6</web_cloudflare_ipv6>
<web_dyndns>dyndns</web_dyndns>
<web_dynu_ipv4 value="dynu-ipv4">dynu-ipv4</web_dynu_ipv4>
<web_dynu_ipv6 value="dynu-ipv6">dynu-ipv6</web_dynu_ipv6>
<web_freedns>freedns</web_freedns>
<web_he>he</web_he>
<web_icanhazip>icanhazip</web_icanhazip>

View file

@ -122,7 +122,7 @@ class BaseAccount:
dynipv6host = self.settings['dynipv6host'] if self.settings.get('dynipv6host' ,'').strip() != '' else None
)
if self._current_address == None:
if not self._current_address:
syslog.syslog(
syslog.LOG_WARNING,
"Account %s no global IP address detected, check config if warning persists" % (self.description)

View file

@ -35,7 +35,8 @@ checkip_service_list = {
'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/',