2.0.0 • Published 4 days ago

resolv-conf v2.0.0

Weekly downloads
8
License
MIT
Repository
github
Last release
4 days ago

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.

Status

Tests codecov