Tor Project: Snowflake Proxy on Android

Hey everyone! I am Hashik Donthineni. I am a GSoC 2020 student, and I will be working on “Tor Project: Snowflake Proxy on Android.” with the help of my mentors @cohosh @phw.

This will be the running topic where I share my weekly updates (blog).

I am super excited to start working with Tor Project!

1 Like

Week 1 of Community Bonding Period

This week has been fantastic! We got on the video call with my amazing mentors @cohosh @phw. Although Phillip had some technical issues joining, he tried his best. But, it’s okay Cohosh got Phillip covered. Cohosh explained to me how things workaround in the organization.

My mentors and community made things easy for me,

  1. There is an issue with the timezone standup meetings held very late at night in my time, so the Tor community is planning to change their schedule to make timings comfortable to people in Asia.

  2. Tor Project uses GitWeb and Trac, which I am very unfamiliar with, I am used to GitHub and PR’s; But not these platforms, Cohosh came to my rescue, she helped me set up my accounts, permissions. To show me the workflow, she told me to create a ticket on track and how to make a patch. In about an hour of the session with Cohosh, I got familiar with these platforms.

  3. I attended my first weekly meeting; I was nervous. I just went there to lurk and see how things go on in the organization; Cohosh encouraged me to attend the meeting. The community is very welcoming. They told me to send a mail on the mailing list introducing myself to all the team. They are amazing!

I am excited about another great week with the Tor team ahead of me!!


Week 2 of Community Bonding Period

Snowflake uses WebRTC to connect to client using broker as the signaling server. This week has been all about the WebRTC library on Android. I learned how to compile my own WebRTC library for Android. All the libraries readily available are either deprecated/out of date and precompiled Gradle updated versions of the WebRTC are not suited for Android.

I learned to compile and followed the instructions from Google’s official WebRTC documentation. Tested this with local WebRTC connection to send and receive messages.

The lack of documentation for WebRTC Android in Java in a major slow down for me. Although the documentations are in JavaScript I am managing to understand and implement them into Java and Android.

1 Like

Week 3 of Community Bonding Period

This week I had a standup with @phw @cohosh to discuss the plan and the approach towards the project. And I split the tasks into tickets and divided the tasks and placed them into a weekly schedule. I will include all the plans and tickets into the Tor wiki page at Snowflake proxy on Android.