ooni-probe-cli/Readme.md

95 lines
2.1 KiB
Markdown
Raw Normal View History

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
2018-08-01 12:16:11 +02:00
:skull: **Attention** This is under heavy development and should only be run and used by OONI developers. Use at your own risk and if you do use it, you may have to do some cleanup when we release the first public release of OONI Probe.
2018-02-12 17:33:13 +01:00
## Development setup
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).
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 update-mk-libs
```
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
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
```
git clone https://github.com/measurement-kit/script-build-unix.git
cd script-build-unix
```
2018-03-08 10:27:59 +01: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
```
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
```