Apply conversion script to all *.md files. authored by Alexander Hansen Færøy's avatar Alexander Hansen Færøy
= Backend =
# Backend
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 ==
## Test Helpers
This backend infrastructure will be distributed and will run at least the following services:
* UDP and TCP Echo ([wiki:doc/OONI/Backend/TCPUDPEcho])
* Two way traceroute helper ([wiki:doc/OONI/Tests/TwoWayTraceroute])
* HTTP Server ([wiki:doc/OONI/Backend/HTTPServer])
* DNS resolver ([wiki:doc/OONI/Backend/DNSResolver])
* UDP and TCP Echo ([doc/OONI/Backend/TCPUDPEcho](doc/OONI/Backend/TCPUDPEcho))
* Two way traceroute helper ([doc/OONI/Tests/TwoWayTraceroute](doc/OONI/Tests/TwoWayTraceroute))
* HTTP Server ([doc/OONI/Backend/HTTPServer](doc/OONI/Backend/HTTPServer))
* DNS resolver ([doc/OONI/Backend/DNSResolver](doc/OONI/Backend/DNSResolver))
== Reporting system ==
## 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.
=== REST API spec ===
### REST API spec
'''/report/do'''
**/report/do**
Responsible for creating and updating reports.
'':POST''
_:POST_
Creates a new report with the input
{{{
```
* Request
......@@ -46,10 +46,10 @@ Creates a new report with the input
{'backend_version': 'XXX', 'report_id': 'XXX'}
}}}
```
''Required parameters''
_Required parameters_
software_name: This is a string specifying the name of the software that is submitting a report (for example "OONI-probe")
......@@ -59,36 +59,36 @@ 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''
_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.
'':PUT''
_:PUT_
Update an already existing report.
{{{
```
{'report_id': 'XXX',
'report': 'XXX'
}
}}}
```
'''/report/pcap'''
**/report/pcap**
This is the async pcap reporting system. It requires the client to have created a report
already, but can work independently from test progress.
'''/testhelper/'''
**/testhelper/**
This part of the API is used for signaling with the Test helper backend
'''/controlchannel/'''
**/controlchannel/**
This part of the API is used for configuring the control channel part of the backend.