8 Commits
Author SHA1 Message Date
Jiang Tengfei 9a5e6063f1 ddns-scripts: add curl source IP bind fallback
Keep the existing cURL bind_network behavior of binding to the
logical device first. This preserves the behavior introduced for
PPPoE and multi-WAN setups where the selected network must also be
used for the DDNS update request.

Some setups can still fail when libcurl binds directly to the logical
PPP device. In that case the transfer may time out even though binding
to the source address of the same network succeeds. This can make DDNS
updates fail repeatedly on affected systems.

Retry cURL transfers once with the network source IP when the
device-bound transfer fails. This leaves the normal path unchanged,
keeps the update request on the same network, and matches the existing
GNU Wget behavior which already binds to the network IP address.

Also document the implicit bind_network default and the cURL fallback
in the sample configuration.

Signed-off-by: Jiang Tengfei <admin@shaoxia.xyz>
2026-07-07 08:02:21 +02:00
FriesI23 Qin 62e94d48f9 ddns-script: fix retry_max_count at sample config
Fix missed modification of ‘retry_count’ to ‘retry_max_count’
in commit ‘e3292e4c97’ (rename variable: s/retry_count/retry_max_count/).

Signed-off-by: FriesI23 Qin <FriesI23@outlook.com>
2025-02-13 13:31:53 +01:00
André Herbst 07dec08c78 ddns-scripts: remove extra pipe
The extra pipe caused an error WARN : PID 'xyz' exit WITH ERROR '2' when executing ddns update.
Signed-off-by: André Herbst <moormaster@gmx.net>
2022-01-31 10:46:40 +01:00
Claudio Marelli dc0953fedd ddns-scripts: pass user agent string
This adds a user agent string to the wget request.

Fixes #17507

Signed-off-by: Claudio Marelli <camarelli@gmx.net>
2022-01-15 10:07:30 +01:00
Keve Mueller 3cce724dbe ddns-scripts: Working example to use local_script to derive a SLAAC IPv6 address
Signed-off-by: Keve Mueller <keve@keve.hu>
2019-04-11 13:15:45 +02:00
Christian Schoenebeck 1c20dcb71a ddns-scripts: update to 2.7.6-1
- tld_names.dat.gz
  - rename to public_suffix_list.dat.gz
  - (re)created during build
  - new location /usr/share
- move services files to /etc/ddns
- new services
  - CloudFlare.com-v4 using API-Version 4 without using public_suffix_list.dat
  - GoDaddy.com
  - both depending on cURL package
  - both with modified syntax for option domain ( NEW: [host[.subdom]@]domain.tld )
- new service
  - Now-DNS.com formerly Now-IP.com
- service afraid.org now supports key-auth and basic-auth
- new command line options for dynamic_dns_updater.sh and dynamic_dns_updater.sh
- adapted ddns.init and ddns.hotplug to new command line options
- renaming config options inside section global

Signed-off-by: Christian Schoenebeck <christian.schoenebeck@gmail.com>
2016-12-04 16:47:09 +01:00
Christian Schoenebeck 7ea8be0b0d ddns-scripts: rollup to version 2.5.0-1
- add -V / --version parameter to show version information
- new option lookup_host as host to use by nslookup/host to validate IP address changes, to be separate from [DOMAIN] parameter which produces a lot of questions in the forum and on multi-host updates
- new option param_enc for optional usage inside update_url [PARAMENC] (will be send urlencoded)
- new option param_opt for optional usage inside update_url [PARAMOPT]
- new service strato.de (IPv4 only) requested by ludwig.jaffe@
- new service variomedia.de (IPv4 & IPv6) requested by Wolfgang Oertl #1884
- rewritten function get_service_data to read services/service_ipv6 file
- allow 3rd parameter inside services/service_ipv6 file - here should be the answer of the ddns provider on success. If parameter is set, it's checked by ddns-scripts and report errors to logfile/syslog if failed and retry
- updated tld_names.dat

Signed-off-by: Christian Schoenebeck <christian.schoenebeck@gmail.com>
2015-11-04 21:29:22 +01:00
Christian Schoenebeck 5b26382273 ddns-scripts: Update to version 2.2.0-1
modified source directory structure
  - files for production files
  - samples for sample files (not installed in final build)
modified Makefile
  - separate options for additional provider scripts
  - remove comments and empty lines from final build
add IPv4 100.64/10 (RFC 6598) and 169.254/16 (RFC 5735) to the range of default blocked IP's.
new option "bind_network" to force GNU Wget or cURL to use specific network/interface for communication
new "domains.google.com" as IPv4 DDNS provider #822

Signed-off-by: Christian Schoenebeck <christian.schoenebeck@gmail.com>
2015-02-05 21:33:02 +01:00