2018-08-01 12:16:11 +02:00
# OONI Probe CLI
2018-02-12 17:33:13 +01:00
2018-08-01 12:16:11 +02:00
The next generation OONI Probe Command Line Interface.
2018-02-12 17:33:13 +01:00
## Development setup
2018-08-01 15:06:50 +02:00
Be sure you have golang >= 1.8.
2018-03-08 10:27:59 +01:00
This project uses [`dep` ](https://golang.github.io/dep/ ) with the `vendor/` dir
in `.gitignore` .
2018-02-12 17:33:13 +01:00
Once you have `dep` installed, run:
```
dep ensure
```
2018-03-08 10:27:59 +01:00
Next, you'll need a recent version of [Measurement Kit ](http://github.com/measurement-kit ).
2018-08-01 15:06:50 +02:00
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:
```
2018-09-11 12:40:39 +02:00
make download-mk-libs
2018-08-01 15:06:50 +02:00
```
This will download the prebuilt measurement-kit binaries.
Then you can build a macOS build by running:
2018-02-12 17:33:13 +01:00
```
make build
```
2018-03-08 10:27:59 +01:00
2018-08-01 15:06:50 +02:00
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).
2018-03-08 10:27:59 +01:00
2018-08-01 15:06:50 +02:00
```
git clone https://github.com/measurement-kit/script-build-unix.git
cd script-build-unix
```
2018-03-08 10:27:59 +01:00
2018-08-01 15:06:50 +02:00
Then build measurement-kit as follows:
```
./build-linux geoip-api-c
./build-linux libressl
./build-linux libevent
./build-linux measurement-kit
2018-03-08 10:27:59 +01:00
```
2018-08-01 15:06:50 +02:00
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
2018-03-08 10:27:59 +01:00
```
2018-09-06 16:20:10 +02:00
To run internal tests do:
```
make test-internal
```