<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-07-07T06:02:21Z</updated>
<entry>
<title>ddns-scripts: add curl source IP bind fallback</title>
<updated>2026-07-07T06:02:21Z</updated>
<author>
<name>Jiang Tengfei</name>
</author>
<published>2026-06-26T14:33:11Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/feed/packages/commit/?id=9a5e6063f17bd9f643631ed2fff3ec5236e221dd'/>
<id>urn:sha1:9a5e6063f17bd9f643631ed2fff3ec5236e221dd</id>
<content type='text'>
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 &lt;admin@shaoxia.xyz&gt;
</content>
</entry>
<entry>
<title>ddns-scripts: fix log noise</title>
<updated>2026-06-09T09:19:35Z</updated>
<author>
<name>Andy Chiang</name>
</author>
<published>2026-06-07T02:52:00Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/feed/packages/commit/?id=52b5b8e6552d2e845e2b11db571baf4d493409b9'/>
<id>urn:sha1:52b5b8e6552d2e845e2b11db571baf4d493409b9</id>
<content type='text'>
When fetching the IP via a URL with `force_ipversion` enabled,
a `Busybox nslookup - no support to 'force IP Version' (ignored)`
log is generated periodically. This log is redundant, in this scenario
`force_ipversion` only affects the results fetched by wget/uclient-fetch/curl.
It is perfectly fine for nslookup to query both A/AAAA records simultaneously.

Signed-off-by: Andy Chiang &lt;AndyChiang_git@outlook.com&gt;
</content>
</entry>
<entry>
<title>ddns-scripts: add blazingfast.io Anycast DNS provider</title>
<updated>2026-05-22T13:07:28Z</updated>
<author>
<name>Fotios Kitsantas</name>
</author>
<published>2026-05-19T18:39:50Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/feed/packages/commit/?id=288f220aa314038500587522a2509c01505d6a7e'/>
<id>urn:sha1:288f220aa314038500587522a2509c01505d6a7e</id>
<content type='text'>
Add DDNS update support for blazingfast.io Anycast DNS via their
REST API. Authentication is performed via JWT token obtained from
the login endpoint. Zone records are fetched to verify the record
type before update, ensuring IPv4 services only target A records
and IPv6 services only target AAAA records.

Service, zone and record IDs are passed via param_opt as
space-separated key=value pairs:
  service_id=X zone_id=Y record_id=Z

curl --config file approach is used throughout to avoid eval and
shell injection from user-controlled values. Supports both IPv4
and IPv6. For dual-stack, create two separate DDNS service sections
with their respective record IDs.

Tested on GL.iNet MT5000 (Brume 3) running OpenWrt with
ddns-scripts 2.8.2.

Signed-off-by: Fotios Kitsantas &lt;fkitsantas@icloud.com&gt;
</content>
</entry>
<entry>
<title>ddns-scripts: add blazingfast.io Anycast DNS provider</title>
<updated>2026-05-18T09:44:25Z</updated>
<author>
<name>Fotios Kitsantas</name>
</author>
<published>2026-05-10T13:22:55Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/feed/packages/commit/?id=3d12578d5881a8aae5207487add840fde8b2c3c2'/>
<id>urn:sha1:3d12578d5881a8aae5207487add840fde8b2c3c2</id>
<content type='text'>
Add DDNS update support for blazingfast.io Anycast DNS via their
REST API. Authentication is performed via JWT token obtained from
the login endpoint. Zone records are fetched to verify the record
type before update, ensuring IPv4 services only target A records
and IPv6 services only target AAAA records.

Service, zone and record IDs are passed via param_opt as
space-separated key=value pairs:
  service_id=X zone_id=Y record_id=Z

curl --config file approach is used throughout to avoid eval and
shell injection from user-controlled values. Supports both IPv4
and IPv6. For dual-stack, create two separate DDNS service sections
with their respective record IDs.

Tested on GL.iNet MT5000 (Brume 3) running OpenWrt with
ddns-scripts 2.8.2.

Signed-off-by: Fotios Kitsantas &lt;fkitsantas@icloud.com&gt;
</content>
</entry>
<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-03.infra.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-03.infra.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-03.infra.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-03.infra.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-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>
</feed>
