Hi everyone,
I am a computer science student at undergrad level, would love to contribute to Tor, currently in the process of drafting the proposal.
This mail is an effort to seek guidance to define scope, goals and timeline more clearly.
Currently interested in two ideas and plan to submit only one of these based on feedback and guidance from mentors.
idea #1 Extending and Improving Krotor.
This is continuation of my last year GSoC project in which libevent and Tor were ported to NaCl (a C/C++ sandbox environment on chrome), full detail can be seen at https://deepankar.io/gsoc and https://deepankar.io/krotor. It was later published on webstore and currently has close to 13k active users.
A lot of improvement can be made to this project, viz supporting obfuscation, making it more user friendly, adding support for configuring exit gates etc, updating it to latest stable release.
I would greatly appreciate any guidance on various matters for instance: making it more resistant to any privacy leaks such as dns leaks on webrtc and on windows due to no global policy of dns etc.
I would be very grateful if anyone is willing to mentor for this.
idea #2 Exitmap Improvements
I got stuck when defining timeline for this project. I would appreciate any insights regarding what should be deliverable by mid-term of GSoC.
Also this project will a involve lot of brainstorming, preferably with mentor, is there a possibility of weekly/every two weeks session for an hour or half hour with mentor on hangout/skype etc (at least in the beginning)
What would be preferred means to get/see progress reports and preferred frequency of the same.
Some hyperlinks: Github https://github.com/codebuff || LinkedIn https://www.linkedin.com/in/codebuff || KroTor https://deepankar.io/krotor
Best Regards.
*Deepankar Tyagi* *Projects & Resume : deepankar.io https://deepankar.io*
On Tue, Mar 08, 2016 at 11:35:03AM +0530, Deepankar Tyagi wrote:
idea #2 Exitmap Improvements
I got stuck when defining timeline for this project. I would appreciate any insights regarding what should be deliverable by mid-term of GSoC.
Also this project will a involve lot of brainstorming, preferably with mentor, is there a possibility of weekly/every two weeks session for an hour or half hour with mentor on hangout/skype etc (at least in the beginning)
I would be mentoring the exitmap project. I'm fine with spending one to two hours a week, but preferably with discussions in the #tor-dev IRC channel. I'm not a big fan of voice calls, in particular if it involves proprietary technology.
What would be preferred means to get/see progress reports and preferred frequency of the same.
Many of our past students sent their progress reports to the tor-dev mailing list. I like that because it gives your work exposure, and many people are able to give feedback. Weekly or bi-weekly reports sound reasonable to me.
Cheers, Philipp
Thanks for the response,
On Mar 8, 2016 9:31 PM, "Philipp Winter" phw@nymity.ch wrote:
On Tue, Mar 08, 2016 at 11:35:03AM +0530, Deepankar Tyagi wrote:
idea #2 Exitmap Improvements
I got stuck when defining timeline for this project. I would appreciate any insights regarding what should be deliverable by mid-term of GSoC.
I would be very grateful if you could also give any insight regarding your expectations by gsoc midterm.
Also this project will a involve lot of brainstorming, preferably with mentor, is there a possibility of weekly/every two weeks session for an hour or half hour with mentor on hangout/skype etc (at least in the beginning)
I would be mentoring the exitmap project. I'm fine with spending one to two hours a week, but preferably with discussions in the #tor-dev IRC channel. I'm not a big fan of voice calls, in particular if it involves proprietary technology.
What would be preferred means to get/see progress reports and preferred frequency of the same.
Many of our past students sent their progress reports to the tor-dev mailing list. I like that because it gives your work exposure, and many people are able to give feedback. Weekly or bi-weekly reports sound reasonable to me.
Sure I will mention in proposal about this way of submitting progress reports.
Cheers, Philipp
Also inviting comments from list subscribers about first part of the mail.
On Tue, Mar 08, 2016 at 10:18:20PM +0530, Deepankar Tyagi wrote:
On Mar 8, 2016 9:31 PM, "Philipp Winter" phw@nymity.ch wrote:
On Tue, Mar 08, 2016 at 11:35:03AM +0530, Deepankar Tyagi wrote:
idea #2 Exitmap Improvements
I got stuck when defining timeline for this project. I would appreciate any insights regarding what should be deliverable by mid-term of GSoC.
I would be very grateful if you could also give any insight regarding your expectations by gsoc midterm.
The particular deliverables will depend on the tasks you want to tackle, but I would really like to see running code for continuous scanning: https://github.com/NullHypothesis/exitmap/issues/7
For now, that's the most interesting and important outstanding issue.
Cheers, Philipp
Hi,
Thanks for the help so far. Based on the feedback and guidance here is a rough timeline. Few queries are also included, seeking help to resolve them also.
April 22 - May 22: Grok the papers mentioned at http://www.cs.kau.se/philwint/spoiled_onions/ Get more in depth understanding of tor design (relays, directory descriptors etc)
May 22 - June 21: Make Exitmap fully autonomous ( https://github.com/NullHypothesis/exitmap/issues/7)
June 22 - July 15: Create module(s) which emulate a user and explore the web dynamically.
July 15 - August 15: Write unit tests and if time permits, work on extended goals.
Extended goals: #1 create a module which does anomaly detection(machine learning) #2 write behavioral and integration tests.
Would be grateful for any feedback on this.
Queries: #1 In bin/exitmap "#!/usr/bin/env python" is used instead of specifying python2 or python3, Can I assume that code currently contains nothing which makes it biased towards one python version or the other. If yes then should one keep python2 in mind when developing ? #2 As per the list subscribers' opinion, should the unit test be written after implementing core functionality only or is it better to write test alongside after each iteration of finishing parts of task? (in context of exitmap). #3 Should one aspire for as much less dependency on external libraries (other than stem) or if no then should one follow a rubrik when selecting a library ?
Best Regards.
*Deepankar Tyagi* *Projects & Resume : deepankar.io https://deepankar.io*
On Wed, Mar 9, 2016 at 5:06 AM, Philipp Winter phw@nymity.ch wrote:
On Tue, Mar 08, 2016 at 10:18:20PM +0530, Deepankar Tyagi wrote:
On Mar 8, 2016 9:31 PM, "Philipp Winter" phw@nymity.ch wrote:
On Tue, Mar 08, 2016 at 11:35:03AM +0530, Deepankar Tyagi wrote:
idea #2 Exitmap Improvements
I got stuck when defining timeline for this project. I would appreciate any insights regarding what should be deliverable
by
mid-term of GSoC.
I would be very grateful if you could also give any insight regarding
your
expectations by gsoc midterm.
The particular deliverables will depend on the tasks you want to tackle, but I would really like to see running code for continuous scanning: https://github.com/NullHypothesis/exitmap/issues/7
For now, that's the most interesting and important outstanding issue.
Cheers, Philipp
On Mon, Mar 14, 2016 at 12:06:20PM +0530, Deepankar Tyagi wrote:
Extended goals: #1 create a module which does anomaly detection(machine learning)
Unless you have a very specific plan, I would advise against this. Sound applications of machine learning are time-consuming, and Tor's setting is particularly difficult to tackle as a large fraction of a relay's information (e.g., nicknames, port numbers, bandwidth values) are controlled by an adversary.
#2 write behavioral and integration tests.
Sounds great. I would also really like exitmap to be Python 3-compatible.
#1 In bin/exitmap "#!/usr/bin/env python" is used instead of specifying python2 or python3, Can I assume that code currently contains nothing which makes it biased towards one python version or the other. If yes then should one keep python2 in mind when developing ?
For now, exitmap only supports Python 2 although there's probably not much that prevents it from being Python 3-compatible.
This assumption should be made explicit, so I replaced all "#!/usr/bin/env python" lines with "#!/usr/bin/env python2" in commit a4dccea. Thanks for pointing this out.
#2 As per the list subscribers' opinion, should the unit test be written after implementing core functionality only or is it better to write test alongside after each iteration of finishing parts of task? (in context of exitmap).
Personally, I don't feel strongly either way as long as they are written.
#3 Should one aspire for as much less dependency on external libraries (other than stem) or if no then should one follow a rubrik when selecting a library ?
I think we can decide case by case if we want to rely on a new library.
Cheers, Philipp
On 3/14/16, Deepankar Tyagi deepankar.tyagi@st.niituniversity.in wrote:
Make Exitmap fully autonomous ( https://github.com/NullHypothesis/exitmap/issues/7) Create module(s) which emulate a user and explore the web dynamically.
As these operating architectures are posted here I'll at least read over them. I've did a chunk of the logic already in local tools years ago... 24x7, parallelism, updates, alexa, etc... though sloppily in a different language. Exitmap has more potential. To the point, the ideas and goals posted here by people for exitmap sound good and useful so far!
Hi everyone,
Once again thanks for the help so far, I just submitted the proposal on GSoC website.
Inviting comments and feedback on the same.
Also attaching a pdf copy of the same.
Best Regards.
*Deepankar Tyagi* *Projects & Resume : deepankar.io https://deepankar.io*
On Tue, Mar 15, 2016 at 12:43 AM, grarpamp grarpamp@gmail.com wrote:
On 3/14/16, Deepankar Tyagi deepankar.tyagi@st.niituniversity.in wrote:
Make Exitmap fully autonomous ( https://github.com/NullHypothesis/exitmap/issues/7) Create module(s) which emulate a user and explore the web dynamically.
As these operating architectures are posted here I'll at least read over them. I've did a chunk of the logic already in local tools years ago... 24x7, parallelism, updates, alexa, etc... though sloppily in a different language. Exitmap has more potential. To the point, the ideas and goals posted here by people for exitmap sound good and useful so far!