[tor-dev] Let's come up with the roadmap for the future of OONI

Arturo Filastò art at torproject.org
Tue Feb 10 14:50:33 UTC 2015


Hello Oonitarians and Divisionists,

I would love to have your feedback on what you believe to be the most
important topics for the future of OONI.

I have made a list of what I believe are all possible and interesting
tasks to perform, but we can't do them all and for sure we can't do them
all at once.

For this reason it would be very useful if you could express a vote from
1-5:

1: Nah, this is boring and pointless
2: Not really super important, I would give priority to other stuff
3: Useful, I would do it
4: This would be awesome
5: Epic!

Feel free to also expand these topics with questions and feedback (or
new ones). At the end of the list I will give you a table to cast your vote.


# Get daily OONI measurements from 50 countries

This means focusing on getting a large and diverse reliable OONI
userbase. It
does not simply mean to get at least 1 measurement in 50 countries, but
it means
either establishing relationships with trusted parties in 50 countries, or
expanding our userbase to a point where we have at least 1 measurement
per day
for every test per country (from the same network).

Ways of achieving this are:

  * Rent a VPS in X number of countries
  * Running the adopt an ooniprobe program (see below for more details)
  * Establish an agreement with operators in 50 countries to host the
probing
    infrastructure (as previously stated)

# Develop OONI tests for censorship circumvention tools

This involves devising a methodology for testing the reliability of
censorship
circumvention tools in various countries.
It means testing censorship circumvention tool both open
source and propertairy.

A cursory list of the protocols/tools we could be interested includes,
but is
not limited to:

* Tor
* VPN
* Web proxies (hidemyass, etc.)
* SSH tunnel
* Freegate
* Psiphon
* Ultrasurf
* alkasir

If you think we should be testing some other tools too, please add to
this list.

Useful resources:
http://cyber.law.harvard.edu/publications/2011/2011_Circumvention_Tool_Evaluation
http://cyber.law.harvard.edu/publications/2010/Circumvention_Tool_Usage


# Develop scheme for orchestrating ooni-probes

This means coming up with a protocol that allows an OONI test developer to
schedule a measurement to be run with a certain input they decide on a
set of
probes in country X.

Obviously security considerations need to be taken into account and
access will
be in the initial stage only limited to a very restricted set of OONI
developers that will be made public.

# Implement data analytics and visualization for OONI tests

We have a bunch of data and we would like to give meaning to it.
This would involve writing tools for querying the data in the database and
extract useful analytical information from it.

Based on this data we can then start looking at historical OONI data and
provide some sample visually supported reports.

This is a list of tests we should develop analytics for:

  * HTTP requests
  * DNS Consistency
  * DNS Injection
  * TCP Connect
  * HTTP Invalid Request Line
  * HTTP Header Field Manipulation
  * Multi protocol port traceroute

# Implement pub-sub system for ooni collectors

Currently OONI collectors (the things you send your ooniprobe measurement
results to) keep in sync thanks to a bunch of shell scripts and cronjobs.
To have more real time data it would be useful to have a pub-sub
mechanism that
allows the pipeline to subscribe to all the collectors and the
collectors will
then publish the collected reports to it, as soon as they are submitted.

This will allow the OONI data to go through the data pipeline much faster
(instead of ~2 hours, perhaps just some minutes or even less potentially).

# Reach production quality ooni rasperry-pi (beagle-board) images

This involves implementing what is specified in the lepidopter
specification:
https://github.com/anadahz/lepidopter/blob/master/specification.md

We should then provide scripts for building the image yourself or how to
download and burn it to an SD card on Windows, OSX, Linux (with
screenshots).

As a bonus we could also offer shipping of pre-made raspberry pi images
already
burn to an SD card, similar to what is done with rasbpian images.

# Promote and further develop OONI on mobile (Android, iOS)

This involves improving the GUI of OONI on mobile and getting it into the
Google Play store and the Apple App store.

We should also work on making it easier for developers of existing iOS and
Android apps to add internet measurement capabilities to their app by
linking
to libight.

# Do research based on OONI

This would involve doing some research on internet censorship based on
OONI probe or on internet measurement in general and publishing them in
peer reviewed venues.

# Publish monthly reports about the status of internet censorship in a
country

This would be sort of like a monthly e-zine, where every month we
analyse the
status of internet censorship in a given country.
It should be backed by OONI data, but the core of it should be an editorial
type piece explaining the context of the country and how censorship is
affecting them.

I expect most of this work to be carried out by somebody that has a
background
in journalism and social sciences.

# Run "adopt an ooni-probe" campaign

This is basically a program where people make a donation to support getting
somebody in an interesting country an ooniprobe or receiving an ooniprobe
themselves.

# Integration with other censorship measurement projects

This means finding better ways of using data from other projects as part of
OONI research or getting them to use our data.

# Reaching out to communities inside of censored regions

This means getting a better understanding of what "benefit" we can give to
people that are running the tool.
On this topic also see:
https://trac.torproject.org/projects/tor/ticket/14760

# Redesign the website for ooni

This means removing the horrible bootstrap basic template of the current
website and restructuring it so people actually understand what OONI is
and how
it can be useful to them.

# Hold an international internet censorship conference

This means running an event where we invite a bunch of people that are
active
in the field of internet censorship and discuss ideas and possible
collaborations.

# Implement a GUI for ooniprobe

This means picking up where we left off with the OONI web gui and finish
implementing it.

This could potentially also be useful for the orchestration task as we could
implement access control on the HTTP API that the web interface consumes.


Goal                        | Vote
----------------------------------
Get daily OONI measurements |
from 50 countries           | 0
----------------------------------
Develop OONI tests for      |
censorship circumvention    |
tools                       | 0
----------------------------------
Develop scheme for          |
orchestrating ooni-probes   | 0
----------------------------------
Implement data analytics    |
and visualization for OONI  |
tests                       | 0
----------------------------------
Implement pub-sub system   |
for ooni collectors        | 0
----------------------------------
Reach production quality   |
ooni rasperry-pi           |
(beagle-board) images      | 0
----------------------------------
Promote and further        |
develop OONI on mobile     |
(Android, iOS)             | 0
----------------------------------
Publish monthly reports    |
about the status of        |
internet censorship in     |
a country                  | 0
----------------------------------
Run "adopt an ooni-probe"  |
campaign                   | 0
----------------------------------
Integration with other     |
censorship measurement     |
projects                   | 0
----------------------------------
Reaching out to communities|
inside of censored regions | 0
----------------------------------
Redesign the website for   |
ooni                       | 0
----------------------------------
Hold an international      |
internet censorship        |
conference                 | 0
----------------------------------
Implement a GUI for        |
ooniprobes                 | 0
----------------------------------
Do research based on       |
OONI                       | 0
----------------------------------

Thanks for taking the time to go through this long email, you can as
always find us on IRC #OONI irc.oftc.net.

Have fun!

~ Arturo


More information about the tor-dev mailing list