Hello guys,
I hope ypu can help me with this issue.
I use duiadns.net as my provider for DDNS and want to set it up on my OpenWRT One.
Here are the version informations:
OpenWRT: 24.10.1 r28597-0425664679 / LuCI openwrt-24.10 branch 25.119.71430~be769af
DDNS: 2.8.2-r64
I followed the following guids to set things up:
The update does not work and I always get the following message in LuCI: "XHR request timed out"
Here is the setup:
Please replace pictures with the latest DDNS client log. Use </>
to format it.
Here it is. Of course I masked the sensitive information in the log.
110430 : ************ ************** ************** **************
110431 note : PID '16196' started at 2025-05-09 11:04
110431 : ddns version : 2.8.2-64
110431 : uci configuration:
ddns.duiadns_v4.check_interval='5'
ddns.duiadns_v4.check_unit='minutes'
ddns.duiadns_v4.dns_server='ns1.duiadns.net'
ddns.duiadns_v4.domain='XXX.XXX.XX'
ddns.duiadns_v4.enabled='1'
ddns.duiadns_v4.force_interval='30'
ddns.duiadns_v4.force_unit='minutes'
ddns.duiadns_v4.interface='wan'
ddns.duiadns_v4.ip_source='web'
ddns.duiadns_v4.ip_url='http://ipv4.duiadns.net'
ddns.duiadns_v4.lookup_host='XXX.XXX.XX'
ddns.duiadns_v4.password='***PW***'
ddns.duiadns_v4.service_name='duiadns.net'
ddns.duiadns_v4.use_https='1'
ddns.duiadns_v4.use_ipv6='0'
ddns.duiadns_v4.use_syslog='2'
ddns.duiadns_v4.username='XXX@XXX.XX'
ddns.duiadns_v4=service
110431 : verbose mode : 0 - run normal, NO console output
110431 : check interval: 300 seconds
110431 : force interval: 1800 seconds
110431 : retry interval: 60 seconds
110431 : retry max count : 0 times
110431 : No old process
110431 : last update: 2025-05-09 11:00
110431 : Detect registered/public IP
110431 : #> /usr/bin/nslookup XXX.XXX.XX ns1.duiadns.net >/var/run/ddns/duiadns_v4.dat 2>/var/run/ddns/duiadns_v4.err
110431 : Registered IP 'XXX.XXX.XXX' detected
110431 info : Starting main loop at 2025-05-09 11:04
110431 : Detect current IP on 'web'
110431 : #> /usr/bin/wget --hsts-file=/tmp/.wget-hsts -nv -t 1 -O /var/run/ddns/duiadns_v4.dat -o /var/run/ddns/duiadns_v4.err --no-proxy 'http://ipv4.duiadns.net'
110431 : Current IP 'XXX.XXX.XXX.XXX' detected on web at 'http://ipv4.duiadns.net'
110431 : Waiting 300 seconds (Check Interval)
based on the log, it seems to be working ?
Yes, it looks like that, but whenever it updates the IP address, I get this message " XHR request timed out"
Install curl
.
Configure cacert
as /etc/ssl/certs/ca-certificates.crt
Do not use address detection via URL, always take the address from your own WAN interface.
Reboot and ignore "XHR request timed out".
Install curl
.
Configure cacert
as /etc/ssl/certs/ca-certificates.crt
I did that. Nothing changed.
Do not use address detection via URL, always take the address from your own WAN interface.
I have to do it that way, because this OpenWRT is not directly connected to the internet. It is behind another router and its WAN interface has an internal IP address. It works with that URL, as described in the mentioned guide by my provider.
Reboot and ignore "XHR request timed out".
I rebooted several times. Just ignoring an error message does not fix the problem. The update does not work and this message is the only lead I have.
Manually set a random IP address on the portal.
Restart the client and show the log.
I set the IP to 8.8.8.8 and restarted the service.
Here is the new log:
114136 : ************ ************** ************** **************
114136 note : PID '20842' started at 2025-05-09 11:41
114136 : ddns version : 2.8.2-64
114136 : uci configuration:
ddns.duiadns_v4.check_interval='5'
ddns.duiadns_v4.check_unit='minutes'
ddns.duiadns_v4.dns_server='ns1.duiadns.net'
ddns.duiadns_v4.domain='XXX.XXX.XX'
ddns.duiadns_v4.enabled='1'
ddns.duiadns_v4.force_interval='30'
ddns.duiadns_v4.force_unit='minutes'
ddns.duiadns_v4.interface='wan'
ddns.duiadns_v4.ip_source='web'
ddns.duiadns_v4.ip_url='http://ipv4.duiadns.net'
ddns.duiadns_v4.lookup_host='XXX.XXX.XX'
ddns.duiadns_v4.password='***PW***'
ddns.duiadns_v4.service_name='duiadns.net'
ddns.duiadns_v4.use_https='1'
ddns.duiadns_v4.use_ipv6='0'
ddns.duiadns_v4.use_syslog='2'
ddns.duiadns_v4.username='XXX@XXX.XX'
ddns.duiadns_v4=service
114136 : verbose mode : 0 - run normal, NO console output
114136 : check interval: 300 seconds
114136 : force interval: 1800 seconds
114136 : retry interval: 60 seconds
114136 : retry max count : 0 times
114136 : No old process
114136 : last update: 2025-05-09 11:37
114136 : Detect registered/public IP
114136 : #> /usr/bin/nslookup home.mbrehmer.duia.eu ns1.duiadns.net >/var/run/ddns/duiadns_v4.dat 2>/var/run/ddns/duiadns_v4.err
114136 : Registered IP '8.8.8.8' detected
114136 info : Starting main loop at 2025-05-09 11:41
114136 : Detect current IP on 'web'
114136 : #> /usr/bin/wget --hsts-file=/tmp/.wget-hsts -nv -t 1 -O /var/run/ddns/duiadns_v4.dat -o /var/run/ddns/duiadns_v4.err --no-proxy 'http://ipv4.duiadns.net'
114136 : Current IP 'XXX.XXX.XXX.XXX' detected on web at 'http://ipv4.duiadns.net'
114136 : Update needed - L: 'XXX.XXX.XXX.XXX' <> R: '8.8.8.8'
114136 : #> /usr/bin/wget --hsts-file=/tmp/.wget-hsts -nv -t 1 -O /var/run/ddns/duiadns_v4.dat -o /var/run/ddns/duiadns_v4.err --no-proxy 'https://ip.duiadns.net/dynamic.duia?host=home.mbrehmer.duia.eu&password=***PW***&ip4=XXX.XXX.XXX.XXX'
114136 : DDNS Provider answered:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>DUIA Module</title></head><body><ul><li>Hostname XXX.XXX.XX</li><ul><li>Ipv4 80.131.184.64</li></ul></ul></body></html>
114137 info : Update successful - IP 'XXX.XXX.XXX.XXX' send
114137 info : Forced update successful - IP: 'XXX.XXX.XXX.XXX' send
114137 : Waiting 300 seconds (Check Interval)
So again everything looks fine in the log. But the record at the provider is still not updated.
I just saw something strange:
I set the path to the CA vertificate multiple times and saved the new setting. But every time I open the configuration, it is set back to the default value.
Is there an error withing the LuCI module for DDNS?
That is not the case:
My local nslookup
shows that your IP is not 8.8.8.8 anymore - it is the same 80.131.x.x shown in your log.
Probably yes, so make sure the configuration is correct in /etc/config/ddns
On my site it still says 8.8.8.8
Now things become really strange.
That seems to be the origin of the problem. There is no path to the CA certificates in the config file.
config ddns 'global'
option ddns_dateformat '%F %R'
option ddns_loglines '250'
option ddns_rundir '/var/run/ddns'
option ddns_logdir '/var/log/ddns'
config service 'duiadns_v4'
option service_name 'duiadns.net'
option use_ipv6 '0'
option enabled '1'
option lookup_host 'XXX.XXX.XX'
option domain 'XXX.XXX.XX'
option username 'XXXXXXXX'
option password 'XXXXXXXX'
option ip_source 'web'
option ip_url 'http://ipv4.duiadns.net'
option interface 'wan'
option dns_server 'ns1.duiadns.net'
option use_syslog '2'
option check_interval '5'
option check_unit 'minutes'
option force_interval '5'
option force_unit 'minutes'
option use_https '1'
So what do I have to add here, to give it the correct path?
Thanks.
I did that and also rebooted my OpenWRT One another time. Now things work correctly.
So I would say this is an issue with the module for LuCI. Well, I have always been addicted to CLIs, but gave LuCI a try.
Thank you very much for the great support.
Something is wrong with this parameter in the current version, I'm not very good with JS to fix this myself.
Hello, somehow I can't configure a CA path in the Dynamic DNS section, neither in the global settings nor in the plugin.
What I enter there is simply not saved?
Edit: I can add the entry manually in /etc/config/ddns and then it will also be displayed in the GUI.
However, I can neither change nor create the entry via the GUI, only remove it.
1 Like