<feed xmlns='http://www.w3.org/2005/Atom'>
<title>packages/net/ddns-scripts/files/etc/config, branch master</title>
<subtitle>Mirror of packages feed</subtitle>
<id>https://git.openwrt.org/feed/packages/atom?h=master</id>
<link rel='self' href='https://git.openwrt.org/feed/packages/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/feed/packages/'/>
<updated>2026-02-16T14:27:09Z</updated>
<entry>
<title>ddns-scripts: add API-based registered IP verification for Cloudflare proxied</title>
<updated>2026-02-16T14:27:09Z</updated>
<author>
<name>bdk38</name>
</author>
<published>2026-02-16T12:49:45Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/feed/packages/commit/?id=f901d88ea4790add8bde39d969079871f252b096'/>
<id>urn:sha1:f901d88ea4790add8bde39d969079871f252b096</id>
<content type='text'>
records

Problem:
When using Cloudflare with proxy enabled (orange cloud), DNS lookups
return Cloudflare's edge IP instead of the actual origin IP registered
in the dashboard. This causes ddns-scripts to incorrectly detect IP
mismatches, triggering unnecessary updates and potential rate limiting.

Solution:
Add an optional 'use_api_check' configuration option that enables
provider scripts to fetch the registered IP directly via their API,
bypassing DNS lookups.

Changes:
- dynamic_dns_functions.sh: Add API check block to get_registered_ip()
  (~25 lines). When use_api_check is enabled, sources the provider
  script with GET_REGISTERED_IP=1 flag. Falls back to DNS lookup if
  API check is disabled, unsupported, or fails.

- update_cloudflare_com_v4.sh: Add handler for GET_REGISTERED_IP mode
  (~15 lines). Reuses existing cURL setup and authentication to query
  Cloudflare API for actual record content.

- etc/config/ddns: Document use_api_check option

Behavior:
- use_api_check=0 or unset: DNS lookup (existing behavior, no changes)
- use_api_check=1 with API support: API query for registered IP
- use_api_check=1 without API support: Falls back to DNS lookup
- API failure: Gracefully falls back to DNS lookup

Testing:
- Cloudflare (proxied): Correctly retrieves origin IP via API
- Cloudflare (non-proxied): Works correctly
- No-IP: DNS lookup works (no regression)
- IPv4 and IPv6 records tested
- API failure gracefully falls back to DNS

Signed-off-by: Wayne King 244781262+bdk38@users.noreply.github.com
</content>
</entry>
<entry>
<title>ddns-scripts: update config installation</title>
<updated>2020-09-21T08:17:01Z</updated>
<author>
<name>Florian Eckert</name>
</author>
<published>2020-09-16T14:11:36Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/feed/packages/commit/?id=63804b735801cda0b86018c686b0c2a44f4ccc36'/>
<id>urn:sha1:63804b735801cda0b86018c686b0c2a44f4ccc36</id>
<content type='text'>
Signed-off-by: Florian Eckert &lt;fe@dev.tdt.de&gt;
</content>
</entry>
<entry>
<title>ddns-scripts: Update to version 2.2.0-1</title>
<updated>2015-02-05T20:33:02Z</updated>
<author>
<name>Christian Schoenebeck</name>
</author>
<published>2015-02-05T20:33:02Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/feed/packages/commit/?id=5b263822734ecbfda3584078608af94fb23f5502'/>
<id>urn:sha1:5b263822734ecbfda3584078608af94fb23f5502</id>
<content type='text'>
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 &lt;christian.schoenebeck@gmail.com&gt;
</content>
</entry>
<entry>
<title>ddns-scripts: update to version 2.1.0-4</title>
<updated>2015-01-11T14:39:47Z</updated>
<author>
<name>Christian Schoenebeck</name>
</author>
<published>2015-01-11T14:39:47Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/feed/packages/commit/?id=64250aebc739045c51dc05f8982a8a569f92300b'/>
<id>urn:sha1:64250aebc739045c51dc05f8982a8a569f92300b</id>
<content type='text'>
* remove CHANGELOG from distribution
* fix syslog output printing "\n" or other formating chars
* ddns configuration
    - new UCI-config value ddns.global.allow_local_ip "0" or "1"
