This module checks whether a specific ip address is a Tor exit node. In other words tor-test lets you know if a connection to your Node.js application is coming from the Tor network.
Installation
$ npm i -S tor-test
This will install the module and save it in your package.json
as dependency.
Usage
const TorTest = require('tor-test');
TorTest.isTor('127.0.0.1', (err, isTor) => {
// isTor is false
});
API
fetch(callback):
This methods feeds the cache of the module with a list of Tor exit nodes. It takes 1 parameter:
callback
: a function which signature isfunction (err)
whereerr
is anError
ornull
.
const TorTest = require('tor-test');
TorTest.fetch((err) => ...)
isTor(addr, [force], callback):
This method is used to check if an IP address is a Tor exit node.
If fetch
has not been called before, it will be called at the first call of isTor
.
It takes 3 arguments:
addr
: a string representing the IP address to testforce
: a boolean, optional, if present and set totrue
, it will force a reload of the cached Tor exit node list.callback
: a function which signature isfunction (err, result)
where:err
is anError
ornull
result
is a boolean. It will equaltrue
isaddr
is the address of a Tor exit node
Cookbook
A cookbook is available for this module: