Nobody Pays (for) Magazines
Unleash awesomeness. Private packages, team management tools, and powerful integrations. Get started with npm Orgs »

dnsbl

3.1.1 • Public • Published

dnsbl

Query DNS-based blackhole lists

Support both IPv4 and IPv6 queries.

Installation

$ npm i dnsbl

Usage

const dnsbl = require('dnsbl');
 
const listed = await dnsbl.lookup('127.0.0.2', 'zen.spamhaus.org');
//=> true
 
const results = await dnsbl.batch(['1.2.3.4', '5.6.7.8'], ['dnsbl.somelist.net', 'dnsbl.someotherlist.net']);
//=> [
//=>   { blacklist: 'dnsbl.somelist.net', address: '1.2.3.4', listed: true  },
//=>   { blacklist: 'dnsbl.somelist.net', address: '5.6.7.8', listed: false },
//=>   { blacklist: 'dnsbl.someotherlist.net', address: '1.2.3.4', listed: true  },
//=>   { blacklist: 'dnsbl.someotherlist.net', address: '5.6.7.8', listed: false }
//=> ]

API

dnsbl.lookup(address, blacklist, [options])

  • address: string an IP address.
  • blacklist: string the hostname of the blacklist to query.

Returns a Promise that resolves to true or false, indicating if the address is listed (e.g. the DNS query returned a non-empty result). Will reject on error.

dnsbl.batch(addresses, blacklists, [options])

  • addresses string or Array - one or more IP addresses.
  • blacklists string or Array - one or more blacklist hostnames.

Returns a Promise that resolve to a results object (see below).

options object

  • servers string or Array - DNS servers to use. Default: ['208.67.220.220'].
  • timeout number - timout in milliseconds. Default: 5000.
  • concurrency number - number of concurrent queries. Default: 64.

results object

The results object is an array of objects with these properies:

  • address string - the IP address.
  • blacklist string - the blacklist hostname.
  • listed boolean - a boolean indicating if the address is listed on the blacklist.

© silverwind, distributed under BSD licence

install

npm i dnsbl

Downloadsweekly downloads

64

version

3.1.1

license

BSD-2-Clause

homepage

github.com

repository

Gitgithub

last publish

collaborators

  • avatar
Report a vulnerability