1
0
Fork
You've already forked tor-client-lib
0
Tor Client Library
  • Rust 100%
2026年05月03日 17:53:27 -05:00
.github/workflows Don't run integration tests in github 2025年03月29日 00:18:19 -05:00
src Some incompatible upgrades 2026年05月03日 17:49:39 -05:00
tests Make the Tor signing key a bit nicer 2025年03月26日 18:48:32 -05:00
.gitignore Initial commit 2023年08月23日 00:25:43 -05:00
Cargo.toml Bump version and rust edition 2026年05月03日 17:51:59 -05:00
LICENSE-APACHE Getting things ready 2024年01月21日 18:36:20 -06:00
LICENSE-MIT Getting things ready 2024年01月21日 18:36:20 -06:00
README.md Add docs badge 2024年01月25日 18:28:47 -06:00

Tor Client Library

This is a client library for Tor, which allows you to interact programmatically with a Tor server, using its API.

Crates.io Docs Badge License License GitHub Actions Workflow Status

Installation

To add it to your existing project:

cargo add tor_client_lib

Commands Supported

This library currently supports a small (but useful) subset of the full API, namely:

  • AUTHENTICATE
  • AUTHCHALLENGE
  • GETINFO
  • PROTOCOLINFO
  • ADD_ONION
  • DEL_ONION

If you’d like to see more functions supported, please either submit an issue request or a PR.

Example Code

use tor_client_lib::{
	control_connection::TorControlConnection,
 error::TorError,
 auth::TorAuthentication
};
// Connect to the Tor service running locally
let mut control_connection = TorControlConnection::connect("127.0.0.1:9051").await?;
// Authenticate to the Tor server
control_connection.authenticate(TorAuthentication::SafeCookie(None)).await?;
// Call the "GETINFO" command to get the Tor version number
let tor_version = control_connection.get_info("version").await?;

CLI

The repo includes a simple CLI for sending commands to Tor. To use it, run:

cargo run

For example:

% cargo run
 Finished dev [unoptimized + debuginfo] target(s) in 0.07s
 Running `target/debug/tor-cli`
Welcome to Tor CLI v0.1.0
Tor CLI> connect
Connected to localhost:9051
Tor CLI> authenticate cookie
Authenticated
Tor CLI> get_info version
["0.4.6.10"]