cf-ddns
v0.0.4
Published
Lightweight and easy CloudFlare DynamicDNS client
Downloads
7
Maintainers
Readme
Requirements
Module written with CoffeeScript. So, you need to like coffee...
npm install coffee-script -g
Installation
npm install cf-ddns
Usage
Script@/home/user/working/dir/update_dns.coffee
:
# update_dns.coffee
my_ip = require 'public-ip'
_ = require 'underscore'
CloudFlareDNS = require 'cf-ddns'
# Sample usage
api = new CloudFlareDNS '[email protected]', 'your_cloudflare_api_key'
api.get_zones (zones) ->
my_zone = _.findWhere zones, name: 'your.domain.com'
api.get_dns my_zone, (dns) ->
my_ip (err, current_ip) ->
return if err
_.each _.where(dns, type: 'A'), (record) ->
record.content = current_ip
api.update_dns record, (record) ->
console.log 'Record updated'
Shell command@/home/user/working/dir/cron.sh
:
#!/bin/bash
# cron.sh (chmod +x that)
cd /home/user/working/dir
date
/opt/nodejs/bin/coffee update_dns.coffee
Crontab record with log@/home/user/working/dir/update.log
:
* * * * * /home/user/working/dir/cron.sh > /home/user/working/dir/update.log 2>&1
Usually to update crontab, you need to run:
crontab -e
sudo service cron restart