Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var http = require('http');
- var linode = require('linode-api');
- var my_api_key = '';
- var domain_id = 0;
- var resource_id = 0;
- var linode_client = new (linode.LinodeClient)(my_api_key);
- var options = {
- host : 'jsonip.com',
- port : 80,
- path : '/',
- method : 'GET'
- };
- var req = http.request(options, function(res) {
- res.on('data', function(chunk) {
- var response_obj = JSON.parse('' + chunk);
- var current_ip = response_obj.ip;
- console.log (current_ip);
- var linode_params = {
- domainid : domain_id,
- resourceid : resource_id
- };
- console.log('Looking up last known IP...');
- // lookup previous value, so we know if we should send the update
- linode_client.call('domain.resource.list', linode_params, function(err, lookup_res) {
- var last_ip = lookup_res[0].TARGET;
- console.log(last_ip);
- if (last_ip != current_ip) {
- console.log('DNS is stale. Updating now...');
- linode_params.target = current_ip;
- linode_client.call('domain.resource.update', linode_params, function (err, update_res) {
- if (err) throw err;
- console.log(update_res);
- });
- } else {
- console.log('DNS is up to date');
- }
- });
- });
- });
- console.log('Looking up current IP...')
- req.end();
Add Comment
Please, Sign In to add comment