GSoC 2023: Network Status APIs
PROJECT GOAL
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.
PROJECT STATUS
-
Setup CI pipeline for automatic testing
-
Developed
/summary
endpoint -
Developed
/bandwidth
endpoint -
Developed
/weights
ednpoint -
Developed
/clients
endpoint -
Developed
/details
endpoint -
Setup initial integration testing for all endpoints
DEPLOYMENT AND TESTING
The greates achievement of our project thus far is the successful internal deployment of the API service. It is currently undergoing rigorous testing and performance testing to validate its functionality and reliability. This testing phase is crucial to ironing out any remaining issues and ensuring a seamless transition to the new pipeline v2.0.
WHAT’S NEXT
-
Add meta endpoints to check service health and other useful info
-
Add benchmarking tests
-
Add more integration tests
-
Work on the project’s Wiki
-
Document Network Status APIs code