<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-03.infra.openwrt.org/feed/packages/atom?h=master</id>
<link rel='self' href='https://git-03.infra.openwrt.org/feed/packages/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/feed/packages/'/>
<updated>2026-03-25T06:31:57Z</updated>
<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-03.infra.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-03.infra.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-03.infra.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-03.infra.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-03.infra.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-03.infra.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>
<entry>
<title>ddns-scripts: add namesilo.com</title>
<updated>2026-01-29T07:31:08Z</updated>
<author>
<name>Lin Fan</name>
</author>
<published>2026-01-20T06:49:24Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/feed/packages/commit/?id=1199a4035122c62522831e9978bf1f7c87c21a53'/>
<id>urn:sha1:1199a4035122c62522831e9978bf1f7c87c21a53</id>
<content type='text'>
new service provider namesilo.com

config guide:
* set [domain] to apex domain
* set [username] to subdomain (without apex domain)
* set [password] to api key

Signed-off-by: Lin Fan &lt;im.linfan@gmail.com&gt;
</content>
</entry>
<entry>
<title>ddns-scripts: fix luci XHR timeout when restarting ddns service</title>
<updated>2026-01-21T07:00:39Z</updated>
<author>
<name>Juan Antonio</name>
</author>
<published>2025-12-07T15:08:50Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/feed/packages/commit/?id=afd01e303438481a640ba986bedd1643259b1938'/>
<id>urn:sha1:afd01e303438481a640ba986bedd1643259b1938</id>
<content type='text'>
Redirect stdout and stderr to /dev/null when starting/restarting the ddns
service in the background. Without this redirection, file descriptors are
inherited by the child process, preventing proper process detachment and
causing luci's XHR requests to timeout.
</content>
</entry>
<entry>
<title>ddns-scripts: add multiple DNS records support for aliyun ddns</title>
<updated>2026-01-18T16:11:00Z</updated>
<author>
<name>monokoo</name>
</author>
<published>2026-01-06T06:57:46Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/feed/packages/commit/?id=ae659deb4059b6e63c59a29931a3e160dae2571b'/>
<id>urn:sha1:ae659deb4059b6e63c59a29931a3e160dae2571b</id>
<content type='text'>
Added logic to extract and match DNS record ID from parameters,
with fallback to default selection if no match is found.

Signed-off-by: QiLei Niu &lt;qilei.niu@gmail.com&gt;
</content>
</entry>
<entry>
<title>ddns-scripts: remove rework of OVH provider</title>
<updated>2026-01-07T09:15:39Z</updated>
<author>
<name>Daniel F. Dickinson</name>
</author>
<published>2025-12-26T06:03:27Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/feed/packages/commit/?id=01ac2966f7291be191b41d0452ffaf37f5bccc6b'/>
<id>urn:sha1:01ac2966f7291be191b41d0452ffaf37f5bccc6b</id>
<content type='text'>
This rework was unneeded, rather the fix in
https://github.com/openwrt/packages/pull/28174 is required to resolve
missing HTTP_AUTH support.

The original issue in https://github.com/openwrt/packages/issues/27526
(unable to update OVH DynHost IP address) was wrongly attributed to a
change on the OVH API. As discussed in
https://github.com/openwrt/packages/issues/28172 the API continues to
work for 24.10.5 system, as well as users using wget-ssl.

The changes in https://github.com/openwrt/packages/pull/27561 and
the followup fix https://github.com/openwrt/packages/pull/27694 add
unnecessary dependencies which are heavier than the actually needed
minimum.

Therefore return the OVH provider to the previous state, and let
https://github.com/openwrt/packages/pull/28174 resolved the issue.

Signed-off-by: Daniel F. Dickinson &lt;dfdpublic@wildtechgarden.ca&gt;
</content>
</entry>
</feed>
