... | ... | @@ -31,5 +31,33 @@ Tips: |
|
|
|
|
|
# GOOGLE SUMMER OF CODE'S PROJECTS FOR 2025
|
|
|
|
|
|
1.
|
|
|
1. Rewrite metrics-lib in Rust
|
|
|
|
|
|
Mentor: [Hiro](https://gitlab.torproject.org/hiro), [Sarthik](https://gitlab.torproject.org/sarthikg)
|
|
|
Hours required: 350 hours
|
|
|
Skills required: Rust + some Java
|
|
|
Expected outcome: A library to process Tor network documents in Rust is available
|
|
|
Difficulty: medium
|
|
|
|
|
|
Background
|
|
|
|
|
|
Tor Metrics Library is a Java library to fetch and parse Tor descriptors.
|
|
|
|
|
|
Metrics lib provides an API in JAVA allowing processing Tor network data from the [CollecTor](https://collector.torproject.org) service for statistical analysis and for building services and applications.
|
|
|
|
|
|
Proposal
|
|
|
|
|
|
The metrics pipeline is being restructured and is slowly moving away from a mostly JAVA codebase to a rust and python tool belt.
|
|
|
|
|
|
This project would involve a complete re-implementation of the Tor metrics library in Rust.
|
|
|
|
|
|
[Metrics-lib](https://metrics.torproject.org/metrics-lib.html) is a JAVA based API that is used to parse and validate Tor network documents. The rust rewrite should provide the same parsing and validation functionalities provided by metrics-lib and in addition allow exporting of the documents in some external storage, like parquet files to be saved into object storage or a table on a postgresql database.
|
|
|
|
|
|
Resources:
|
|
|
https://gitlab.torproject.org/tpo/network-health/metrics/library
|
|
|
https://metrics.torproject.org/metrics-lib.html
|
|
|
https://gitlab.torproject.org/tpo/network-health/metrics/descriptorParser/
|
|
|
https://gitlab.torproject.org/tpo/network-health/team/-/wikis/metrics/development/home
|
|
|
|
|
|
2.
|
|
|
|