Skip to content

Releases: Tachi107/cloudflare-ddns

2.1.0

12 Mar 14:31
2.1.0
bbd659e
Compare
Choose a tag to compare

More portable 👾 and lighter 🍃

You read that right! cloudflare-ddns is now even lighter 🍃! This was achieved by removing the dependency on the as-big-as-awesome simdjson library - JSON is now parsed by a simple handwritten function, since cloudflare-ddns' needs for JSON parsing are really limited. By relying on one less library, the project is now more easily compiled, especially outside of Linux, hence more portable 👾!

Apart from that, the following fixes have been made 🔧️:

  • cloudflare-ddns now works on Windows 10 and older when paired with curl 7.85.0 or newer, where it previously failed due to TLS 1.3 not being supported 🪟
  • Thanks to a report by @highstrike, the configuration file will now have the correct owner and permissions when installed via a package manager like apt 🔒

So much work for what seems like such a simple program, right?

Install the last release now to benefit from all the fixes and improvements!

2.0.1

20 Oct 13:48
2.0.1
72c1bc4
Compare
Choose a tag to compare

Little tweaks 🔧️

After more than one year, here we are again!

Not much has happened since the last release, but it shouldn't be surprising: cloudflare-ddns is fairly complete at this point. Still, I have made some tweaks, namely:

  • Zone ID caching is now fixed when using cloudflare-ddns to update multiple record names; each record's zone ID is now stored in a different file 🔧️
  • The cloudflare-ddns(1) manual page is now written in mdoc instead of Ronn-markdown. This leads to easier and faster builds (ronn-ng is not required anymore), and a better looking man page 📝
  • Small files have been relicensed from the CC0-1.0 to the FSFAP license, since the CC0 is considered problematic for some 📜

Coming soon to your favourite distro's package manager!

2.0.0

17 May 19:17
Compare
Choose a tag to compare

Simpler 💡️ more complete 🌍️ more reliable 🪨️

Only two months passed from the last release, but we've already reached version 2.0.0 🎉️
This release is less ground-breaking than the previous one, but a lot has improved nonetheless.

Thanks to one of my last braincells I've been able to drop the need for the Zone ID! This means that you'll no longer have to search that string of random text in Cloudflare's web UI; it will be automatically inferred by the record name 💡️

Since release 1.0.0 someone actually started using this tool, and with new users came new issues. Thanks to @stephanlachnit's help, IPv6 and AAAA record are now better supported. In particular, the tool will do the Right Thing when your server will have both an IPv4 and an IPv6 address, and is now also able to automatically update both A and AAAA records if they exist 🌍️

Lastly, cloudflare-ddns now handles errors better: it will print more meaningful error messages, fail less frequently and overall be more solid 🪨️

1.0.0

20 Mar 18:06
Compare
Choose a tag to compare

Faster ⚡️ more secure 🔒️ easier 🔧️ embeddable 📚️

We finally reached cloudflare-ddns 1.0.0! 🎉️
A lot has changed since the last release, so let's get right into the changelog.

To make unit testing possible I've split the project in two main parts: the main tool and a library 📚️

This has led to massive cleanups - the code is now easier to maintain and fully testable. In fact, the library is now tested under three different sanitizers on different compilers and platforms, meaning that memory leaks, undefined behaviour, and security issues are now a thing of the past 🔒️

While developing a C API for the library I had the opportunity to avoid even more memory allocations, reduce their size, and generally improve cloudflare-ddns' performance even more ⚡️

Lastly, I've changed the configuration format from YAML to ini. Ini is simpler, more widespread in server-side configuration files (systemd, PostgreSQL, PHP, Postfix...), easier to parse, and won't allow me to do some crazy stuff in the future like nested configuration options 🔧️

I've also made a lot of general tweaks and fixes, like manual pages 📜️, a better readme, and some systemd hardenings 🛡️

Go ahead and start using this new and free dynamic DNS! 🚀️

0.3.1

06 Mar 20:37
fed33bc
Compare
Choose a tag to compare

Even more boring release

I've only updated the project version in meson.build, that's really it.

0.3.0

06 Mar 18:31
7bba606
Compare
Choose a tag to compare

Configuration files 🔧️

Tired of typing the Zone ID every time? cloudflare-ddns now supports YAML configuration files! I'll keep them simple, I promise.

You can run the program without arguments and it will automatically parse the contents of /etc/cloudflare-ddns/config.yaml, or you can specify a custom path using --config path-to-file

0.2.1

05 Mar 20:57
Compare
Choose a tag to compare

Boring point release

cloudflare-ddns now uses code analysis 🔍️, provided by LGTM.

It is also now possible to build the tool on platforms that do not provide a recent version of simdjson, like Ubuntu 20.10

0.2.0

01 Mar 21:41
Compare
Choose a tag to compare

Faster ☄️ safer 🔑️ and IPv6 support 🌍️

Faster: cloudflare-ddns is now multithreaded, making it even faster (depending on network conditions)

Safer: all the network connections are now encrypted. Yes, all of them, including DNS lookups, thanks to DoH. You could even run the script on a system with 443 as the only open port!

IPv6: it is now possible to update an AAAA record, no extra steps required!

0.1.0

28 Feb 16:55
Compare
Choose a tag to compare

cloudflare-ddns is now faster ⚡ and much lighter 🍃!

cloudflare-ddns now uses plain libcurl: ugly but super fast.

It now checks and updates a DNS record with less than 20 memory allocations and using roughly 20 kilobyes of RAM, which is nothing compared to the 300+ allocations of the previous version, which used cpr.
Also, cloudflare-ddns now depends only on libcurl and simdjson, and should be much easier to package.

0.0.1

26 Feb 22:49
Compare
Choose a tag to compare

Seems to work fine, please report any bug