Hey tor-dev,
I'm a third year Computer Science student interested in doing the Censorship Analyzer project this summer. I just found out about the Summer of Privacy program so I'll do my best to be on time.
I find the project very exciting as it can potentially help the TorProject and its users in a big way, specially if we can receive feedback from the tests. I've done a first read of the Censorship Analyzer paper and I'm currently working on the proposal, I expect to submit by tomorrow.
As far as coding goes, I played a bit with OONI (did a scan, turns out I'm clean :-) ). and built it from source. What bugs to you recommend to work on as a start? Ideally I can write a patch before the submission is due to attest my skills.
Let me know if you have any suggestion or advice on pursuing this project.
Best, Miquel
On Tue, Apr 14, 2015 at 11:56:12AM +0200, Miquel Llobet wrote:
As far as coding goes, I played a bit with OONI (did a scan, turns out I'm clean :-) ). and built it from source. What bugs to you recommend to work on as a start? Ideally I can write a patch before the submission is due to attest my skills.
Let me know if you have any suggestion or advice on pursuing this project.
Hi Miquel,
Cool, thanks for your interest!
You could find an interesting bug under the "OONI" component [0]. I'm also copying Arturo, OONI's maintainer, who might have a better tip.
Also, do you have some experience with asynchronous programming in general, and Twisted in particular? I'm asking because several students have tried to work on this project in the past and nobody has delivered much code so far. I think that many had issues with learning asynchronous programming and getting familiar with OONI's code base.
Cheers, Philipp
On Wed, Apr 15, 2015 at 6:01 PM, Philipp Winter phw@nymity.ch wrote:
You could find an interesting bug under the "OONI" component [0]. I'm also copying Arturo, OONI's maintainer, who might have a better tip.
Great thanks, I'll pick something from the list, hopefully Arturo can offer some guidance.
Also, do you have some experience with asynchronous programming in
general, and Twisted in particular?
I have learned the fundamentals at school and done a bit of work with node.js so I'm familiar with the principles. As far as Twisted goes I did part of this [0] tutorial before and learned a lot, I was looking for some project to put it in practice, that's also why OONI caught my attention.
[0] http://krondo.com/?page_id=1327
Miquel Llobet
On April 15, 2015 at 6:01:15 PM, Philipp Winter (phw@nymity.ch(mailto:phw@nymity.ch)) wrote:
On Tue, Apr 14, 2015 at 11:56:12AM +0200, Miquel Llobet wrote:
As far as coding goes, I played a bit with OONI (did a scan, turns out I'm clean :-) ). and built it from source. What bugs to you recommend to work on as a start? Ideally I can write a patch before the submission is due to attest my skills.
Let me know if you have any suggestion or advice on pursuing this project.
Hi Miguel,
Thanks for your interest in OONI!
To have a brids-eye view of all the OONI tickets the link Philip gave you is indeed the best.
Let me also highlight some things that would need to be done that have not yet made their way into trac (mea culpa):
It would be good to have a Tor test that specifically checks for reachability, via a TCP Connect scan, of:
1) Tor Directory authorities
2) Tor relays
We are contributing to the citizenlab test-lists (https://github.com/citizenlab/test-lists(https://github.com/citizenlab/test-...) to add support for new input lists we would like to scan.
In particular you should look at my feature/services pull request: https://github.com/citizenlab/test-lists/pull/9 and the ticket on that repository that describes the motivation behind it: https://github.com/citizenlab/test-lists/issues/6
What in particular would need to be done is:
* Implement 2 new services called tor/directory_authorities and tor/relays. As an example you can see how I implemented the services/tor/bridges here: https://github.com/hellais/test-lists/blob/feature/services/lib/lists/servic...
* Implement a new ooni-probe test that will:
1) To a TCP connect scan to the Tor Directory autorities AND/OR Tor relays. See the tcp_connect test to see how this can be done: https://gitweb.torproject.org/ooni-probe.git/tree/ooni/nettests/blocking/tcp...
2) Do a full Tor connection by running the actual Tor binary. See the bridge reachability test to see how this can be done: https://gitweb.torproject.org/ooni-probe.git/tree/ooni/nettests/blocking/bri...
That said I would say the first thing you do is open some tickets to do the above mentioned tasks.
For the ooni-probe test please file that as a child ticket of this ticket: https://trac.torproject.org/projects/tor/ticket/15170
Also, do you have some experience with asynchronous programming in general, and Twisted in particular? I'm asking because several students have tried to work on this project in the past and nobody has delivered much code so far. I think that many had issues with learning asynchronous programming and getting familiar with OONI's code base.
I agree with philip that it would be ideal if you had experience with Twisted and async programming, though I think that for some of the above mentioned tasks that is not a must.
I am always very happy to help you out and discuss ideas more synchronously on either jabber: hellais@jabber.ccc.de(mailto:hellais@jabber.ccc.de) or IRC: #ooni irc.oftc.net(http://irc.oftc.net).
Have fun!
~ Arturo