#tor #onion-service #tokio #controller #onion

torut

torut是用Rust编写,利用tokio进行异步通信的合理的tor控制器。

13个版本

0.2.1 2021年10月31日
0.1.10 2021年7月2日
0.1.8 2021年3月31日
0.1.7 2020年11月24日
0.1.1 2020年1月4日

#1760 in 网络编程

Download history 201/week @ 2024-03-13 426/week @ 2024-03-20 468/week @ 2024-03-27 267/week @ 2024-04-03 253/week @ 2024-04-10 243/week @ 2024-04-17 276/week @ 2024-04-24 250/week @ 2024-05-01 207/week @ 2024-05-08 328/week @ 2024-05-15 424/week @ 2024-05-22 408/week @ 2024-05-29 252/week @ 2024-06-05 333/week @ 2024-06-12 420/week @ 2024-06-19 188/week @ 2024-06-26

1,277次每月下载
用于22个crate(5个直接使用)

MIT许可证

155KB
3K SLoC

torut

Build Status

Torut是用Rust编写的tor控制器,类似于stem或bine。它试图合理地实现tor控制端口协议规范。它使用tokio和async/await进行异步工作。

它在其自己的过程中实现onion服务密钥和地址的生成和序列化,而不使用tor进程。

目前逻辑与tokio紧密耦合,因此无法从依赖中删除tokio并使所有函数都同步。

onion服务V2的状态

在0.2版本中已删除处理V2服务的代码,因为tor项目也从其代码库中删除了(应该删除)v2处理代码。请参阅此页面

测试

torut中的测试分为两部分:这些使用tor的测试和这些不使用tor的测试。为了启用使用tor的测试,请使用以下命令RUSTFLAGS="--cfg=testtor"并提供一个包含tor二进制文件路径的TORUT_TESTING_TOR_BINARY环境变量。测试tor二进制文件必须使用--test-threads=1运行,例如:

$RUSTFLAGS="--cfg testtor"cargo test ----test-threads=1

依赖关系

~0.3–2.8MB
~50K SLoC