toragent
Easily manage HTTP(S) requests through Tor. TorAgent spawns Tor processes,
handles both HTTP and HTTPS requests, and offers easy IP address rotation.
Compatible with http.request
and libraries like request
.
Installation
Requires Node >= 0.12 or iojs.
npm install --save toragent
Overview
Works with promises.
var TorAgent = ;var Promise = ;var request = Promise;{return TorAgent;}
And callbacks too!
var TorAgent = ;var request = ;{TorAgent;}
TorAgent
An HTTP Agent for proxying requests through Tor using SOCKS5. In the following
examples, agent
refers to an instance of TorAgent
.
TorAgent.create(verbose, [fn])
Spawns a Tor process listening on a random unused port, and creates an agent for use with HTTP(S) requests. The optional verbose param will enable console output while initializing Tor. Accepts an optional callback, otherwise it returns a promise that resolves with an instance of TorAgent. Note that since the Tor process is using a new DataDirectory with no cached microdescriptors or any other state, bootstrapping can take between 15 - 60s. The resulting child process is automatically killed when node exits.
TorAgent;
agent.rotateAddress()
Rotates the IP address used by Tor by sending a SIGHUP. Returns a promise that resolves when complete.
TorAgent;
agent.destroy()
Closes all sockets handled by the agent, and closes the Tor process. Returns a promise that resolves when the Tor process has closed.
TorAgent;