4.0.2 • Published 23 days ago

dnsbl v4.0.2

Weekly downloads
3,225
License
BSD-2-Clause
Repository
github
Last release
23 days ago

dnsbl

npm.io npm.io npm.io

Query DNS-based blackhole lists

Support both IPv4 and IPv6 queries.

Installation

$ npm i dnsbl

Usage

import {lookup, batch} from 'dnsbl';

await lookup('127.0.0.2', 'zen.spamhaus.org');
// true

await lookup('127.0.0.2', 'zen.spamhaus.org', {includeTxt: true});
// {
//   listed: true,
//   txt: [['some txt'], ['another txt']]
// }

await 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

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.

If the includeTxt option is set, it will return an Object with these properties:

  • listed boolean - a boolean indicating if the address is listed on the blacklist.
  • txt string[] - an array of resolved TXT records for the address.

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. Pass a falsy value to use the system resolvers. Default: ['208.67.220.220', '208.67.222.222', '2620:119:35::35', '2620:119:53::53'].
  • timeout number - timout in milliseconds. Default: 5000.
  • concurrency number - number of concurrent queries. Default: 64.
  • includeTxt boolean - include txt records if IP is blacklisted. Default: false.

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.
  • txt string[] - an array of resolved TXT records for the address.

© silverwind, distributed under BSD licence

4.0.2

23 days ago

4.0.1

10 months ago

4.0.0

1 year ago

3.2.0

4 years ago

3.1.1

6 years ago

3.1.0

6 years ago

3.0.0

6 years ago

2.0.0

6 years ago

1.1.11

6 years ago

1.1.10

6 years ago

1.1.9

6 years ago

1.1.8

7 years ago

1.1.7

7 years ago

1.1.6

7 years ago

1.1.5

7 years ago

1.1.4

7 years ago

1.1.3

7 years ago

1.1.2

7 years ago

1.1.1

7 years ago

1.1.0

7 years ago

1.0.0

7 years ago

0.1.2

9 years ago

0.1.1

9 years ago

0.1.0

10 years ago