<feed xmlns='http://www.w3.org/2005/Atom'>
<title>packages/net/ddns-scripts/files/etc, 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-03-20T06:30:39Z</updated>
<entry>
<title>ddns-scripts: switch to procd handling</title>
<updated>2026-03-20T06:30:39Z</updated>
<author>
<name>Florian Eckert</name>
</author>
<published>2026-03-13T10:18:46Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/feed/packages/commit/?id=b1502c453e50aac26ada49dd87300eb6c4449e36'/>
<id>urn:sha1:b1502c453e50aac26ada49dd87300eb6c4449e36</id>
<content type='text'>
The 'ddns-scripts' packages still uses not the procd service handling.
This commit changes this.

This change also resolves the issue where, if a UCI configuration is
already present, the process is blocked during installation via APK and
does not complete.

Signed-off-by: Florian Eckert &lt;fe@dev.tdt.de&gt;
Tested-by: Luiz Angelo Daros de Luca &lt;luizluca@gmail.com&gt;
</content>
</entry>
<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: fix daemon to reload instead of kill</title>
<updated>2025-04-18T16:06:14Z</updated>
<author>
<name>Paul Donald</name>
</author>
<published>2025-04-11T14:27:14Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/feed/packages/commit/?id=9f3d6fed24988e5855b9586947c73ccf1efb3273'/>
<id>urn:sha1:9f3d6fed24988e5855b9586947c73ccf1efb3273</id>
<content type='text'>
Instead of just killing all the processes, let's actually reload them,
since that's what the user would expect when issuing a 'reload' command.

Move the killall portion to a kill function

Signed-off-by: Paul Donald &lt;newtwen+github@gmail.com&gt;
</content>
</entry>
<entry>
<title>ddns-script: add retry_max_count's upgrade script</title>
<updated>2025-02-13T12:31:53Z</updated>
<author>
<name>FriesI23 Qin</name>
</author>
<published>2025-02-09T10:22:23Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/feed/packages/commit/?id=f02a1df1299bf78864db27e8c531f00b31b6db09'/>
<id>urn:sha1:f02a1df1299bf78864db27e8c531f00b31b6db09</id>
<content type='text'>
Signed-off-by: FriesI23 Qin &lt;FriesI23@outlook.com&gt;
</content>
</entry>
<entry>
<title>ddns-scripts: update init installation</title>
<updated>2020-09-21T08:17:01Z</updated>
<author>
<name>Florian Eckert</name>
</author>
<published>2020-09-16T14:18:50Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/feed/packages/commit/?id=88f6bc8d7bc5615a41804ff23f6a01981b8a584e'/>
<id>urn:sha1:88f6bc8d7bc5615a41804ff23f6a01981b8a584e</id>
<content type='text'>
Signed-off-by: Florian Eckert &lt;fe@dev.tdt.de&gt;
</content>
</entry>
<entry>
<title>ddns-scripts: update hotplug installation</title>
<updated>2020-09-21T08:17:01Z</updated>
<author>
<name>Florian Eckert</name>
</author>
<published>2020-09-16T14:13:04Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/feed/packages/commit/?id=dd9633977ced92476198be782f2eb69c4ed80f97'/>
<id>urn:sha1:dd9633977ced92476198be782f2eb69c4ed80f97</id>
<content type='text'>
Signed-off-by: Florian Eckert &lt;fe@dev.tdt.de&gt;
</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: Update to version 2.1.0-3</title>
<updated>2014-12-07T13:45:31Z</updated>
<author>
<name>Christian Schoenebeck</name>
</author>
<published>2014-12-07T13:45:31Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/feed/packages/commit/?id=5e8123eb3b2613bee156eadaed996db66f1707cb'/>
<id>urn:sha1:5e8123eb3b2613bee156eadaed996db66f1707cb</id>
<content type='text'>
- removed special handling for dynamic_dns_helper.sh and url_escape.sed in Makefile/postinst
- minor fixes in logging
- allow retry_count of "0" to run infinite retrys on error
	-- https://dev.openwrt.org/ticket/18382
- changed naming of .dat and .err file to have one per section, not one per process
- defer hotplug helper from 25-ddns to 95-ddns (according initscript START=95)
	-- https://github.com/openwrt/packages/issues/568 (#568)
- fix commandline for busybox wget
	-- https://dev.openwrt.org/ticket/18411
	-- https://dev.openwrt.org/ticket/18437
	-- https://github.com/openwrt/packages/issues/605 (#605)
- remove checking answer from ddns provider because there are to many different.
	Some providers do not follow API from dyndns.com

Signed-off-by: Christian Schoenebeck &lt;christian.schoenebeck@gmail.com&gt;
</content>
</entry>
</feed>
