| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| Parent folder | |||
| ddclient-4.0.0.tar.gz | 2025-01-19 | 362.2 kB | |
| README.md | 2025-01-19 | 11.1 kB | |
| v4.0.0 source code.tar.gz | 2025-01-19 | 301.5 kB | |
| v4.0.0 source code.zip | 2025-01-19 | 383.4 kB | |
| Totals: 4 Items | 1.1 MB | 15 | |
Notable changes since v3.11.2:
Breaking changes
-
ddclient now looks for
ddclient.confin${sysconfdir}/ddclientby default instead of${sysconfdir}. #789To retain the previous behavior, pass
'--with-confdir=${sysconfdir}'toconfigure. For example:```shell
Before v4.0.0:
./configure --sysconfdir=/etc
Equivalent with v4.0.0 and later (the single quotes are intentional):
./configure --sysconfdir=/etc --with-confdir='${sysconfdir}' ```
or:
```shell
Before v4.0.0:
./configure --sysconfdir=/etc/ddclient
Equivalent with v4.0.0 and later:
./configure --sysconfdir=/etc ```
-
The
--ssloption is now enabled by default. #705 - Unencrypted (plain) HTTP is now used instead of encrypted (TLS) HTTP if the URL uses
http://instead ofhttps://, even if the--ssloption is enabled. #608 - The string argument to
--cmdv4or--cmdv6is now executed as-is by the system's shell, matching the behavior of the deprecated--cmdoption. This makes it possible to pass command-line arguments, which reduces the need for a custom wrapper script. Beware that the string is also subject to the shell's command substitution, quote handling, variable expansion, field splitting, etc., so you may need to add extra escaping to ensure that any special characters are preserved literally. #766 - The default web service for
--webv4and--webv6has changed from Google Domains (which has shut down) to ipify. 5b104ad1 - Invalid command-line options or values are now fatal errors (instead of discarded with a warning). #733
- All log messages are now written to STDERR, not a mix of STDOUT and STDERR. #676
- For
--protocol=freednsand--protocol=nfsn, the core moduleDigest::SHAis now required. Previously,Digest::SHA1was used (if available) as an alternative toDigest::SHA. #685 - The
hebuilt-in web IP discovery service (--webv4=he,--webv6=he, and--web=he) was renamed tohe.netfor consistency with the newhe.netprotocol. The old name is still accepted but is deprecated and will be removed in a future version of ddclient. #682 - Deprecated built-in web IP discovery services are not listed in the output of
--list-web-services. #682 dyndns2: Support for "wait" response lines has been removed. The Dyn documentation does not mention such responses, and the code to handle them, untouched since at least 2006, is believed to be obsolete. #709dyndns2: The obsoletestaticandcustomoptions have been removed. Setting the options may produce a warning. #709- The diagnostic
--geturlcommand-line argument was removed. #712 easydns: The default value formin-intervalwas increased from 5m to 10m to match easyDNS documentation. #713woima: The dyn.woima.fi service appears to be defunct so support was removed. #716googledomains: Support was removed because the service shut down. #716- The
--retryoption was removed. #732
New features
- New
--mail-fromoption to control the "From:" header of email messages. #565 - Simultaneous/separate updating of IPv4 (A) records and IPv6 (AAAA) records is now supported in the following services:
gandi(#558),nsupdate(#604),noip(#603),mythicdyn(#616),godaddy(#560). porkbun: Added support for subdomains. #624gandi: Added support for personal access tokens. #636- Comments after the
\line continuation character are now supported. 3c522a7a - Minor improvements to
--helpoutput. #659, #665 - Improved formatting of ddclient's version number. #639
- Updated sample systemd service unit file to improve logging in the systemd journal. #669
- The second and subsequent lines in a multi-line log message now have a different prefix to distinguish them from separate log messages. #676 #719
- Log messages now include context, making it easier to troubleshoot issues. #725
emailonly: Newprotocoloption that simply emails you when your IP address changes. #654he.net: Added support for updating Hurricane Electric records. #682dyndns2,domeneshop,dnsmadeeasy,keysystems: Theserveroption can now includehttp://orhttps://to control the use of TLS. If omitted, the value of thessloption is used to determine the scheme. #703ddns.fm: Newprotocoloption for updating DDNS.FM records. #695inwx: Newprotocoloption for updating INWX records. #690domeneshop: Add IPv6 support. #719duckdns: Multiple hosts with the same IP address are now updated together. #719directnic: Added support for updatng Directnic records. #726porkbun: The update URL hostname is now configurable via theserveroption. #752dnsexit2: Multiple hosts are updated in a single API call when possible. #684
Bug fixes
- Fixed numerous bugs in cache file (recap) handling. #740
- Fixed numerous bugs in command-line option and configuration file processing. #733
noip: Fixed failure to honor IP discovery settings in some circumstances. #591- Fixed
--usev6with providers that have not yet been updated to use the new separate IPv4/IPv6 logic. ad854ab7 - HTTP redirects (301, 302) are now followed. #592
keysystems: Fixed update URL. #629dondominio: Fixed response parsing. #646- Fixed
--web-ssl-validateand--fw-ssl-validateoptions, which were ignored in some cases (defaulting to validate). #661 - Explicitly setting
--web-skip,--webv4-skip,--webv6-skip,--fw-skip,--fwv4-skip, and--fwv6-skipto the empty string now disables any built-in default skip. Before, setting to the empty string had no effect. #662 --use=disablednow works. #665--retryand--daemonare incompatible with each other; ddclient now errors out if both are provided. #666--usev4=ciscoand--usev4=cisco-asanow work. #664- Fixed "Scalar value better written as" Perl warning. #667
- Fixed "Invalid Value for keyword 'wtime' = ''" warning. #734
- Fixed unnecessary repeated updates for some services. #670 #732
- Fixed DNSExit provider when configured with a zone and non-identical hostname. #674
infomaniak: Fixed frequent forced updates after 25 days (max-interval). #691infomaniak: Fixed incorrect parsing of server response. #692infomaniak: Fixed incorrect handling ofnochgresponses. #723regfishde: Fixed IPv6 support. #691easydns: IPv4 and IPv6 addresses are now updated separately to be consistent with the easyDNS documentation. #713easydns: Fixed parsing of result code from server response. #713easydns: Fixed successful updates treated as failed updates. #713- Any IP addresses in an HTTP response's headers or in an HTTP error response's body are now ignored when obtaining the IP address from a web-based IP discovery service (
--usev4=webv4,--usev6=webv6) or from a router/firewall device. #719 yandex: Errors are now retried. #719gandi: Fixed handling of error responses. #721dyndns2: Fixed handling of responses for multi-host updates. #728porkbun: The default update URL was updated fromporkbun.comtoapi.porkbun.com. #752