tor-ctrl is a simple library to connect to a Tor control port and send commands to it.
npm install tor-ctrlIn below example, we are requesting for a new identity from Tor.
import { TorControl } from 'tor-ctrl';
const tc = new TorControl({
host: 'localhost',
port: 9051,
// Or, if you want to control via Tor Unix socket:
// socketPath: '/var/run/tor/control',
password: 'secure-password',
});
await tc.connect();
const data = await tc.getNewIdentity();
console.log(data); // { code: 250, message: 'OK' }
await tc.disconnect();If you don't know the available commands, please first check out the official the Tor Control Protocol specifications.
// ... inside the try block after connect()
const data = await tc.sendCommand(['GETINFO', 'version', 'config-file']);
console.log(data); // [ { code: NUM, message: STRING }, ... ]For more examples, check out the examples directory.
Want to contribute? Awesome! To show your support is to star the project, or to raise issues on GitHub.
Thanks again for your support, it is much appreciated! 🙏
MIT © Shahrad Elahi and contributors.