The developers of the anonymous network Tor published the project arti 1.1.0 , developing a Tor client written in the Rust language. Branch 1.x is noted as suitable for users and provides the same level of confidentiality, usability and stability as the main implementation in SI. Code spreads under the licenses of Apache 2.0 and Mit.
In contrast to the implementation on SI, which was first designed as SOCKS-Proxy, and only then fitted for other needs, Arti is originally developing in the form of a modular built-in library that various applications can use. In addition, the development of a new project takes into account the entire past experience in developing Tor, which avoids well -known architectural problems, make the project more modular and effective.
The reason for the rewriting of Tor on Rust mentions the desire to achieve a higher level of security of the code by using a language that ensures safe work with memory. According to Tor developers, at least half of all vulnerabilities tracked by the project will be excluded in RUST if the “UNSAFE” blocks are not used in the code. Rust will also make it possible to achieve a higher development rate than when using SI, due to the expressiveness of the language and strict guarantees that allow you not to waste time on double checks and writing extra code.
In version 1.1 implemented поддержка бриджей для обхода блокировок и connected transport . Of the traffic tests tested with ARTI and the fight against locks, Snowflake . The requirements for the assembly environment are increased – at least the Rust 1.60 branch is required to assemble Arti
The next version (1.2) is expected to support the onion services and related features, such as the Overload Management Protocol and DDOS attacks. Achieving parity with a client in the SI language is planned in a branch 2.0, which will also be offered to use Arti in the code in various programming languages. Over the next few years, work will be aimed at implementing the functionality necessary for the work of relay and directories of directory. When the code on Rust reaches a level that can completely replace the option for SI, the developers intend to give Arti the status of the main implementation of Tor and stop supporting the implementation on SI. Supporting the version in the language will be stopped gradually with the provision of the possibility of smooth migration.