Re: [tor-dev] GSoC 2022 - Tor Weather: Improving the Tor Network

[Status Update for the Project] - Week-5 & Week-6


  1. Writing Scripts
    a. Modified scripts for NodeDownSub & NodeBandwidthSub to accomodate a better way of handling the trigger times.
    b. Added scripts for NodeFlagSub for Exit, Fast, Guard, Stable, Valid flags.
    c. Uniformed the structure for the scripts to handle similar named columns.

  2. Web-Frontend
    a. Continued working on mock designs
    b. Started developing the jinja templates for the frontend consumption

  3. Miscellaneous
    a. Broke down the NodeFlagSub into individual tables to ease out the addition for further flags.
    b. Fixed the issue with the clearing of tables when starting the development server.
    c. Reorganised the files & directories.


  1. Web-Frontend
    a. Continue working on the Jinja templates for the web frontend including the styling.

  2. Web-Backend
    a. Started working on the flask backend for handling customizations in the UI

Updates for the Project will also be made available on the Project Wiki - Week 5 & Week 6 · Wiki · sarthikg / Tor-Weather · GitLab (

Thanks & Regards,
Sarthik Gupta


On Wed, Jul 13, 2022 at 11:02 PM Sarthik Gupta <> wrote:

[Status Update for the Project] - Week-3 & Week-4


  1. Created Mock Server
    a. Created mock-server for mocking the response from Onionoo.
    b. Created interfaces for the response.
    c. Introduced utility functions like camelCaseRecursive, readJson, etc.
    d. Created mock-data for the database when running in dev environments
    e. Setup the mock-data population when running the app.

  2. Writing Scripts
    a. Architecture the pattern for writing scripts, fetching data, sending emails, etc.
    b. Created classes representing Onionoo, Relay, Subscription.
    c. Developed scripts for NodeDownSub, NodeBandwidthSub.


  1. Developing the Scripts
    a. The development of scripts is in progress for other subscriptions.
    b. Having a pattern in place makes it easy to develop new scripts.

  2. Initiated the Web-Frontend
    a. Started creating mocks for the web-frontend, this includes mocking designs for the frontend using tor design guidelines.

Updates for the Project will also be made available on the Project Wiki - Week 3 & Week 4 · Wiki · sarthikg / Tor-Weather · GitLab (

Thanks & Regards,
Sarthik Gupta

On Sun, Jul 3, 2022 at 2:05 PM Sarthik Gupta <> wrote:

[Status Update for the Project] - Week-1 & Week-2


  1. Initialized the Repository:
    a. Used pipenv for managing packages & virtual environments.
    b. Added & configured linters, formatters & other tools.
    c. Created few pre-commit hooks for automating trivial tasks.
    d. Configured dev & prod environments with config file.
    e. Setup a few branch policies on GitLab.

  2. Initiated the Flask App:
    a. Created a shared SMTP package with few utility methods for sending emails.
    b. Configured the process of injecting data in dynamic email templates.
    c. Configured the database connections with the project.
    d. Added models for the tables to be created at startup if does not exist already.


  1. Initiated the development of scripts for fetching data from Onionoo.
  2. Started developing queries for fetching data from the tables including interfaces for each of the responses.

Updates for the Project will also be made available on the Project Wiki - Week 1 & Week 2 · Wiki · sarthikg / Tor-Weather · GitLab (

Thanks & Regards,
Sarthik Gupta

On Fri, May 27, 2022 at 2:03 AM Sarthik Gupta <> wrote:

Hello everyone,

I’m Sarthik Gupta (irc: sarthikg), a recent grad from Punjab Engineering College, Chandigarh & currently working as a Software Engineer at Soroco. This summer, I’ll be working on GSoC Project: “Tor Weather: Improving the Tor Network” with my mentors GeKo & Silvia. I’m extremely excited to be a part of Tor and am interested in working on this project!

Briefing about the project: As of now, if any relay disappears from the tor-network, no one will know. This causes the network to lose out on bandwidth from nodes which have been down for hours because no-one knew they were down. Tor-Weather aims at solving this by creating a notification service which relay operators can subscribe to in order to get various types of updates for their relays.

The tor-weather service will offer a plethora of notifications options for the relays. These include, the node being down, running on EOL/Outdated version, losing a flag, ranking in top 20/50/100, etc. These notifications can be subscribed & customised by the relay operators to fit their needs using a web-frontend.

A detailed proposal for this project is available at: I plan to keep this wiki updated with the progress & design decisions taken throughout the development of the project.

Suggestions are always welcomed! Please reach out to us in irc (#tor-dev) for any ideas, questions, or suggestions you might have.


Sarthik Gupta