UNPKG

homer

Version:

Dynamic DNS server

36 lines (30 loc) 821 B
var dns = require('native-dns'); module.exports = { create: makeServer }; function makeServer(db) { var server = dns.createServer(); server.on('request', function (request, response) { if (request && request.question && request.question[0]) { db.get(request.question[0].name, function (err, data) { if (data && data.ip && request.question[0].type === 1) { response.answer.push(dns.A({ name: request.question[0].name, address: data.ip, ttl: 60, })); } else { response.header.rcode = 3; } response.send(); }); } else { response.header.rcode = 3; response.send(); } }); server.on('error', function (err, buff, req, res) { console.log(err.stack); }); return server; }