Arti 的第一个 beta 版本,Rust 中的 Tor 实现

Tor 匿名网络的开发者发布了 Arti 项目的首个 beta 版本 (0.1.0)。Arti 是一个用 Rust 编写的 Tor 客户端。该项目目前仍处于实验开发阶段,功能尚不及用 C 语言编写的 Tor 主客户端,也尚未准备好完全替代它。1.0 正式版计划于 9 月发布,届时将提供更稳定的 API、CLI 和设置,适合普通用户进行初步使用。未来,当 Rust 代码达到能够完全替代 C 版本的水平时,开发者计划将 Arti 升级为 Tor 的主客户端,并停止对 C 版本的维护。

与最初被设计为 SOCKS 代理然后根据其他需求进行定制的 C 实现不同,Arti 最初以模块化可嵌入库的形式开发,可供各种应用程序使用。 此外,在开发新项目时,会考虑到所有过去的 Tor 开发经验,这将避免已知的架构问题,并使项目更加模块化和高效。 该代码根据 Apache 2.0 和 MIT 许可证分发。

用 Rust 重写 Tor 的原因是希望通过使用确保内存安全操作的语言来实现更高级别的代码安全性。 据 Tor 开发人员称,如果代码不使用“不安全”块,则该项目监控的所有漏洞中至少有一半将在 Rust 实现中消除。 Rust 还可以实现比使用 C 更快的开发速度,因为该语言的表达能力和严格的保证可以让您避免浪费时间进行双重检查和编写不必要的代码。

0.1.0 版本更新内容包括:对高级 API 进行基本稳定化,并使库达到可与其他项目进行实验性集成的状态。更新内容包括:新增用于创建 TorClient 实例的 API,支持在首次使用时于后台构建和初始化(引导)实例;以及新增用于错误处理的高级 API。

在 1.0.0 版本发布之前,开发者计划确保 Arti 完全支持作为 Tor 客户端提供互联网接入(对洋葱服务的支持将推迟到以后)。这包括在网络性能、CPU 负载和可靠性等方面达到与主 C 实现相同的水平,以及确保支持所有安全相关功能。

来源: opennet.ru