Crates.io | torut |
lib.rs | torut |
version | 0.2.1 |
source | src |
created_at | 2020-01-04 16:14:11.930604 |
updated_at | 2021-10-31 18:24:30.229596 |
description | torut is reasonable tor controller written in rust utilizing tokio for async communication |
homepage | https://github.com/teawithsand/torut |
repository | https://github.com/teawithsand/torut |
max_upload_size | |
id | 195165 |
size | 177,873 |
Torut is tor controller written in rust similar to stem or bine. It tries to reasonably implement specification of tor control port proto It works asynchronously with tokio and async/await.
It implements onion service key and address generation and serialization on its own without tor process.
Right now logic is quite tightly coupled with tokio so there is no way to remove tokio from dependencies and make all functions synchronous.
Code handling V2 services has been removed in 0.2 release, since tor project removed(should have?) v2 handling code from their codebase as well. See This page
Tests in torut are split into two parts:
these which do use tor and these which do not use tor.
In order to enable tests which use tor use RUSTFLAGS="--cfg=testtor"
and provide TORUT_TESTING_TOR_BINARY
environment variable containing path to tor binary.
Testing tor binary MUST be run with --test-threads=1
for instance like:
$ RUSTFLAGS="--cfg testtor" cargo test -- --test-threads=1