Skip to content

shahradelahi/node-tor-control

Repository files navigation

tor-ctrl

CI NPM Version Install Size npm bundle size License

tor-ctrl is a simple library to connect to a Tor control port and send commands to it.

📦 Installation

npm install tor-ctrl

📖 Usage

In 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();
Send a Custom Command

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.

🤝 Contributing

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! 🙏

License

MIT © Shahrad Elahi and contributors.

About

A NodeJs library to communicate with Tor-Control

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors