#tor #arti #privacy #networking #anonymity

arti-tor-client

作为匿名客户端连接到Tor网络的库

1个不稳定版本

0.0.0 2021年6月24日

#14 in #匿名

MIT/Apache

2MB
34K SLoC

tor-client

作为客户端访问Tor网络的高级功能。

概述

tor-client包旨在为希望使用Tor网络匿名其流量的应用程序提供安全、易于使用的API。它隐藏了大部分底层细节,让其他包决定如何具体使用tor包。

该包是Arti项目的一部分,该项目旨在用Rust实现Tor。它是Arti中最顶层的库包,几乎所有仅包含客户端的程序都应该使用它。其大部分功能由Arti中更底层的包提供。

⚠️警告⚠️

不要期望从这个代码中获得任何隐私。

Arti是一个正在开发中的项目,目前某些缺失的功能会让它远不如标准Tor实现那样私密。事实上,这些功能的缺失使Arti客户端容易受到某些已知攻击的影响,而标准Tor实现能够防御这些攻击。

目前,不要期望Arti能给你带来任何隐私。(一旦我们对隐私更有信心,我们会移除或减轻这个警告。)

不要在生产环境中使用此代码。

该包的所有API以及Arti的所有API都不稳定。如果你使用此代码,请预计你的软件会经常崩溃。

设计考虑,隐私考虑。

在构建该包的API时,我们一直追求简洁和安全:我们希望tor-client尽可能容易使用,同时尽量让某些类型的隐私或安全违规难以意外发生。

然而,隐私并不是一个即插即用的功能。即使在Tor上匿名连接,仍然有无数种方法会意外泄露信息。随着Arti的成熟,我们将在用户指南中尝试记录这些。

使用tor-client

tor-client包提供了一个异步Rust API。它与tokioasync_std异步后端兼容。

TODO:一旦crate设置API更简单,这里将提供好的示例。

功能标志

tokio -- (默认) 使用支持 Tokio 后端进行构建。

async-std -- 使用支持 async_std 后端进行构建。

experimental-api -- 使用实验性、不稳定 API 支持。请注意,这些 API 不受语义版本控制保证的覆盖:我们可能在补丁版本之间破坏它们或删除它们。

许可证:MIT 或 Apache-2.0

依赖项

~35–49MB
~825K SLoC