0.0.4 • Published 10 years ago
cf-ddns v0.0.4
Requirements
Module written with CoffeeScript. So, you need to like coffee...
npm install coffee-script -gInstallation
npm install cf-ddnsUsage
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 'your@email.com', '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.coffeeCrontab record with log@/home/user/working/dir/update.log:
* * * * * /home/user/working/dir/cron.sh > /home/user/working/dir/update.log 2>&1Usually to update crontab, you need to run:
crontab -e
sudo service cron restart