<feed xmlns='http://www.w3.org/2005/Atom'>
<title>packages/net/ddns-scripts/files/usr/lib, 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-05-05T08:21:21Z</updated>
<entry>
<title>ddns-scripts: fix option name in updater messages</title>
<updated>2026-05-05T08:21:21Z</updated>
<author>
<name>Dharmik Parmar</name>
</author>
<published>2026-04-29T14:03:54Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/feed/packages/commit/?id=55f5134f694e8b17819150cffe374464ca3d6f00'/>
<id>urn:sha1:55f5134f694e8b17819150cffe374464ca3d6f00</id>
<content type='text'>
On master, updater help and missing-option text still refer to '-N'.
Use '-S' instead so the messages match accepted script options.
Also clarify that SECTION is the UCI section name/id to start.
This is a text-only change; runtime behavior is unchanged.

Bump PKG_RELEASE to 4.

Fixes: #27737
Signed-off-by: Dharmik Parmar &lt;dharmikparmar2004@yahoo.com&gt;
</content>
</entry>
<entry>
<title>ddns-scripts: netcup.com adjust update error path</title>
<updated>2026-04-27T12:26:29Z</updated>
<author>
<name>Tim Flubshi</name>
</author>
<published>2026-04-26T16:00:44Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/feed/packages/commit/?id=e6e05d2aa636dee3a069c9500a083b7d76fecdcc'/>
<id>urn:sha1:e6e05d2aa636dee3a069c9500a083b7d76fecdcc</id>
<content type='text'>
Adjust the update error handling path to avoid hard failures on
recoverable errors. This allows ddns to retry updates after the
configured retry interval and improves reliability.

Signed-off-by: Tim Flubshi &lt;flubshi@gmail.com&gt;
</content>
</entry>
<entry>
<title>ddns-scripts: netcup.com use json_load_file</title>
<updated>2026-04-27T12:26:29Z</updated>
<author>
<name>Tim Flubshi</name>
</author>
<published>2026-04-26T15:52:27Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/feed/packages/commit/?id=bd6a551669cc8a1bf261b67750c03bc21df2f8d9'/>
<id>urn:sha1:bd6a551669cc8a1bf261b67750c03bc21df2f8d9</id>
<content type='text'>
Replace manual file loading via cat with json_load_file for parsing
JSON data. This uses the intended helper function and improves
code clarity and robustness.

Signed-off-by: Tim Flubshi &lt;flubshi@gmail.com&gt;
</content>
</entry>
<entry>
<title>ddns-scripts: fix netcup.com readonly variable</title>
<updated>2026-04-27T12:26:29Z</updated>
<author>
<name>Tim Flubshi</name>
</author>
<published>2026-04-26T15:47:02Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/feed/packages/commit/?id=c51e3100fa9e3d1dfbc7e8bcfc52f24da2ea7796'/>
<id>urn:sha1:c51e3100fa9e3d1dfbc7e8bcfc52f24da2ea7796</id>
<content type='text'>
The netcup ddns update script fails on subsequent runs because a
readonly variable is assigned again. Fix this by removing the readonly
declaration to allow repeated execution.

Signed-off-by: Tim Flubshi &lt;flubshi@gmail.com&gt;
</content>
</entry>
<entry>
<title>ddns-scripts: add netcup.com support</title>
<updated>2026-03-25T06:31:57Z</updated>
<author>
<name>Tim Flubshi</name>
</author>
<published>2026-03-18T20:55:29Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/feed/packages/commit/?id=10b8f04e3efb33c19bdded3b8c691265d772acb1'/>
<id>urn:sha1:10b8f04e3efb33c19bdded3b8c691265d772acb1</id>
<content type='text'>
Add a new netcup DDNS provider using the netcup DNS api
(ccp.netcup.net) with API key authentication.

Configuration mapping:
* username  = netcup customer number
* password  = netcup API password
* param_enc = netcup API key (generated in the CCP)
* domain    = fully qualified subdomain to update  (e.g. home.example.de)
* param_opt = (optional) root/zone domain override (e.g. example.de)
              When omitted the root domain is derived by stripping the
              leftmost label from 'domain'. This only works correctly for
              a single subdomain level (e.g. "home.example.de").
              param_opt MUST be set explicitly in two cases:
              1. Deep subdomains: domain=test.internal.example.org
              2. ccSLD apex domains: domain=example.co.nz

Signed-off-by: Tim Flubshi &lt;flubshi@gmail.com&gt;
</content>
</entry>
<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: change servercow.de to new dns api</title>
<updated>2026-03-02T12:45:34Z</updated>
<author>
<name>Patrick Hemmen</name>
</author>
<published>2026-02-10T20:38:23Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/feed/packages/commit/?id=3dd1f337ebb04c38c385a379730f10ee3fa7a305'/>
<id>urn:sha1:3dd1f337ebb04c38c385a379730f10ee3fa7a305</id>
<content type='text'>
The previous way to update dns records at servercow.de was replaced
with a https based dns api. The new dns api is documented at
https://wiki.servercow.de/de/domains/dns_api/api-syntax/#einfuhrung

Signed-off-by: Patrick Hemmen &lt;jummo4@yahoo.de&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-script: update namesilo.com</title>
<updated>2026-02-10T08:00:22Z</updated>
<author>
<name>Lin Fan</name>
</author>
<published>2026-02-07T06:36:01Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/feed/packages/commit/?id=8ce03e3065c9f987399b7719e7287ac969d1dcad'/>
<id>urn:sha1:8ce03e3065c9f987399b7719e7287ac969d1dcad</id>
<content type='text'>
switch xml parser to xmllint because xmlstarlet is not available

Signed-off-by: Lin Fan &lt;im.linfan@gmail.com&gt;
</content>
</entry>
<entry>
<title>ddns-scripts: add Hetzner Cloud support</title>
<updated>2026-02-03T07:32:33Z</updated>
<author>
<name>Christopher Obbard</name>
</author>
<published>2026-01-31T01:47:44Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/feed/packages/commit/?id=5ee205bd31b7ec09521b2c0d3d6d535da040fc9e'/>
<id>urn:sha1:5ee205bd31b7ec09521b2c0d3d6d535da040fc9e</id>
<content type='text'>
Add a new Hetzner DDNS provider using the Hetzner Cloud API
(api.hetzner.cloud) with Bearer token authentication.

Configuration guide:
* set [domain] to domain
* set [username] to subdomain (without domain)
* set [password] to Bearer API key

Signed-off-by: Christopher Obbard &lt;obbardc@gmail.com&gt;
</content>
</entry>
</feed>
