openwrt / openwrt/packages

ddns-scripts: ydns.io HTTP400 with wget, works with cURL

Open
#27,794 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug
Dominant language
Makefile
Stars
4.6k
Forks
4k
Avg merge
3d 12h
Merged PRs (30d)
134

Description

Package Name

ddns-scripts

Maintainer

@feckert

OpenWrt Version

OpenWrt 24.10.3 (r28872-daca7c049b)

OpenWrt Target/Subtarget

ath79/nand

Steps to Reproduce
  1. Have an ydns.io account,
  2. configure DDNS at their site and on the OpenWRT side with the API credentials,
  3. run
  4. YDNS won't start claiming HTTP400 error.
Actual Behaviour

Log excerpt:

 104024       : https://*user*:*password*@ydns.io/api/v1/update/?host=dzw.ydns.eu&ip=92.140.226.209:
2025-11-08 10:40:24 ERROR 400: Bad Request.
 104024  WARN : Transfer failed - retry 8/0 in 60 seconds
 104124       : #> /usr/bin/wget --hsts-file=/tmp/.wget-hsts -nv -t 1 -O /var/run/ddns/YDNS_0.dat -o /var/run/ddns/YDNS_0.err --no-proxy 'https://*user*:***PW***@ydns.io/api/v1/update/?host=dzw.ydns.eu&ip=92.140.226.209'
 104127 ERROR : GNU Wget Error: '8'
 104127       : https://*user*:*password*@ydns.io/api/v1/update/?host=dzw.ydns.eu&ip=92.140.226.209:
2025-11-08 10:41:26 ERROR 400: Bad Request.
 104127  WARN : Transfer failed - retry 9/0 in 60 seconds
 104227       : #> /usr/bin/wget --hsts-file=/tmp/.wget-hsts -nv -t 1 -O /var/run/ddns/YDNS_0.dat -o /var/run/ddns/YDNS_0.err --no-proxy 'https://*user*:***PW***@ydns.io/api/v1/update/?host=dzw.ydns.eu&ip=92.140.226.209'
 104229 ERROR : GNU Wget Error: '8'
 104229       : https://*user*:*password*@ydns.io/api/v1/update/?host=dzw.ydns.eu&ip=92.140.226.209:
2025-11-08 10:42:29 ERROR 400: Bad Request.
 104230  WARN : Transfer failed - retry 10/0 in 60 seconds

Manually running WGET vs cURL:

root@AP4040:~# curl 'https://*user*:*password@ydns.io/api/v1/update/?host=dzw.ydns.eu&ip=92.140.226.209' ; echo
nochg 92.140.226.209
root@AP4040:~# wget 'https://*user*:*password@ydns.io/api/v1/update/?host=dzw.ydns.eu&ip=92.140.226.209' ; echo
--2025-11-08 10:40:18--  https://*user*:*password*@ydns.io/api/v1/update/?host=dzw.ydns.eu&ip=92.140.226.209
Resolving ydns.io... 217.115.6.75, 2a00:1328:e000:504::1:108
Connecting to ydns.io|217.115.6.75|:443... connected.
HTTP request sent, awaiting response... 400 Bad Request
2025-11-08 10:40:20 ERROR 400: Bad Request.
Confirmation Checklist

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Inspect the ddns-scripts path that builds the ydns.io update request and compare its wget invocation with the working curl command shown in the report. Reproduce both requests using the supplied ydns.io endpoint; done when the package's update request is accepted instead of returning HTTP 400.

Written by the indexing model from the issue text.

Assessment

Domain
networking
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.