Tor Project's internship sponsored by Google Summer of Code

by gaba | March 6, 2025

The Tor Project is excited to once again participate in Google Summer of Code, an annual program that connects new contributors with open-source projects through funded internships. Sponsored by Google, GSoC provides an opportunity for students and newcomers to gain hands-on experience while helping maintain and improve critical open-source software like Tor.

For the Tor community, participating in GSoC is invaluable: it brings new contributors into our ecosystem, strengthens the broader open-source movement, and ensures mentorship opportunities for those interested in privacy and anonymity tools. The program removes financial barriers for participants by offering stipends, making it easier for people worldwide to contribute.

Between now and March 23rd, we welcome questions from prospective applicants about Tor and the projects ideas we prepared. If you're interested, please reach out to gsoc at torproject dot org for any questions or comments. Applications will be open from March 24th to April 8th 2025.

Projects for GSoC 2025:

This year, we’re participating with three projects that focus on improving Tor metrics, expanding support for onion services, and optimizing network connectivity. These projects directly contribute to strengthening Tor’s security, reliability, and usability—key aspects of maintaining an open and censorship-resistant internet.

Rewrite metrics-lib in Rust

Tor Metrics Library is a Java library that fetches and parses Tor descriptors. It provides a Java API for processing Tor network data from the CollecTor service for statistical analysis and for building services and applications.

This project would involve a complete re-implementation of the Tor metrics library in Rust.

Onion Service Support Tooling for Arti

Arti has two state management subcommands, arti hss and arti hsc, for managing the state of onion services and onion service clients, respectively. These commands are currently very limited in functionality, and do not support many of the features onion service clients and operators will require.

This project is about contributing to the tooling onion service clients and operators will need for managing the on-disk state and keys of their Arti onion services. It will involve extending the existing state management commands, as well as potentially adding new ones, and contributing to Arti's APIs and documentation.

Relay to relay connectivity in the Tor network

This project would involve updating and optimizing erpc to keep our dataset manageable. Additionally, it needs research into which algorithms are most suitable to find partitions in the Tor network. Since the network is currently stored as a directed graph, we can apply community detection and clustering algorithms. Neo4j already offers several clustering algorithms within its Graph Data Science library.

GSoC is an excellent opportunity to contribute to privacy-preserving technology while gaining real-world experience in open-source development. Whether you’re passionate about internet freedom, decentralized networks, or privacy tools, we encourage you to apply and help shape the future of Tor. We look forward to welcoming a new generation of contributors to our community!

Comments

We encourage respectful, on-topic comments. Comments that violate our Code of Conduct will be deleted. Off-topic comments may be deleted at the discretion of the moderators. Please do not comment as a way to receive support or to report bugs on a post unrelated to a release. If you are looking for support, please see our FAQ, user support forum or ways to get in touch with us.