The OONI Backend (or OONIB) will mainly accomplish two tasks: assisting probes in running tests (TestHelper), collecting reports from OONI-probes or third party censorship related testing systems (Reports, PacketCapture)

Test Helpers

This backend infrastructure will be distributed and will run at least the following services:

Reporting system

The reporting system will expose an HTTP RESTful API over HTTPS or HTTPO (a.k.a. HTTP/.onion). This API will allow probes that are interested in sending a report to an OONIB node to do so.



Responsible for creating and updating reports.


Creates a new report with the input

* Request

          {'software_name': 'XXX',
           'software_version': 'XXX',
           'test_name': 'XXX',
           'test_version': 'XXX',

            'test_helper': 'XXX'
            'client_ip': 'XXX'

* Response
  {'backend_version': 'XXX', 'report_id': 'XXX'}

Required parameters

software_name: This is a string specifying the name of the software that is submitting a report (for example "OONI-probe")

software_version: This is a string representing the version number of the software submitting the report

test_name: This is the name of the test for which the report is being submitted

test_version: This is the version of the test for which a report is being created

Optional Parameters

test_helper: specifies which test helper we are interested in using

client_ip: is required when using test helpers to allow the matching up of client submitted reports with backend generated reports in OONIB.


Update an already existing report.

  {'report_id': 'XXX',
   'report': 'XXX'


This is the async pcap reporting system. It requires the client to have created a report already, but can work independently from test progress.


This part of the API is used for signaling with the Test helper backend


This part of the API is used for configuring the control channel part of the backend.

Last modified 7 years ago Last modified on Nov 8, 2012, 11:59:09 AM