#tor #daemon #refer #flags #run #bundle #own

libtor

在您的项目中捆绑并运行Tor

22个稳定版本 (5个主要版本)

使用旧的Rust 2015

47.13.0+0.4.7.x2023年2月10日
47.8.0+0.4.7.x2022年6月28日
47.7.0+0.4.7.x2022年5月27日
46.9.0+0.4.6.x2022年1月11日
42.7.0+0.4.2.7 2020年3月21日

#7 in #refer

Download history • Rust 包仓库 862/week @ 2024-03-14 • Rust 包仓库 819/week @ 2024-03-21 • Rust 包仓库 710/week @ 2024-03-28 • Rust 包仓库 626/week @ 2024-04-04 • Rust 包仓库 1019/week @ 2024-04-11 • Rust 包仓库 909/week @ 2024-04-18 • Rust 包仓库 676/week @ 2024-04-25 • Rust 包仓库 860/week @ 2024-05-02 • Rust 包仓库 599/week @ 2024-05-09 • Rust 包仓库 679/week @ 2024-05-16 • Rust 包仓库 816/week @ 2024-05-23 • Rust 包仓库 882/week @ 2024-05-30 • Rust 包仓库 453/week @ 2024-06-06 • Rust 包仓库 643/week @ 2024-06-13 • Rust 包仓库 845/week @ 2024-06-20 • Rust 包仓库 642/week @ 2024-06-27 • Rust 包仓库

每月 2,652次下载
用于 4 crates

MIT许可证

26KB
580

libtor

libtor是一个Rust crate,可以在您的项目中捆绑一个完整运行的Tor守护进程。与裸机版本libtor-sys相比,它提供了一个更友好的接口来操作。如果您需要有关如何构建或交叉编译项目的进一步说明,请参阅libtor-sys README.md

libtor使多个平台上的项目使用Tor变得更加容易,而无需依赖用户从其他外部软件配置复杂的代理设置。

示例

use libtor::{Tor, TorFlag, TorAddress, HiddenServiceVersion};

Tor::new()
    .flag(TorFlag::DataDirectory("/tmp/tor-rust".into()))
    .flag(TorFlag::SocksPort(19050))
    .flag(TorFlag::HiddenServiceDir("/tmp/tor-rust/hs-dir".into()))
    .flag(TorFlag::HiddenServiceVersion(HiddenServiceVersion::V3))
    .flag(TorFlag::HiddenServicePort(TorAddress::Port(8000), None.into()))
    .start()?;

由于Tor内部使用一些静态变量来保持其状态,请注意,您不能在每个进程中启动多个Tor实例。

支持的平台

目前支持以下平台

  • Linux(在Fedora 30和Ubuntu Xenial上进行了测试)
  • 通过NDK的Android
  • MacOS
  • iOS
  • 使用mingw从Linux交叉编译的Windows

即将推出™️

  • Windows(本地构建)

依赖关系

需要以下依赖项

  • openssl
  • pkg-config
  • file
  • “常规”C构建工具:编译器、automakeautoconf

依赖关系

~2.6–6MB
~132K SLoC