Arti 0.2.0 发布,Tor 的官方 Rust 实现

匿名 Tor 网络的开发人员发布了 Arti 0.2.0 项目,该项目开发了一个用 Rust 语言编写的 Tor 客户端。 该项目处于实验性开发状态;在功能方面落后于 C 语言的主要 Tor 客户端,并且尚未准备好完全取代它。 计划在 1.0 月创建 XNUMX 版本,稳定 API、CLI 和设置,适合普通用户初次使用。 在更遥远的未来,当 Rust 代码达到可以完全取代 C 版本的水平时,开发人员打算让 Arti 成为 Tor 主要实现的地位,并停止维护 C 实现。

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

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

0.2.0 版本中最显着的变化涉及性能和可靠性的提高。 改进了仅支持 IPv6 的网络的性能。 减少存储目录服务器数据的内存消耗。 添加了 dns_port 选项,您可以使用该选项配置通过 Tor 发送 DNS 请求。 已经提出了用于处理配置的新代码。 添加了用于定义线程隔离规则和启用休眠(暂停不活动客户端的工作)的 API。 可以连接替代代码实现来使用目录服务器。

在版本 1.0.0 发布之前,开发人员打算为 Arti 提供全面支持,以作为提供互联网访问的 Tor 客户端(未来将推迟对洋葱服务的支持)。 这包括在网络性能、CPU 负载和可靠性等方面实现与主流 C 实现的同等水平,以及为所有安全相关功能提供支持。

来源: opennet.ru

添加评论