resolv-conf
v2.0.0
Published
Parse resolv.conf files
Downloads
26
Maintainers
Readme
Parse resolv.conf
This repo uses the Linux documentation for
resolv.conf(5) to
parse the configuration for DNS resolution on your system. Windows uses a
different approach, so the best you can do is likely the Node built-in
dns.getServers()
.
Note that the defaults and environment variables listed in the docs were also implemented.
Install
npm install resolv-conf
Usage
import {parseFile, parse} from 'resolv-conf';
const config = await parseFile(); // filename is optional
// returns:
// {
// nameserver: [ '127.0.0.1', '::1' ],
// options: { ndots: 1 },
// searchlist: [...],
// sortlist: [ { addr: ..., mask: ...}, ...]
// errors: [ {text: "...", location:...} ]
// }
// if you already have text from the file:
const config2 = parse(text);
Options
Options will have dashes turned into underscores. For example, no-aaaa
will be
available as config.options.no_aaaa
.
Errors
Unrecoverable parse errors will throw an exception with location
,
expected
, found
, and message
properties.
Recoverable errors (e.g. invalid IP addresses) will show up in the result
object in the errors
property, and valid defaults will be chosen for that
option if need be.