cmd/ooni | ||
config | ||
data | ||
internal | ||
nettests | ||
utils | ||
.gitignore | ||
.travis.yml | ||
Gopkg.lock | ||
Gopkg.toml | ||
LICENSE.md | ||
Makefile | ||
ooni_test.go | ||
ooni.go | ||
Readme.md |
OONI Probe CLI
The next generation OONI Probe Command Line Interface.
Development setup
Be sure you have golang >= 1.8.
This project uses dep
with the vendor/
dir
in .gitignore
.
Once you have dep
installed, run:
dep ensure
Next, you'll need a recent version of Measurement Kit.
Building a ooni binary for windows and macOS is currently only supported on a macOS system.
For building a linux ooni binary, you will need a linux system and follow the intruction in the linux section.
macOS
On macOS you can build a windows and macOS ooni binary.
This can be done by running:
make download-mk-libs
This will download the prebuilt measurement-kit binaries.
Then you can build a macOS build by running:
make build
And a windows build by running:
make build-windows
linux
On linux you will have to make your own build of measurement-kit and the required dependencies.
The following instructions have been tested on debian stretch, but should work on any other modern debian equivalent with minor tweaks.
Install the required depedencies:
sudo apt-get install git build-essential cmake autoconf libtool golang libc++-dev
Note: be sure you have golang at >= 1.8 (debian stretch means using backports).
git clone https://github.com/measurement-kit/script-build-unix.git
cd script-build-unix
Then build measurement-kit as follows:
./build-linux geoip-api-c
./build-linux libressl
./build-linux libevent
./build-linux measurement-kit
You should now have a set of compiled libraries inside of MK_DIST
. Take this and copy it into vendor/github.com/measurement-kit/go-measurement-kit/libs/linux
.
It should now be possible to build ooni by running:
make build
To run internal tests do:
make test-internal