(default "0") - (OpenWrt Ticket 18642)
* dynamic_dns_functions.sh
- new function split_FQDN() splits a given FQDN into host,
(registerable) domainname, and TLD using
https://publicsuffix.org/list/effective_tld_names.dat
- verify_host_port() use BIND host, if installed
- verify_host_port() not detecting ip, if already given
- fixed regexp for IP detection from nslookup's answer - (OpenWrt
Ticket 16363)
- support ddns.global.allow_local_ip to allow sending non public IP's
to DDNS provider like 127.x, 192.168.x.x or fxxx - (OpenWrt Ticket
18642)
* new file tld_names.dat
- used by dynamic_dns_functions.sh inside split_FQDN() function to
find valid TLD's
* update_cloudflare.sh
- modified subdomain/domain splitting using split_FQDN()
- modified support for AA12.09 (json_get_keys())
- minor fixes and cleanup
- many thanks to Aaron Tanner for testing

Signed-off-by: Christian Schoenebeck &lt;christian.schoenebeck@gmail.com&gt;
</content>
</entry>
<entry>
<title>ddns-scripts: new Version 2.1.0-2</title>
<updated>2014-11-15T20:28:01Z</updated>
<author>
<name>Christian Schoenebeck</name>
</author>
<published>2014-11-15T20:28:01Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/feed/packages/commit/?id=ab2b229ad6edd9371a63ddc27b27a0f0857f809e'/>
<id>urn:sha1:ab2b229ad6edd9371a63ddc27b27a0f0857f809e</id>
<content type='text'>
- moved /usr/lib/ddns/dynamic_dns_lucihelper.sh from luci-app-ddns into this package
	(Github openwrt/luci issue 251)
	(OpenWrt Trac tickets 18326 18347)
- fix: dynamic_dns_update.sh did not loop
	(OpenWrt Trac ticket 18336)
- add provider cloudflare.com IPv4 and IPv6 (Thanks to Paul for support and testing)
	(OpenWrt Trac ticket 12500)
