dnsupdate
Dnsupdate is a free and open source (GPLv3) Python program that updates DNS records on many commonly used dynamic DNS services. I created it because existing programs were not flexible enough to update multiple types of services or they did not support IPv6 well, if at all.
My solution allows for flexible configuration of any number and combination of dynamic DNS providers and protocols, as well as multiple types of address lookups.