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