Newman's Personal Motorcade

    dnsme-ddns-updater

    1.1.0 • Public • Published

    dnsme-ddns-updater

    DNS Made Easy dynamic record updater

    Installation

    For running as a daemon:

    npm install -g dnsme-ddns-updater
    

    For usage as a library:

    npm install --save dnsme-ddns-updater
    

    Command Line Usage

    Run the dnsme-ddns-updater command with the following required arguments:

    • --username followed by your DNS Made Easy username
    • --password followed by the password associated with the record you are updating
    • --record-id followed by the record identifier for the record you are updating

    Use the following optional argument:

    • --check-interval followed by the number of seconds between public IP checks (no less than 30 seconds)

    Library Usage

    With Public IP Address Polling

    var DNSMEDDNSUpdater = require('dnsme-ddns-updater')
     
    var updater = new DNSMEDDNSUpdater({
      username: "bob@example.com",
      recordId: "8882239",
      password: "theyllneverguess",
      checkInterval: 120
    })
     
    updater
      .on("change", function (ip) { console.log("ip changed: %s", ip)})
      .on("error", function (err) { console.warn(err.message) })

    Without Public IP Address Polling

    import {RecordUpdater} from 'dnsme-ddns-updater'
     
    const updater = new RecordUpdater({ username, recordId, password })
     
    updater.updateRecord('10.0.0.1')
      .then(() => console.log('Updated!'))
      .catch(err => console.warn(err.message))

    OS X launchd Setup

    Create a .plist file in /Library/LaunchDaemons, for example:

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
    <plist version="1.0">
    <dict>
      <key>Label</key>
      <string>com.example.dnsme-ddns-updater</string>
      <key>ProgramArguments</key>
      <array>
        <string>/usr/local/bin/node</string>
        <string>/usr/local/bin/dnsme-ddns-updater</string>
        <string>--username=bob@example.com</string>
        <string>--record-id=8882239</string>
        <string>--password=theyllneverguess</string>
        <string>--check-interval=300</string>
      </array>
      <key>KeepAlive</key>
      <true/>
      <key>StandardOutPath</key>
      <string>/var/log/dnsme-ddns-updater.log</string>
      <key>StandardErrorPath</key>
      <string>/var/log/dnsme-ddns-updater.log</string>
    </dict>
    </plist>

    Then, for example, run:

    sudo launchctl load /Library/LaunchDaemons/com.example.dnsme-ddns-updater.plist

    Install

    npm i dnsme-ddns-updater

    DownloadsWeekly Downloads

    1

    Version

    1.1.0

    License

    MIT

    Last publish

    Collaborators

    • limulus