First beta release of Arti, a Tor implementation in Rust

The developers of the Tor anonymous network have released the first beta version (0.1.0) of the Arti project, which is developing a Tor client written in Rust. The project is in an experimental development status, is behind in functionality compared to the main Tor client written in C, and is not yet ready to fully replace it. A version 1.0 is planned for September, which will stabilize the API, CLI, and settings, making it suitable for initial use by regular users. In the more distant future, when the Rust code reaches a level capable of completely replacing the C version, the developers intend to give Arti the status of the main implementation of Tor and discontinue support for the C implementation.

Unlike the C implementation, which was initially designed as a SOCKS proxy and then adapted to other needs, Arti is being developed from the start as a modular embeddable library that various applications can use. Additionally, the development of the new project takes into account all past experiences in Tor development, which will help avoid known architectural problems and make the project more modular and efficient. The code is distributed under the Apache 2.0 and MIT licenses.

The reasons for rewriting Tor in Rust include the desire to achieve a higher level of code security by using a language that ensures safe memory operations. According to the developers of Tor, at least half of all vulnerabilities tracked by the project will be eliminated in the Rust implementation, provided that 'unsafe' blocks are not used in the code. Rust will also enable a higher speed of development compared to using C, due to the expressiveness of the language and strict guarantees that allow avoiding double checks and unnecessary code.

Changes in version 0.1.0 include basic stabilization of the high-level API and preparing the library for experimental integration with other projects. Notably, an API is added for creating instances of TorClient, including the option for background assembly and initialization (bootstrap) upon first use. Additionally, a new high-level API for error handling has been introduced.

Before the release of version 1.0.0, the developers intend to ensure full support in Arti for functioning as a Tor client, providing access to the internet (the implementation of onion service support has been postponed for the future). They also plan to achieve parity with the main implementation in C in areas such as network performance, CPU load, and reliability, while ensuring support for all security-related features.

Source: opennet.ru

Buy reliable website hosting with DDoS protection, VPS VDS servers 🔥 Buy reliable website hosting with DDoS protection, VPS VDS servers | ProHoster