Hi,
My name is Sreenatha Bhatlapenumarthi (lucyd). I am a third year computer science undergraduate at IIITH. I am interested in participating in GSoC'13 with Tor.
I've begun by submitting patches for stem tickets #7505, #8605 and #7713. I'd like to propose a new idea for a project with a blend of stem, TorBEL and pyobfsproxy. I've split the project into 3 modules.
1. Fix stem bugs and add new features if possible
Although I can't think of any new functionality to add to stem(other than what Damian suggested) at this point of time, there are some bugs that need to be fixed. I went through the tracker and picked some stem-related bugs I'd like to fix as a part of the project. Please feel free to suggest new bugs or let me know if you think any these are of low priority and don't need to be included in the project.
- #7910 (Port some of arm's connection utilities to stem) - #8255 - #8248 - #8249
2. Migrate TorBEL to Stem [0]
This will involve porting TorBEL from TorCtl to Stem and making modifications to the stem API if necessary. Hopefully after fixing the bugs mentioned above, I'd have a better understanding of how stem works and I'd be able to do a better job.
3. Implement HTTP pluggable transport for pyobfsproxy
I can think of two ways of doing this
- Develop an actual pluggable transport for obfsproxy to impersonate HTTP traffic. I've looked at obfs2's protocol-spec and its python implementation and I think this would involve writing a separate module implementing the transport with a template similar to that of DummyTransport[1]. - Use a browser engine like webkit on client-side and a web server on the server-side as mentioned at ticket #8676[2].
Here are a couple of questions I have regarding the project:
- What are the priorities of the modules I've proposed? - Do you think the project has enough scope and material for a SoC project? If not, can you please suggest some more features to add? - If the project seems overloaded, which module(s) do you suggest I drop?
I would love to hear your opinions on these matters. If there's something you want me to take a look at or study, please do let me know. Thank you for your time.
[0] - https://trac.torproject.org/projects/tor/ticket/8263 [1] - https://github.com/lucyd/obfsproxy/blob/master/obfsproxy/transports/dummy.py [2] - https://trac.torproject.org/projects/tor/ticket/8676
Cheers, Sreenatha