I’m using no-ip, latest openwrt snapshot build.
Without curl installed, ddns update use this:
I can also use this command anytime and works properly.
/bin/uclient-fetch -q -O /var/run/ddns/myddns.dat -Y off 'https://myemail%40myemail.com:***PW***@dynupdate.no-ip.com/nic/update?hostname=myddns.myddns.com&myip=1.2.3.4' 2>/var/run/ddns/myddns.err
After curl installed, ddns update use this:
this cannot update IP to ddns.
curl -RsS -o /var/run/ddns/myddns.dat --stderr /var/run/ddns/myddns.err --interface wan --noproxy '*' 'https://myemail%40myemail.com:**PW**@dynupdate.no-ip.com/nic/update?hostname=myddns.myddns.com&myip=1.2.3.4'
My workaround is modify dynamic_updater.sh to use uclient-fetch instead of curl.
but is there any solution of that ?
Is it curl problem ? Or ddns used incorrect parameter ?
@johan666 Can you enable ddns-script logging and show what is in the logs?
Also, your base environment? You mentioned openwrt snapshot build - can you provide revision number, architecture, and board for which you are building?
Using ImageBuilder or the SDK + ImageBuilder and modifying some settings / packages, or just the snapshot image for your board?
What is your configuration? (network, dhcp (dnsmasq), system, firewall, etc)?
AndrewZ
December 18, 2025, 8:21am
3
The problem is most likely related to Basic Auth.
The easiest way is to switch to a different DDNS provider that supports token -based authentication.
Running the latest snapshot from Openwrt, not self build.
DISTRIB_ID='OpenWrt'
DISTRIB_RELEASE='SNAPSHOT'
DISTRIB_REVISION='r32346-70a4da1ceb'
DISTRIB_TARGET='qualcommax/ipq50xx'
DISTRIB_ARCH='aarch64_cortex-a53'
DISTRIB_DESCRIPTION='OpenWrt SNAPSHOT r32346-70a4da1ceb'
Current curl = curl-8.15.0-r1
DDNS update fine “without” curl !
Just add curl, NOIP ddns won’t update.
It happened long time ago no matter old version or current version of Openwrt and Curl.
So believe that my config is fine, otherwise my domain will never update even without curl.
so back to the basic, it is just a simple url to update IP to no-ip domain,
(other ddns service could be similar)
how to make it work in curl under Openwrt ?
https://myemail@myemail.com:password@dynupdate.no-ip.com/nic/update?hostname=myddns.myddns.com&myip=8.8.8.8
It works in using ‘uclient-fetch’.
mvasek
December 18, 2025, 11:30am
6
Sorry for probably unrelated post, but should not one rather use some key (per domain[set]) with NO-IP instead for the main credentials. Not saying it makes a difference here.
AndrewZ
December 18, 2025, 12:01pm
7
If you really want to stay with this provider you can try replacing username:password in the request with Authorization header in the request body and see if it makes any difference. See example on the provider's web site
I would just switch to another DDNS provider. If you have some fancy name with the current one, you can use CNAME for redirection.
mvasek
December 18, 2025, 12:04pm
8
Don't curl already have --user flag to do the same? Also I suspect that the OP is not doing the request on their own, but rather some script calls it.
AndrewZ
December 18, 2025, 12:06pm
9
It's probably broken with the recent curl or something else in the snapshot.
We had a topic on the similar issue recently
Ever since switching to the main branch, my HE DDNS setup fails to renew IP's. I thought it might have been cURL 8.15, but I bumped it to the latest stable (8.16), the same error persists though. This very same configuration worked fine on 24.10.
I am running HE DDNS on multiple routers, all the routers on 24.10 HEAD still work.
Config:
config ddns 'global'
option ddns_dateformat '%F %R'
option ddns_loglines '250'
option use_https '1'
option ddns_rundir '/var/run/ddns'
option ddns_logdir…
I've been wondering lately if we should enable AUTH support in libcurl? Haven't put my theory to the test yet.
ddns-scripts detects curl and uses a different command line when cURL is present, so it not necessarily a change in curl that is the issue. Logs would really help, otherwise we are guessing blindly about what is going on. The maintainer (@feckert ) of ddns-scripts might have some ideas as well.
p.p
December 18, 2025, 5:01pm
12
It’s likely related to this change , which is broken for me with OVH (see my workaround in the conversation).
Please review
master ← danielfdickinson:pr-enable-wrongly-disabled-http-auth
opened 05:48AM - 26 Dec 25 UTC
## 📦 Package Details
**Maintainer:** @feckert @hnyman @GeorgeSapkin (As krant… has requested removal as mainter)
**Description:**
commit ea66e463cffc0811757eedee80889323ff66191c added a new config option LIBCURL_HTTP_AUTH to enable or disable HTTP_AUTH support in cURL. It defaulted the option to n (disabled).
However, prior to this change HTTP_AUTH was enabled for cURL, as the configure script defaults to HTTP_AUTH enabled when it is not explicitly disabled.
This impacts any consumer of cURL that uses HTTP_AUTH, including authentication by username and password in the URL. (Confirmed via run testing).
So we set the default for the option to y (enabled).
---
## 🧪 Run Testing Details
- **OpenWrt Version:** SNAPSHOT (32402-501e54b6c2)
- **OpenWrt Target/Subtarget:** bcm27xx/bcm2712
- **OpenWrt Device:** rpi-5
Note that run-testing so far has been very quick and dirty, and further run-testing would be welcome (and I plan on doing more).
See also https://github.com/openwrt/packages/issues/28172
---
## ✅ Formalities
- [x] I have reviewed the [CONTRIBUTING.md](https://github.com/openwrt/packages/blob/master/CONTRIBUTING.md) file for detailed contributing guidelines.
### If your PR contains a patch:
N/A
which should resolve the above issue.
otnert
December 26, 2025, 7:06am
15
Not to take the thread off topic…. but will the fix help with the issues outlined here and here ?
The threads were before commit https://github.com/openwrt/packages/commit/ea66e463cffc0811757eedee80889323ff66191c of August 24, 2025, so are likely some other issue.
EDIT: It is possible that this commit: https://github.com/openwrt/packages/commit/43b9a37a6ef0c69e834cf2967a3796804b7e3a48 is the breaking commit, which would fit the timing of those two threads!
Under investigation...
@AndrewZ Is token based authentication to be preferred over HTTP Auth?
AndrewZ
December 26, 2025, 11:33am
18
I would say yes, but unfortunately not all popular providers offer this option.
otnert
December 29, 2025, 12:47am
19
OK curl & libcurl have now been bumped to version 8.15.0-r2.
This has finally fixed the curl error: "message": "no auth data"since my initial report in March !
Many thanks @cshoredaniel for following this through.
curl is working fine since update from last month.
root@WRT:~# curl -RSv --interface wan --noproxy '*' 'https://johan%40mymail.cc:mypassword@dynupdate.no-ip.com/nic/update?hostn
ame=myddns.cc&myip=1.2.3.9'
> GET /nic/update?hostname=myddns.cc&myip=1.2.3.9 HTTP/1.1
> Host: dynupdate.no-ip.com
> Authorization: Basic bmFncmEwMEBnbWFpbC5jb206cXdlODg4
> User-Agent: curl/8.15.0
> Accept: */*
>
< HTTP/1.1 200 OK
< Server: nginx
< Content-Type: text/plain; charset=UTF-8
< Transfer-Encoding: chunked
< Connection: keep-alive
< Cache-Control: no-cache, private
< Date: Tue, 03 Feb 2026 01:49:26 GMT
<
good 1.2.3.9
root@WRT:~#
This time the ordinary uclient-fetch fail.
#HTTPS#
root@WRT:~# uclient-fetch -P /tmp/ -O /tmp/ddns -Y off 'https://johan%40mymail.cc:mypassword@dynupdate.no-ip.com/nic/update?ho
stname=myddns.cc&myip=1.2.2.8'
Downloading 'https://johan%40mymail.cc:mypassword@dynupdate.no-ip.com/nic/update?hostname=myddns.cc&myip=1.2.2.8'
Connecting to 158.247.7.204:443
HTTP error 401
root@WRT:~#
#HTTP#
root@WRT:~# uclient-fetch -P /tmp/ -O /tmp/ddns -Y off 'http://johan%40mymail.cc:mypassword@dynupdate.no-ip.com/nic/update?hos
tname=myddns.cc&myip=1.2.2.8'
Downloading 'http://johan%40mymail.cc:mypassword@dynupdate.no-ip.com/nic/update?hostname=myddns.cc&myip=1.2.2.8'
Connecting to 158.247.7.204:80
Writing to '/tmp/ddns'
Download completed (21 bytes)
root@WRT:~#
I know this is not related to this thread, just a heads up of it.