Inadyn is a small and simple DDNS client with HTTPS support, both GnuTLS and OpenSSL are supported. Inadyn is commonly available in many GNU/Linux distributions, used in off-the-shelf routers and Internet gateways to automate the task of keeping your DNS record up to date with any IP address changes from your ISP. It can also be used in installations with redundant (backup) connections to the Internet.

2.422 Aug 2018 07:45minor feature:
Add support for Dynu DDNS provider.
Add missing defines for LLONG_MAX and LLONG_MIN on some platforms.
Update FreeDNS plugin to use v2 of their API to fetch update key for IPv4 and IPv6 records.
Use /.cache/inadyn or /.inadyn when running unprivileged.

2.105 Dec 2016 18:25minor feature:
Use HTTPS instead of HTTP by default.
Support for disabling HTTPS for checkip-server, per provider.
Idea from Valery Frolov.
Add -I,--ident=NAME option for syslog+pidfile name.
Deprecate --pidfile=NAME option in favor of --ident=NAME
.
Custom update URL parser.
Support for detecting OpenSSL v1.1.
Clarify use of public vs private IP. It is possible.
to register private IP addresses in a public DNS.
Clarify --foreground option in man page.
Document minimum required versions of libite and libConfuse.
Portability, replace __progname with a small function,
replace m with s and strerror(errno).

2.015 Sep 2016 06:45minor feature:
New configuration file format using libConfuse
.
Radically simplified command line, a.conf file is now required.
Reorganized SSL code, split ssl.c into openssl.c and gnutls.c
.
Strict HTTPS certificate validation is now default. To disable this
use strict-ssl = false in the.conf file.
Certificate validation uses trusted CA certificates from the system
with fall-backs to certain known locations. To override this default
handling a ca-trust-file = FILE setting in inadyn.conf can be used
to provide the path to another CA cert bundle, in PEM format.
Massive overhaul of inadyn(8) and inadyn.conf(5) man pages.
Support for reading address from interface, including IPv6 addresses.
Support for calling an external script to get the IP address.
Support for multiple users @ same provider, idea from Valery Frolov:
provider default@no-ip.com:1
username = ian
password = secret
alias = flemming.no-ip.com.
provider default@no-ip.com:2
username = james
password = bond
alias = spectre.no-ip.com.
.
Support for ddnss.de and dynv6.com, contributed by Sven Hoefer.
Support for spdyn.de, on request from Frank Röhm.
Support for strato.com, contributed by Duncan Overbruck.
Support for disabling IP address validation: verify-address = false
.
Refactored memory handling and privilige separation to simplify code.
Refactored logging and backgrounding to simplify code.
Removed old compatibility symlinks and other required GNU specific
files, we now distribute and install README.md and ChangeLog.md.
Add HTTPS certificate validation for OpenSSL/LibreSSL.
Use GnuTLS native API for HTTPS.
DuckDNS: now requires 'www.' prein server URL. By Frank Aurich.
Poodle SSL_MODE_SEND_FALLBACK_SCSV not needed.
Remove support for custom pidfile.
Relocate cache files /var/run/inadyn to /var/cache/inadyn.
.
--drop-privs does not work.
Add actual permissions check to os_check_perms()
.
Support for fully customizable update URL.
Only use HTTPS connection for DNS update

1.99.1509 Sep 2015 19:41minor bugfix:
Improve support for retrying IP update on connectivity problems or similar, several fixes. Fix regression from 1.99.14 where pidfile was no longer created. New API for the IPv6 tunnelbroker.net service.

1.99.1414 Jul 2015 15:51minor feature:
Improved support for configuring custom DDNS providers and support for running in Windows, using Cygwin!