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/bounce...
https://github.com/LeastAuthority/ooni-support/blob/mlab-ns-simulator/bounce...
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?
(For the first M-Lab deployment, there will be only one Test Helper, the http-return-headers one, so we could hard-code that one into the script, but we would like to make this script keep working when new tests are enabled).
Thanks,
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/bounce...
https://github.com/LeastAuthority/ooni-support/blob/mlab-ns-simulator/bounce...
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 future.
~ Art.