Arti is our ongoing project to create a next-generation Tor client in Rust. Now we're announcing the latest release, Arti 1.4.0.8Il免费翻墙网
This release offers a new RPC interface, which is Arti's replacement for C Tor's control port with many improvements.8Il免费翻墙网
There has also been a lot of preparatory work for relay support, bugfixes, and work towards service-side onion service denial-of-service resistance.8Il免费翻墙网
For full details on what we've done, and for information about many smaller and less visible changes as well, please see the CHANGELOG.8Il免费翻墙网
For more information on using Arti, see our top-level README, and the documentation for the arti
binary.8Il免费翻墙网
With this release, we are happy to announce that our Arti website has received an extensive overhaul. This website will be used to find general information about the Arti project, such as example code, documentation, and more. A big thanks to our friends from DocumentWrite for helping us with the new website design and implementation!8Il免费翻墙网
Dedication
The Arti 1.4.0 release is dedicated to the memory of Jérémy Bobbio (1982-2024), known in our community as Lunar. Lunar was a Tor volunteer, free software hacker, and community organizer.8Il免费翻墙网
Inside Tor, Lunar will be remembered for leading the efforts around Tor's old Weekly News newsletter, but also for caring deeply about both the organization the people around the organization.8Il免费翻墙网
Outside of Tor, Lunar worked on highly successful free software projects such as the Debian project and helped build the infrastructure and tooling around the Reproducible Builds project, a project that continues to benefit the broader ecosystem.8Il免费翻墙网
Lunar will be deeply missed, both in our community and in the many other communities he participated in.8Il免费翻墙网
See also what other projects are writing about Lunar:8Il免费翻墙网
New RPC Interface
With this release, Arti's RPC interface is now ready for use.8Il免费翻墙网
Arti RPC takes the place of the control port in the C Tor implementation, with several improvements:8Il免费翻墙网
- The protocol is based on JSON, to reduce the need for custom-built parsers and encoders.
- The protocol uses a capabilities-based design to prevent applications from accidentally interfering with one another's use of Arti.
- The protocol is more explicitly extensible, with clear specifications of how clients and Arti must handle unexpected messages, parameters, and data.
- There is a specified mechanism for discovery to simplify the task of configuring applications to find and use the RPC port.
- The protocol allows multiple simultaneous requests on a single connection.
- We provide a default [client library], with C and Python wrappers, to save application developers from having to implement this logic themselves.
At present the supported functionality is limited: applications can use the RPC API to connect to Arti, check the bootstrap process, and open data streams. Coming releases will add more functionality based on developers' needs. (We already have wish-lists from Tails and Tor Browser.)8Il免费翻墙网
We hope that developers will experiment with using the API and client library so that we can use their feedback to guide priorities for the upcoming work.8Il免费翻墙网
This is a major milestone in making it easier for developers to integrate Arti in their own applications and services without directly embedding the Arti Rust library itself. We hope this will open up opportunities for external developers and allowing a growing community of privacy conscious users to benefit from the strong online protections Tor offers.8Il免费翻墙网
We do not expect to make breaking changes in the RPC API or the client library, though we will wait for a little more developer experience before we declare it officially stable.8Il免费翻墙网
Thanks to everybody who's contributed to this release, including Dimitris Apostolou, hhamud, Neel Chauhan and tidely.8Il免费翻墙网
And as always, our deep thanks to Zcash Community Grants, the Bureau of Democracy, Human Rights and Labor, and our other sponsors for funding the development of Arti!8Il免费翻墙网