DNSCrypt - authenticated and encrypted DNS client for nodejs
const dnscrypt = require('dnscrypt');
dnscrypt.resolve('example.com', (err, addresses) => {
if (err) {
console.error(err);
} else {
console.log(addresses);
}
});
// Supports both callback and promise-based styles.
await dnscrypt.resolve4('example.com');
const resolver = dnscrypt.createResolver({ timeout: 1e3 });- Use global api
dnscrypt.resolvefor single looking up. - Use resolver api
dnscrypt.createResolver()for multiple lookups (to avoid repeated certificate requests).
dnscrypt.resolve(hostname[, rrtype], callback): voiddnscrypt.resolve(hostname[, rrtype]): Promise
See dns.resolve.
dnscrypt.resolve4(hostname[, options], callback): voiddnscrypt.resolve4(hostname[, options]): Promise
See dns.resolve4.
dnscrypt.resolve6(hostname[, options], callback): voiddnscrypt.resolve6(hostname[, options]): Promise
See dns.resolve6.
dnscrypt.resolveCname(hostname, callback): voiddnscrypt.resolveCname(hostname): Promise
See dns.resolveCname.
dnscrypt.resolveMx(hostname, callback): voiddnscrypt.resolveMx(hostname): Promise
See dns.resolveMx.
dnscrypt.resolveNs(hostname, callback): voiddnscrypt.resolveNs(hostname): Promise
See dns.resolveNs.
dnscrypt.resolvePtr(hostname, callback): voiddnscrypt.resolvePtr(hostname): Promise
See dns.resolvePtr.
dnscrypt.resolveSoa(hostname, callback): voiddnscrypt.resolveSoa(hostname): Promise
See dns.resolveSoa.
dnscrypt.resolveSrv(hostname, callback): voiddnscrypt.resolveSrv(hostname): Promise
See dns.resolveSrv.
dnscrypt.resolveTxt(hostname, callback): voiddnscrypt.resolveTxt(hostname): Promise
See dns.resolveTxt.
dnscrypt.getServers(): DNSStamp[]
Returns an array of active DNS servers.
dnscrypt.createResolver([options]): Resolver
Create a new independent resolver for DNS requests.
options.timeout: number- The number of milliseconds before a request times out, 2s default.options.unref: bool- Call.unref()on internal dgram socket.options.sdns: string- Use secure DNS resolver instead of default one.
The following methods from the dnscrypt module are available:
-
resolver.resolve(hostname[, rrtype], callback): void -
resolver.resolve(hostname[, rrtype]): Promise -
resolver.resolve4(hostname[, options], callback): void -
resolver.resolve4(hostname[, options]): Promise -
resolver.resolve6(hostname[, options], callback): void -
resolver.resolve6(hostname[, options]): Promise -
resolver.resolveCname(hostname, callback): void -
resolver.resolveCname(hostname): Promise -
resolver.resolveMx(hostname, callback): void -
resolver.resolveMx(hostname): Promise -
resolver.resolveNs(hostname, callback): void -
resolver.resolveNs(hostname): Promise -
resolver.resolvePtr(hostname, callback): void -
resolver.resolvePtr(hostname): Promise -
resolver.resolveSoa(hostname, callback): void -
resolver.resolveSoa(hostname): Promise -
resolver.resolveSrv(hostname, callback): void -
resolver.resolveSrv(hostname): Promise -
resolver.resolveTxt(hostname, callback): void -
resolver.resolveTxt(hostname): Promise -
resolver.getServers(): DNSStamp[] -
resolver.setServers(sdns): void
Change the address of internal secure DNS server.
resolver.close(): void
Close encrypted DNS session.
MIT, 2019 (c) Dmitriy Tsvettsikh
