/cloudflare-ddns

Simple, free dynamic DNS via Cloudflare

Primary LanguagePHP

cloudflare-ddns

A dynamic DNS script (written in PHP) that uses CloudFlare's free DNS and their API to set up a dynamic DNS record pointing to your server.

How To Use

git clone https://github.com/lyoshenka/cloudflare-ddns.git
cd cloudflare-ddns
cp config.php.skel config.php
### Edit config.php - enter your CloudFlare credentials and domain details
./ddns.php

If everything works, put it in your crontab.

0 * * * * /path/to/cloudflare-ddns/ddns.php -s

Extra feature: API mode

If you want, you can put this script on a web server and use the "dynamic DNS" option of your router to trigger the IP update.

To do this, first enable API mode by setting an auth_token value in your config.

Then, configure your router to call the script like this: https://example.com/ddns.php?auth_token=YOUR_TOKEN&ip=IP_ADDR

License

Uncopyrighted. Do whatever you want. I hope this code makes you rich. Spiritually.

No PHP?

For an even simpler version written in Bash, see this gist.

Development

Use php-cs-fixer like php-cs-fixer fix ddns.php --rules=@PSR2 to enforce code style.