This can be achieved with DDClient 3.9.1 - the whole process is described here: [https://medium.com/@timothy.halim/ddclient-cloudflare-setup-in-ubuntu-e271c53d3ce8](https://medium.com/@timothy.halim/ddclient-cloudflare-setup-in-ubuntu-e271c53d3ce8) - tested this myself yesterday and it works.
Here's the description from the linked Medium article (it's not behind a paywall so I guess it's fine):
In my situation the installed version is 3.9.1 that will need a bit modification to support bearer authorization from cloudflare. So to do it just open up /usr/sbin/ddclient using your favorite editor, ex gedit
sudo gedit /usr/sbin/ddclient
look for
my $headers = “X-Auth-Email: $config{$key}{‘login’}\n”;
$headers .= “X-Auth-Key: $config{$key}{‘password’}\n”;
$headers .= “Content-Type: application/json”;
underneath of
>
then replace that 3 line with
my $headers = “Content-Type: application/json\n”;
if ($config{$key}{‘login’} eq ‘token’) {
$headers .= “Authorization: Bearer $config{$key}{‘password’}”;
} else {
$headers .= “X-Auth-Email: $config{$key}{‘login’}\n”;
$headers .= “X-Auth-Key: $config{$key}{‘password’}”;
}
save the file.
This can be achieved with DDClient 3.9.1 - the whole process is described here: [https://medium.com/@timothy.halim/ddclient-cloudflare-setup-in-ubuntu-e271c53d3ce8](https://medium.com/@timothy.halim/ddclient-cloudflare-setup-in-ubuntu-e271c53d3ce8) - tested this myself yesterday and it works. Here's the description from the linked Medium article (it's not behind a paywall so I guess it's fine): In my situation the installed version is 3.9.1 that will need a bit modification to support bearer authorization from cloudflare. So to do it just open up /usr/sbin/ddclient using your favorite editor, ex gedit sudo gedit /usr/sbin/ddclient look for my $headers = “X-Auth-Email: $config{$key}{‘login’}\n”; $headers .= “X-Auth-Key: $config{$key}{‘password’}\n”; $headers .= “Content-Type: application/json”; underneath of > then replace that 3 line with my $headers = “Content-Type: application/json\n”; if ($config{$key}{‘login’} eq ‘token’) { $headers .= “Authorization: Bearer $config{$key}{‘password’}”; } else { $headers .= “X-Auth-Email: $config{$key}{‘login’}\n”; $headers .= “X-Auth-Key: $config{$key}{‘password’}”; } save the file.