emergency-dns-server

An Emergency, Zero-Config DNS server

npm install emergency-dns-server
4 downloads in the last week
13 downloads in the last month

emergency-dns-server

"...For when you are in a bind..."

What

A very simple, zero-config emergency DNS server. Use this if you want to answer some DNS queries, but relegate the majority of the work to a (real) upstream server.

Install

npm install emergency-dns-server -g

Running

ednsd -p 5500 -u 8.8.8.8 www.mysite.com:a:18.26.4.239 boo.com:mx:10.0.0.1

This will set up the emergency DNS server to listen on port 5500, and to answer A queries for www.mysite.com with the IP address 18.26.4.239 and MX queries for boo.com with the IP address 10.0.0.1. All other requests will be proxied to the upstream server at 8.8.8.8

If you don't provide a -p flag, ednsd will startup on port 53 as usual. But note, you'll have to be root to do that.

Building

If you want to change/build this thing from scratch, you'll need one additional prerequesite --- IcedCoffeeScript. Get it like so:

npm install iced-coffee-script -g

And then you can build by running:

icake build

from the top directory. The file ./cmd.js is hand-written, but everything else in lib/ is generated from a .iced file found in the src/ directory.

Security

You can supply -U <user> and -G <group> to have ednsd setuid and setgid respectively. This is good for security if you are running as root and binding to port 53.

npm loves you