nightcrawler
v0.2.1
Published
Tor control interface and anonymizer
Downloads
7
Maintainers
Readme
Nightcrawler
Nightcrawler is a Tor control interface and IP hopper. This does not magically proxy all your node connections through Tor, so you need to explicitly use your proxy in the requests you make.
Requirements
You need to install Tor, and set up a Tor-backed HTTP proxy to be able to use this module.
Tor
(NotTor Bundle
, justTor
).Polipo
, or other web proxy.
You also have to enable Tor's control interface in your torrc
configuration file by adding the lines:
ControlPort 9051
- The port of Tor's control interface. 9051 is the default.HashedControlPassword myhashedpassword
- Your hashed password. To hash your password, see --hash-password.
Installation
npm install nightcrawler
How to use
Todo: write better documentation.
var settings = {
// Your Tor-Backed HTTP proxy URL
proxy: 'http://localhost:8118',
// Tor's control interface port and password
tor: {
password: ``,
port: 9051,
},
};
var nightcrawler = new Nightcrawler(settings);
// Changes Tor's IP.
nightcrawler.changeIp().then( function(ip) {
console.log(ip) // New external IP
});
// Get the current IP
nightcrawler.getIp().then( function(ip) {
console.log('My current IP is: '+ip);
})
// My IP will now change every minute
nightcrawler.conceal(60);
// My IP will stop changing
nightcrawler.conceal(0);
nightcrawler.info().then( function(info) {
console.log(info.usingTor); // True or False. Are you using Tor?
console.log(info.ip); // Your current external IP
});
Why a factory and not a singleton?
Because multiple nightcrawlers may be instanciated using multiple HTTP proxies.
Tests
make test
Cheers.