#tor #privacy #networking #http-request

bin+lib Tor_Traffic_Router

Rust 包,用于安装、管理和利用 Tor 以增强隐私的请求

6 个版本

0.3.0 2024 年 3 月 13 日
0.2.0 2024 年 3 月 3 日
0.1.4 2024 年 2 月 25 日

网络编程 中排名第 1421

Download history 88/week @ 2024-03-13 9/week @ 2024-03-20 11/week @ 2024-03-27 20/week @ 2024-04-03 13/week @ 2024-04-10 2/week @ 2024-05-15 3/week @ 2024-05-22 1/week @ 2024-05-29 2/week @ 2024-06-05

每月下载 319

MIT 许可证

1MB
204

Tor Traffic Router 🛡️

欢迎使用 Tor Traffic Router,这是一个强大的 Rust 包,旨在使将 Tor 集成到您的 Rust 应用程序尽可能无缝。该包注重隐私,确保您的网络请求通过 Tor 网络增加了一层匿名性。无论您是在开发需要保密通信的新应用,还是想为现有项目添加隐私功能,Tor Traffic Router 都能满足您的需求。

功能 🌟

  • 自动安装 Tor:无需费力即可在您的机器上安装 Tor,无论您使用的是 Windows、macOS 还是 Linux。
  • Tor 管理:易于使用的功能,可以检查是否已安装 Tor,并根据需要启动或停止 Tor 服务。
  • 增强隐私的 HTTP 请求:利用配置为通过 Tor 路由的 reqwest 库,确保您的应用程序的网络请求是私密的和安全的。
  • 灵活配置:可以直接从您的 Rust 代码中修改 Tor 配置文件,允许自定义 Tor 服务,如隐藏服务。

入门 🚀

先决条件

在深入了解 Tor Traffic Router 之前,请确保您的机器上已安装 Rust。此包与 Rust 版本 2021 兼容,并且除了 Rust 工具链之外无需任何其他设置。

安装

将 Tor Traffic Router 添加到您的 Cargo.toml

[dependencies]
Tor_Traffic_Router = "0.3.0"

基本用法

以下是一个快速示例,帮助您入门

use Tor_Traffic_Router::{config_file, is_tor_installed_unix, is_tor_installed_windows, install_tor, stop_tor, tor_proxy};
use std::env;
use reqwest::Client;
use std::error::Error;

#[tokio::main]
async fn main() -> Result<(), Box<dyn Error>> {
    // Configure Tor with a new hidden service
    let hidden_service_config = format!(
        "HiddenServiceDir {}\nHiddenServicePort 80 127.0.0.1:{}",
        env::current_dir().unwrap().to_str().unwrap(),
        8080
    );
    
    config_file("etc/tor/torrc", &hidden_service_config);

    // Ensure Tor is installed and start it
    let client = tor_proxy();

    // Make a privacy-focused request
    let res = client.get("http://check.torproject.org/api/ip").send().await?;
    println!("Response: {:?}", res.text().await?);

    stop_tor();

    Ok(())
}

文档 📖

有关每个函数和配置选项的更详细信息,请参阅代码中的内联文档。我们的 GitHub 仓库还包括额外的示例和用法场景,以帮助您无缝地将 Tor Traffic Router 集成到项目中。



/* //////////////////////////////////////////////////////////// */
/* //                                                        // */
/* //   _______ ____  _____      ____        _               // */
/* //  |__   __/ __ \|  __ \    / __ \      (_)              // */
/* //     | | | |  | | |__) |  | |  | |_ __  _  ___  _ __    // */
/* //     | | | |  | |  _  /   | |  | | '_ \| |/ _ \| '_ \   // */
/* //     | | | |__| | | \ \   | |__| | | | | | (_) | | | |  // */
/* //     |_|  \____/|_|  \_\ (_)____/|_| |_|_|\___/|_| |_|  // */
/* //                                                        // */
/* //////////////////////////////////////////////////////////// */

示例 🚧

alt text

请忽略上面的 gif 中的警告和错误,这只是代码运行的演示

Response: "{\"IsTor\":true,\"IP\":\"91.219.239.166\"}" 

贡献 ✨

贡献使开源社区成为一个如此出色的学习、灵感和创造的地方。您所做出的任何贡献都将被 高度重视。如果您有任何改进建议,请 fork 仓库并创建一个 pull request。您还可以简单地打开一个带有“增强”标签的问题。别忘了给项目点个赞!再次感谢!

许可证 📄

采用MIT许可证发布。更多信息请参阅LICENSE

致谢 🙏

  • 特别感谢Tor项目使在线隐私对每个人可及。
  • 感谢Rust社区提供了一个使安全和高效编程成为可能的环境。

加入我们的旅程,让互联网成为每个人更安全、更私密的场所。快乐编码!🎉

依赖项

~6–37MB
~582K SLoC