I personally much prefer using ddclient and use it from my mac (DNS-O-Matic tends to hit our API limits since it is a shared service).
My personal notes on configuring ddclient for OS X below:
If you haven’t already installed Brew on your Mac do so now (it’s a package manager used to install/configure lots of useful software on Macs).
/usr/bin/ruby -e “$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)”
Once Brew is installed use it to install ddclient:
brew install ddclient
Install a required Perl Json parser
sudo cpan install JSON::Any
And then copy over a sample configuration file which we’ll edit with our Cloudflare account details.
cp /usr/local/opt/ddclient/share/doc/ddclient/sample-etc_ddclient.conf /usr/local/etc/ddclient/ddclient.conf
edit this line to remove the #
For each of the lines below in the next quoted section remove the # in front of them (this section is about 2/3 down in the file).
Change domain.tld in zone to your cloudflare DNS zone (e.g. example.com)
Populate login with the email address you use to log into cloudflare and copy the API key from your profile settings page.
On the final line change to the host whose address you want to update (e.g. myhost.exampe.com). This host must already exist as an A record in your Cloudflare account.
To test and force an update:
sudo /usr/local/opt/ddclient/sbin/ddclient -force -verbose -noquiet
This will set the ddclient to automatically run on start-up.
sudo cp -fv /usr/local/opt/ddclient/*.plist /Library/LaunchDaemons
sudo chown root /Library/LaunchDaemons/homebrew.mxcl.ddclient.plist
sudo launchctl load /Library/LaunchDaemons/homebrew.mxcl.ddclient.plist