_ddns-scripts: inwx dyndns ipv6 works only with curl (not with wget)

Dear all,

I’m using openwrt ddns-scripts with provider inwx to keep track of my ipv6 public address.
It does not work with wget, but does work with curl.

I would like to file a bug report or feat. request to make it work with both wget and curl.

Please can anyone help me to do that?
I can not further debug it to write a good bug report. I can only diagnose that it does / does not. But I cant find out why.
Therefore I can not report it in a good way.
Also, I would like to understand it better.

What I get is this:

  1. with wget:
root@router:~# /usr/lib/ddns/dynamic_dns_updater.sh -S inwx6 -v 2 start
 095230       : ************ ************** ************** **************
 095230  note : PID '8915' started at 2026-01-27 09:52
 095230       : ddns version  : 2.8.2-64
 095231       : uci configuration:
ddns.inwx6.domain='domain.de'
ddns.inwx6.enabled='1'
ddns.inwx6.interface='wan6'
ddns.inwx6.ip_network='wan6'
ddns.inwx6.ip_source='network'
ddns.inwx6.lookup_host='domain.de'
ddns.inwx6.password='password'
ddns.inwx6.service_name='inwx.de'
ddns.inwx6.use_https='1'
ddns.inwx6.use_ipv6='1'
ddns.inwx6.use_syslog='2'
ddns.inwx6.username='username'
ddns.inwx6=service
 095231       : verbose mode  : 2 - run once, NO retry on error
 095231       : check interval: 600 seconds
 095231       : force interval: 259200 seconds
 095231       : retry interval: 60 seconds
 095231       : retry max count : 0 times
 095231       : No old process
 095231       : last update: 2026-01-27 09:43
 095231       : Detect registered/public IP
 095231       : #> /usr/bin/host -t AAAA domain.de  >/var/run/ddns/inwx6.dat 2>/var/run/ddns/inwx6.err
 095231  WARN : NO valid IP found
 095231  WARN : Error in 'expand_ipv6()' - invalid IPv6 found: '' expanded: ''
 095231  info : Starting main loop at 2026-01-27 09:52
 095231       : Detect current IP on 'network'
 095231       : Current IP '2XX2:9XX:1XX:3XX0:bXXf:bXXf:XXXX:5XX1' detected on network 'wan6'
 095232       : Update needed - L: '2XX2:9XX:1XX:3XX0:bXXf:bXXf:XXXX:5XX1' <> R: 'invalid'
 095232       : Force communication via IP '2XX2:9XX:1XX:3XX0:bXXf:bXXf:XXXX:5XX1'
 095232       : #> /usr/bin/wget --hsts-file=/tmp/.wget-hsts -nv -t 1 -O /var/run/ddns/inwx6.dat -o /var/run/ddns/inwx6.err --bind-address=2XX2:9XX:1XX:3XX0:bXXf:bXXf:XXXX:5XX1 --no-proxy 'https://username:password@dyndns.inwx.com/nic/update?myipv6=2XX2:9XX:1XX:3XX0:bXXf:bXXf:XXXX:5XX1'
 095233 ERROR : GNU Wget Error: '4'
 095233       : failed: Address family not supported by protocol.
 095233  WARN : Transfer failed - Verbose Mode: 2 - NO retry on error
 095233 ERROR : IP update not accepted by DDNS Provider
 095233       : Waiting 600 seconds (Check Interval)

and

  1. with curl:
root@router:~# /usr/lib/ddns/dynamic_dns_updater.sh -S inwx6 -v 2 start
 095446       : ************ ************** ************** **************
 095446  note : PID '9457' started at 2026-01-27 09:54
 095446       : ddns version  : 2.8.2-64
 095446       : uci configuration:
ddns.inwx6.domain='domain.de'
ddns.inwx6.enabled='1'
ddns.inwx6.interface='wan6'
ddns.inwx6.ip_network='wan6'
ddns.inwx6.ip_source='network'
ddns.inwx6.lookup_host='domain.de'
ddns.inwx6.password='password'
ddns.inwx6.service_name='inwx.de'
ddns.inwx6.use_https='1'
ddns.inwx6.use_ipv6='1'
ddns.inwx6.use_syslog='2'
ddns.inwx6.username='username'
ddns.inwx6=service
 095446       : verbose mode  : 2 - run once, NO retry on error
 095446       : check interval: 600 seconds
 095446       : force interval: 259200 seconds
 095446       : retry interval: 60 seconds
 095446       : retry max count : 0 times
 095446       : No old process
 095446       : last update: 2026-01-27 09:43
 095446       : Detect registered/public IP
 095446       : #> /usr/bin/host -t AAAA domain.de  >/var/run/ddns/inwx6.dat 2>/var/run/ddns/inwx6.err
 095447  WARN : NO valid IP found
 095447  WARN : Error in 'expand_ipv6()' - invalid IPv6 found: '' expanded: ''
 095447  info : Starting main loop at 2026-01-27 09:54
 095447       : Detect current IP on 'network'
 095447       : Current IP '2XX2:9XX:1XX:3XX0:bXXf:bXXf:XXXX:5XX1' detected on network 'wan6'
 095447       : Update needed - L: '2XX2:9XX:1XX:3XX0:bXXf:bXXf:XXXX:5XX1' <> R: 'invalid'
 095447       : Force communication via device 'br-wan'
 095447       : #> /usr/bin/curl -RsS -o /var/run/ddns/inwx6.dat --stderr /var/run/ddns/inwx6.err --interface br-wan --noproxy '*' 'https://username:password@dyndns.inwx.com/nic/update?myipv6=2XX2:9XX:1XX:3XX0:bXXf:bXXf:XXXX:5XX1'
 095448       : DDNS Provider answered:
nochg
 095448  info : Update successful - IP '2XX2:9XX:1XX:3XX0:bXXf:bXXf:XXXX:5XX1' send
 095448  info : Forced update successful - IP: '2XX2:9XX:1XX:3XX0:bXXf:bXXf:XXXX:5XX1' send
 095448       : Waiting 600 seconds (Check Interval)

Thank you

tried the wget-ssl package ?

1 Like

yes,

root@router:~# opkg list-installed | grep wget
wget-ssl - 1.24.5-r1

for fun, try executing the wget line from the log in cli, but add the -6 option.

good idea, thank you - seems to have something to do with DNS or routing.
wget tried to use the ipv4 gateway it seems, maybe because my DNS is not right for ipv6?

root@router:# /usr/bin/wget -6 --verbose
[...]
Resolving dyndns.inwx.com... failed: Name has no usable address.
wget: unable to resolve host address 'dyndns.inwx.com'

while

root@router:/etc/config# /usr/bin/wget --verbose
[…]
Resolving dyndns.inwx.com... 185.181.104.220
Connecting to dyndns.inwx.com|185.181.104.220|:443... failed: Address family not supported by protocol.

above curl says “Force communication via device br-wan”, maybe working around something

Also

root@router:/etc/config# ping -6 dyndns.inwx.com ping: bad address 'dyndns.inwx.com'

vs

root@router:/etc/config# ping -6 inwx.com PING inwx.com (2a0a:c980:4:24::): 56 data bytes 64 bytes from 2a0a:c980:4:24::: seq=0 ttl=55 time=21.547 ms 64 bytes from 2a0a:c980:4:24::: seq=1 ttl=55 time=16.837 ms

dyndns.inwx.com has no AAAA record.

use dyndns.inwx.de and open an issue with INWX to fix this.