The purpose of this project is to provide a simple and provider-agnostic DDNS updater.
Once many DDNS service providers ceased their free account offers, currently this project supports Namecheap and OVH. All contributions to support other providers are very welcome!
This project is written in Perl 5 programming language. Besides the perl interpreter, it requires the following modules:
Packages for these modules can be found in almost all GNU/Linux distributions package managers but can also be installed by using cpanminus
or carton
. This will require libssl-dev
(Debian-based distros) or openssl-devel
(RHEL-based distros) to build Net::SSLeay
dependency.
curl -L https://cpanmin.us/ -o ./bin/cpanm
chmod +x ./bin/cpanm
./bin/cpanm -L local --installdeps --notest .
Setting up this project is as simple as:
- Clone this repository into your favourite system-wide projects (I personally use
/srv/dns-updater
but feel free to use/opt/dns-updater
or anything else!) - Create your own configuration file (by default the application binary attempts to locate
etc/ddns-hosts.yml
under the project directory) based onetc/ddns-hosts.yml.sample
file - Set a
cron
job to run regularly the updater. Example to run every 5 minutes:*/5 * * * * /srv/dns-updater/bin/dns-updater.pl
Please keep in mind that although there's no need for root access, the user that will be running the script must have write permission on data/
directory under projects' directory.
This project was developed by Manuel Silva and it's provided under MIT License.