This repository contains OONI probe's measurement engine. That is, the piece of software that implements OONI nettests.
You can browse ooni/probe-engine's API online at godoc.org. We currently don't provide any API stability guarantees.
This repository also allows to build miniooni, a small command line client useful to test the functionality in here without integrating with OONI probe. You can browse the manual of this tool online at godoc.org. We currently don't promise that the miniooni CLI will be stable over time.
This software uses Go modules and therefore requires Go v1.11+. We also depend on Measurement Kit, a C++14 library implementing many OONI tests.
Note that export CGO_ENABLED=0
will disable C/C++ extensions and
therefore will prevent Measurement Kit tests from being linked into
the resulting Go binaries. You may want that in some cases, e.g. when
you only want to use OONI tests written in Go.
We plan on gradually rewriting all OONI tests in Go, therefore the dependency on Measurement Kit will eventually be removed.
A future version of this document will provide platform specific instruction for installing Measurement Kit and building.