The Tor project has introduced an implementation in Rust, which will eventually replace the C version.

The developers of the anonymous Tor network have introduced the Arti project, which aims to create an implementation of the Tor protocol in Rust. Unlike the C implementation, which was initially designed as a SOCKS proxy and later adapted for other needs, Arti is being developed from the outset as a modular embedded library that various applications can use. The work has been ongoing for over a year with funding from the Zcash Open Major Grants (ZOMG) program. 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 utilizing a language that ensures safe memory handling. According to Tor developers, at least half of all the vulnerabilities tracked by the project will be eliminated in the Rust implementation if 'unsafe' blocks are not used in the code. Rust will also enable a faster development speed compared to using C, due to the expressiveness of the language and its strict guarantees, allowing developers to avoid redundant checks and unnecessary code. Additionally, the development of the new project takes into account all past experiences from Tor, which will help to avoid known architectural issues and make the project more modular and efficient.

In its current state, Arti can already connect to the Tor network, providing interaction with servers directories and creating anonymized connections over Tor with SOCKS-based proxy support. The development is not recommended for use in production systems yet, as not all privacy features have been implemented and backward compatibility at the API level is not guaranteed. The first version of the client that meets security criteria, supports guard nodes, and stream isolation is planned to be released in October.

In March 2022, the first beta release is expected with an experimental implementation of the embedded library and performance optimizations. The first stable release, featuring a stable API, CLI, and configuration format, along with an audit, is scheduled for mid-September 2022. This release will be suitable for initial use by regular users. An update 1.1 is expected by the end of October 2022, which will support pluggable transports and bridges to bypass censorship. Support for onion services is planned for release 1.2, while achieving parity with the C-language client is anticipated in release 2.0, with timelines yet to be determined.

In the future, developers anticipate a gradual decrease in activity related to C-language code development and an increase in time devoted to editing in Rust. When the Rust implementation reaches a level capable of replacing the C version, developers will stop adding new features to the C implementation and eventually cease support for it altogether. However, this is not expected to happen soon, and until the Rust implementation reaches the full replacement level, development of the Tor client and relay in C will continue.

Source: opennet.ru

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