GSoC/GCI Archive
Google Summer of Code 2009

The Electronic Frontier Foundation/The Tor Project

Web Page:

Mailing List:

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 is a joint application together with The Tor Project (, 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 1Gbps of traffic. There are seven full-time Tor developers, plus several dozen other volunteers who help out on a daily basis.


  • GSOC2k9@TOR: TorButton Feature Fulfillment I would like to work on the TorButton Firefox Extension. There are many feature requests, but I plan to focus on three of them. According to Google Summer of Code, I have ten weeks to complete my project. My plan is to spend three weeks on each feature request, leaving the last week for cleaning up code, finalizing documentation, and tying up any other loose ends. If I end up ahead of schedule, I will either work on adding another feature or I will work on fixing reported bugs.
  • Polipo Portability Enhancements Adapting Polipo to depend upon the libevent library, making use of its event loop, asynchronous DNS resolver and utility library, will allow us to simplify Polipo, while increasing maintainability and portability in the process. Polipo's behavior on Windows should be improved by adding support for the Windows registry to learn key path names, and by adding a launcher to run in the systray, providing the user with options to control the server.
  • Translation wiki for the Tor website The Tor project uses wml for the website and Pootle to handle translations for various projects like Torbutton and Vidalia. To make it easier for translators, translating the website should be possible via Pootle. I intend to use the po4a framework to convert the wml files to po files (and back) so that they can be handled by Pootle.
  • Using Bittorrent for Content Distribution in Thandy Thandy is the secure software updater developed by the Tor project to assist users with keeping their Tor related software up to date. I intend to resolve one of the issues that prevent deployment as of now, which is the content distribution issue. To achieve this goal, I will include libtorrent in Thandy; as well as set up a Tracker with the ability to learn about new Thandy packages.
  • GUI for Switzerland Create a GUI for Switzerland. This would be a new feature of Switzerland which could focus renewed attention on the project. The GUI would be used to launch the various tests in the Switzerland tool and view the results. It could also be used to view aggregated results over time.