Fetching the latest programs, projects, and workspace data.
Defend yourself against tracking and surveillance.
Showing 5 of 15 projects. Click any project card for scope, mentors, and proposal studio.
Mentors: Student: Axyom
The goal of this project is to rewrite the current Java-based Tor Metrics Library in Rust. This library is a crucial component for parsing and analyzing Tor network descriptors used by various services and researchers. By reimplementing the library in Rust, we aim to improve performance, take advantage of Rust’s modern language features, and provide a more ergonomic API. This rewrite will also allow the Network Health Team (and others) to migrate some of their services to Rust. In addition to replicating current features, the new library will include some features from the DescriptorParser for exporting parsed descriptor data into formats like CSV, Parquet, or PostgreSQL tables, thereby enabling more advanced integrations and analysis capabilities.
Mentors: Student: Shivam Vats
The Tor network's anonymity guarantee depends heavily on the connectivity between relays. Partitioning in the network can significantly compromise these guarantees by limiting the possible paths available to users. During GSoC 2023, the eRPC tool was built to detect such partitions by building two-hop circuits between relays and storing the results in a Neo4j graph database, where vertices represent relay fingerprints and edges represent successful or failed circuit builds. This project aims to enhance the existing eRPC tool by developing analysis capabilities to detect, visualize, and understand network partitions. The focus will be on implementing efficient graph algorithms to identify disconnected components and communities within the Tor network. By utilizing Neo4j's Graph Data Science (GDS) library, we can apply community detection and clustering algorithms to find potential partitions in the directed graph that represents the Tor network. By the end of the project, I aim to deliver an enhanced eRPC tool with robust analysis capabilities, interactive visualizations, and comprehensive documentation. This will provide the Tor community with valuable insights into the network's connectivity patterns and help identify areas that need attention to strengthen Tor's anonymity guarantees.
Mentors: Student: Omar Gorni
My proposal involves expanding Arti's state management subcommands: hss and hsc (very limited in functionalities at the moment). These new features will be added after the completion of GSoC: a subcommand for listing keys and certificates from the configured keystores; a subcommand for listing keystores by their identifier; a subcommand for performing consistency, validity, and integrity checks on the specified stores; an arti hss destroy subcommand, for removing the persistent state and all the keys of a onion service; an arti hss destroy-and-recreate subcommand, for generating a new identity for an existing onion service; miscellaneous low-level "plumbing" subcommands, which deal with individual files from the keystore and state directories; a C Tor to Arti key migration tool, which will enable onion service operators to seamlessly migrate from C Tor to Arti; field-formatted output to be easily parseable by other programs. These objectives will be achieved mostly by extending already existing facilities, like InertTorClient and OnionService, and by creating new ones.
Mentors: Student: Rishad Baniya
Within a Tor Network, there are different computers which we term as "Relay" which creates a circuit(path) in a Tor Network, so that the user can surf the internet Anonymously. If these Relay's cannot communicate with each other, they seriously affect the Tor Network and the performance of the Network degrades, which ultimately affects the anonymity, bandwidth, latency the Tor Network aims to provide. My proposal aims to create a tool called eRPC(An efficient Relay Partition Checker), that can be used to scan for partitions among these Relays and provide an output that can be used to visualise the data further, so that the condition can be monitored properly.
Mentors: Student: Mattia Righetti
In an effort to improve current resource utilisation and optimisation, the Tor team is developing a new version of their pipeline (v2.0). This update involves transferring much of the data related to Tor nodes and bridges from files stored on a single server's disk to two separate databases: Postgres and Victoria Metrics. The main objective of this project is to design a RESTful API service using the `actix_web` framework that is going to be integrated in the new pipeline v2.0 to support data retrival from the two databases. In particular, the focus will be on designing the new APIs, its requests, and response formats. The project will also involve defining appropriate endpoints and data models, ensuring scalability, performance, and security. The final goal is to achieve a web service that is going to extend/replace the current onionoo protocol used by stakeholders interested in the status of the Tor network and its individual nodes.