cf-ddns

0.0.4 • Public • Published

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 '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.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

Package Sidebar

Install

npm i cf-ddns

Weekly Downloads

1

Version

0.0.4

License

MIT

Last publish

Collaborators

  • 18augst