GSoC/GCI Archive
Google Summer of Code 2014

The Tor Project and EFF

License: New and Simplified BSD licenses

Web Page:

Mailing List: ​

The Tor Project is a free-software non-profit project to build an anonymity toolkit used by individuals, companies, governments, and law enforcement around the world. The Tor network has grown since its start in 2002 to several hundred thousand active users pushing over 17 Gbps of traffic. The Tor Project has a staff of 28 developers, researchers, and advocates, plus several dozen volunteers who help out on a daily basis. The Electronic Frontier Foundation (EFF), founded in 1990, works in the public interest to protect fundamental civil liberties in the digital age. The Internet and other communication technologies can herald the most liberating era of human history---or the most regulated and controlled. The EFF works to defend our basic rights to free speech, privacy and free and open communications, and advocates for sane policies on digital copyright, software patents and electronic voting. EFF is a membership supported organization with 29 full-time staff. This proposal is a combined submission from EFF and Tor.


  • A Framework for Website Fingerprinting Countermeasures I would like to work in a framework that provides the basis for the further development of a Website Fingerprinting countermeasure. Despite the relevance of website fingerprinting attacks and the existence of some possible countermeasures, there is no implementation in Tor yet. The goal would be to prototype a countermeasure in a Pluggable Transport that would provide the primitives for the development of more sophisticated protocols.
  • A secure ruleset update mechanism for HTTPSEverywhere An idea of this project is to equip HTTPSEverywhere with a mechanism to fetch and apply updates to rulesets would greatly improve the speed at which updates to rulesets can be distributed. HTTPSEverywhere is one of few addons that I feel I absolutely must have installed on any browser I use for the security it adds to the browser. I would like to now take the opportunity to contribute to this astounding tool to help to make it easier for ruleset creators to keep it updated and the web secure.
  • - Search Engine for Hidden Services I would like to develop - search engine for hidden services. It needs a lot love and care. I have founded, developed and maintained and would like to continue doing so. I have published the source code of
  • Building a pluggable transport combiner I want to work on building the pluggable transport combiner. It will enable Tor to enhance censorship circumvention by making pluggable transports harder to detect and block.
  • Orbot & Orfox I want to work on Orbot and Orfox this summer. Orbot is already well established but requires some UI changes to show more information about the tor connection. Orfox is a new idea, the aim is to implement a complete browser based on GeckoView which has been built by Mozilla. This would hopefully replace the current Orweb browser as the default browser that works with Orbot.
  • Revamp GetTor GetTor has a huge impact on avoiding censorship, and therefore it could be expanded to do a lot more of what it does now. I propose a redesign of the current code, oriented to modules, which the users can access via common services and get the required info. The idea is that this new design will allow the implementation of new modules in the future.
  • Rewrite Tor Weather Tor Weather provides an email notification service to any user who wants to monitor the status of a Tor node. It's codebase is pretty much unmaintained these days. The first part of this project would be to simplify the code by fetching Tor network status data from Onionoo rather than running a local tor client and listening for consensus events. The second part would involve cleaning up of the codebase by making it more compact and closing some of the open tickets.
  • Tor daemon optimization I would like to be part of your project because it's making internet free and I can make your code more efficient. I have an experience in writing efficient heterogeneous code. I have experience in java.concurent, gpu and open mp. Also I know basics of cryptography.
  • Tor: Implement consensus diffs I would like to work on implementing consensus diffs for Tor, an increasingly important issue as consensus files (even when compressed) are starting to get too big to be used regularly. As described in proposal 140, I will be using an ed-like format to describe differences between consensus.