[ooni-dev] Detecting which Test Helpers are Running

Arturo Filastò art at torproject.org
Sat Aug 2 14:21:30 UTC 2014

On 7/24/14, 10:55 PM, Taylor Hornby wrote:
> Hello,
> We are working on scripts to create the Ooni bouncer configuration from
> multiple instances of Ooni running on M-Lab slices. So far, we have two
> scripts. One, which collects the portion of the bouncer.yaml out of an
> Ooni slice, and another script, which combines all of the parts into a
> single bouncer.yaml:
> https://github.com/LeastAuthority/ooni-support/blob/mlab-ns-simulator/bouncer-plumbing/collector-to-mlab/getconfig.py
> https://github.com/LeastAuthority/ooni-support/blob/mlab-ns-simulator/bouncer-plumbing/mlab-to-bouncer/makeconfig.py
> One thing we would like the "getconfig.py" script to do is to
> dynamically determine which Test Helpers are enabled on the slice. I'm
> not sure how to do this, because the oonib.conf always contains entries
> for all the test helpers. So my question is this: How can we determine
> which Test Helpers are enabled by examining the oonib.conf or other files?
> Or, is this question misguided? Are *all* test helpers supposed to be in
> the bouncer.yaml file, even ones which are not running, and we don't
> want to have running?

If a certain test helper is to be disabled the oonib.conf file will
contain the test-helper-name->port key set to null. If the key is set to
an integer then the test helper is assumed to be enabled and to be bound
to the specified port.

The bouncer file should contain all the test helpers that have their
port key set to a non null value.

Note that some test helpers bind a UDP and TCP port. For these test
helpers the key will not be "port", but will be "udp_port" and
"tcp_port". For the purpose of this initial M-Lab deployment this is not
very relevant since we will only need the "http-return-json-headers"
test helper that is TCP only, but this is good to keep in mind for the

~ Art.

More information about the ooni-dev mailing list