- modified detection, if dynamic_dns_fuctions are used by dynamic_dns_lucihelper.sh
- redirect stdout of wget,curl,host,nslookup,nc etc to /tmp/ddns_$$.dat and *.err instead of variables
- extended error detection in get_local_ip function
- modified verify of option ip_script to allow parameters, when calling
- add provider selfhost.de IPv4
- add provider no-ip.pl (nothing to do with no-ip.com)
	(Github openwrt/packages issue #542)
	IPv4 (tested) and also added for
	IPv6 (NOT tested) because client IP is autodetected be provider
- add getlocalip_sample.sh as sample script for usage of
	option ip_source 'script'  together with
	option ip_script '/usr/lib/ddns/getlocalip.sh -4'
- cleanup whitespaces at line ends

Signed-off-by: Christian Schoenebeck &lt;christian.schoenebeck@gmail.com&gt;
</content>
</entry>
<entry>
<title>ddns-scripts: Update to Version 2.1.0-1 see description</title>
<updated>2014-11-09T15:37:11Z</updated>
<author>
<name>Christian Schoenebeck</name>
</author>
<published>2014-11-09T15:37:11Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/feed/packages/commit/?id=419265144890548d65608e7c3deb37d4d8f476af'/>
<id>urn:sha1:419265144890548d65608e7c3deb37d4d8f476af</id>
<content type='text'>
- fixed postinst and prerm in Makefile
- implementation of provider specific update scripts into services and
services_ipv6 file.
	first Provider "no-ip.com"	- Thanks to DarkStarXxX for
request and testing
- finished uci/ddns wiki at http://wiki.openwrt.org/doc/uci/ddns
- rewritten retry management
- rewritten logging including following Issue 469
	https://github.com/openwrt/packages/issues/469
- stop running sections on hotplug ifdown event (like start on ifup)
- implement trap detection
	also kill "sleep" child processes
	SIGHUP to reload configuration (not really reloading, simply
starting a new process)
	/etc/init.d/ddns reload implemented
- code optimization
- new provider LoopiaDNS.se	Issue 494
	https://github.com/openwrt/packages/issues/494

Signed-off-by: Christian Schoenebeck &lt;christian.schoenebeck@gmail.com&gt;
</content>
</entry>
<entry>
<title>ddns-scripts: Added support for custom update scripts</title>
<updated>2014-10-06T06:39:59Z</updated>
<author>
<name>Steven Barth</name>
</author>
<published>2014-10-06T06:39:59Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/feed/packages/commit/?id=6ab4a265a2776349d68514eeaddd7199da4c9c97'/>
<id>urn:sha1:6ab4a265a2776349d68514eeaddd7199da4c9c97</id>
<content type='text'>
Squashed commit of the following:

commit 2701c8868e1ef4949db57e53b27958edba6abb59
Author: Christian Schoenebeck &lt;christian.schoenebeck@gmail.com&gt;
Date:   Sun Oct 5 11:01:57 2014 +0200

    ddns-scripts: Added support for custom update scripts

    Sample script
    Signed-off-by: Christian Schoenebeck &lt;christian.schoenebeck@gmail.com&gt;

commit e07ecb90fa2c7404a97cf64024e89bd9d88aacd4
Author: Christian Schoenebeck &lt;christian.schoenebeck@gmail.com&gt;
Date:   Sun Oct 5 11:00:11 2014 +0200

    ddns-scripts: Added support for custom update scripts

    Added support for custom update scripts with new option update_script.
    function get_service_url() renamed to get_service_data() and extended to detect scripts inside service / service_ipv6 for later use
    function send_update() modified to support custom update scripts.
    Signed-off-by: Christian Schoenebeck &lt;christian.schoenebeck@gmail.com&gt;

commit 39e41b2151a79a7ace71a9d40b87cd4d6ce09503
Author: Christian Schoenebeck &lt;christian.schoenebeck@gmail.com&gt;
Date:   Sun Oct 5 10:52:44 2014 +0200

    ddns-scripts: Added support for custom update scripts

    Added support for custom update scripts with new option update_script
    Signed-off-by: Christian Schoenebeck &lt;christian.schoenebeck@gmail.com&gt;

commit 33f264768e37d8a6fe564faaafa51a7b45a0ee19
Author: Christian Schoenebeck &lt;christian.schoenebeck@gmail.com&gt;
Date:   Sun Oct 5 10:48:21 2014 +0200

    ddns-scripts: Insert description for NEW option update_script

    Insert description for NEW option update_script
    Signed-off-by: Christian Schoenebeck &lt;christian.schoenebeck@gmail.com&gt;

commit 6f6a60244df53e0556f5c75845c69aa832f97e4c
Author: Christian Schoenebeck &lt;christian.schoenebeck@gmail.com&gt;
Date:   Sun Oct 5 10:43:52 2014 +0200

    ddns-scripts: Update PKG_RELEASE

    Update_PKG_RELEASE to reflect changes
    Signed-off-by: Christian Schoenebeck &lt;christian.schoenebeck@gmail.com&gt;
</content>
</entry>
<entry>
<title>ddns-scripts: Update to Version 2.0.1-1</title>
<updated>2014-09-22T06:00:53Z</updated>
<author>
<name>Steven Barth</name>
</author>
<published>2014-09-22T05:59:19Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/feed/packages/commit/?id=07d3672d46a5d6c699f1e968b25accac20846e13'/>
<id>urn:sha1:07d3672d46a5d6c699f1e968b25accac20846e13</id>
<content type='text'>
Squashed commit of the following:

commit fc1d42f069ff930180c5f067c2eb88c9e9df7003
Author: Christian Schoenebeck &lt;christian.schoenebeck@gmail.com&gt;
Date:   Sun Sep 21 18:01:43 2014 +0200

    [ddns-scripts] Update to Version 2.0.1-1

commit 731f9b4df00a8f29df2c17f102356c4d6980918a
Author: Christian Schoenebeck &lt;christian.schoenebeck@gmail.com&gt;
Date:   Sun Sep 21 17:59:25 2014 +0200

    [ddns-scripts] Update to Version 2.0.1-1

    personal helper script to create hashes for CA-Certificates for Wget and cURL using https protocol without errors.

    Sorry GitHub web interface only supports single commits that will be summarized into one pull request.
    Signed-off-by: Christian Schoenebeck &lt;christian.schoenebeck@gmail.com&gt;

commit df8f6c9d5d31fde24fe1d673949d272d887505e1
Author: Christian Schoenebeck &lt;christian.schoenebeck@gmail.com&gt;
Date:   Sun Sep 21 17:56:05 2014 +0200

    [ddns-scripts] Update to Version 2.0.1-1

    rewritten

    Sorry GitHub web interface only supports single commits that will be summarized into one pull request.
    Signed-off-by: Christian Schoenebeck &lt;christian.schoenebeck@gmail.com&gt;

commit 50cdf5acb9caecfd9b65ab79696c40fb2bc7037b
Author: Christian Schoenebeck &lt;christian.schoenebeck@gmail.com&gt;
Date:   Sun Sep 21 17:54:40 2014 +0200

    [ddns-scripts] Update to Version 2.0.1-1

    rewritten

    Sorry GitHub web interface only supports single commits that will be summarized into one pull request.
    Signed-off-by: Christian Schoenebeck &lt;christian.schoenebeck@gmail.com&gt;

commit b1d650a345fb06402c1eac01138cbafcca123a8c
Author: Christian Schoenebeck &lt;christian.schoenebeck@gmail.com&gt;
Date:   Sun Sep 21 17:52:52 2014 +0200

    [ddns-scripts] Update to Version 2.0.1-1

    not needed in this version

    Sorry GitHub web interface only supports single commits that will be summarized into one pull request.
    Signed-off-by: Christian Schoenebeck &lt;christian.schoenebeck@gmail.com&gt;

commit 9532114b03d428a3162b16e06706d3aa50e601bb
Author: Christian Schoenebeck &lt;christian.schoenebeck@gmail.com&gt;
Date:   Sun Sep 21 17:51:39 2014 +0200

    [ddns-scripts] Update to Version 2.0.1-1

    same function as existing services file but used for IPv6

    Sorry GitHub web interface only supports single commits that will be summarized into one pull request.
    Signed-off-by: Christian Schoenebeck &lt;christian.schoenebeck@gmail.com&gt;

commit a636bc25c62e23694c009886c13253c9cecc548c
Author: Christian Schoenebeck &lt;christian.schoenebeck@gmail.com&gt;
Date:   Sun Sep 21 17:46:56 2014 +0200

    [ddns-scripts] Update to Version 2.0.1-1

    New file explaining availible parameters.

    Sorry GitHub web interface only supports single commits that will be summarized into one pull request.
    Signed-off-by: Christian Schoenebeck &lt;christian.schoenebeck@gmail.com&gt;

commit 52332354fc245861e17c898aa6b806f6c174e9a5
Author: Christian Schoenebeck &lt;christian.schoenebeck@gmail.com&gt;
Date:   Sun Sep 21 17:44:45 2014 +0200

    [ddns-scripts] Update to Version 2.0.1-1

    Sorry GitHub web interface only supports single commits that will be summarized into one pull request.

    Signed-off-by: Christian Schoenebeck &lt;christian.schoenebeck@gmail.com&gt;
</content>
</entry>
<entry>
<title>ddns-scripts: Copied from previous repository</title>
<updated>2014-06-08T12:03:36Z</updated>
<author>
<name>Nikos Mavrogiannopoulos</name>
</author>
<published>2014-06-08T12:03:31Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/feed/packages/commit/?id=ced8b84f1cbae7d1752cd6cfff65d14e0320112b'/>
<id>urn:sha1:ced8b84f1cbae7d1752cd6cfff65d14e0320112b</id>
<content type='text'>
Signed-off-by: Nikos Mavrogiannopoulos &lt;nmav@gnutls.org&gt;
</content>
</entry>
</feed>
