da95fa9365
* refactor: signal et al. are now experimental nettests We move signal into the experimental nettests group. While there, also start adding dnscheck and stunreachability as well. It seems there's more work to be done to correctly represent the results of dnscheck, but this is fine! The experimental section is here exactly for this reason! In terms of UI, the new command is `ooniprobe run experimental`. We will most likely move signal out of experimental soon, since it's already working quite well. We need to keep it here for one more cycle because the desktop app is not ready for it. See the following issues: 1. https://github.com/ooni/probe/issues/1378 2. https://github.com/ooni/probe/issues/1262 * fix(dnscheck): spell check * fix: improve documentation |
||
---|---|---|
.github/workflows | ||
CLI | ||
cmd | ||
debian | ||
docs | ||
E2E | ||
internal | ||
MOBILE | ||
pkg | ||
QA | ||
.gitignore | ||
build-android.bash | ||
build-ios.bash | ||
build-miniooni.sh | ||
build.sh | ||
CODE_OF_CONDUCT.md | ||
CODEOWNERS | ||
CONTRIBUTING.md | ||
go.mod | ||
go.sum | ||
LICENSE.md | ||
publish-android.bash | ||
publish-ios.bash | ||
Readme.md | ||
smoketest.sh | ||
testjafar.bash |
OONI Probe Client Library and CLI
The next generation OONI Probe: client library and Command Line Interface.
User setup
Please, follow the instructions at ooni.org/install/cli
to install ooniprobe
. If we do not support your use case, please let us know.
Once ooniprobe
is installed, try ooniprobe help
to get interactive help.
Reporting issues
Please, report issues with this codebase at github.com/ooni/probe.
Please, make sure you tag such issues using the ooni/probe-cli
label.
Repository organization
Every top-level directory contains an explanatory README file.
Development setup
Be sure you have golang >= 1.16 and a C compiler (when developing for Windows, you need Mingw-w64 installed).
You need to download assets first using:
go run ./internal/cmd/getresources
Then you can build using:
go build -v ./cmd/ooniprobe
This will generate a binary called ooniprobe
in the current directory.
Android bindings
./build-android.bash
We automatically build Android bindings whenever commits are pushed to the
mobile-staging
branch. Such builds could be integrated by using:
implementation "org.ooni:oonimkall:VERSION"
Where VERSION is like 2020.03.30-231914
corresponding to the
time when the build occurred.
iOS bindings
./build-ios.bash
We automatically build iOS bindings whenever commits are pushed to the
mobile-staging
branch. Such builds could be integrated by using:
pod 'oonimkall', :podspec => 'https://dl.bintray.com/ooni/ios/oonimkall-VERSION.podspec'
Where VERSION is like 2020.03.30-231914
corresponding to the
time when the build occurred.
Updating dependencies
go get -u -v ./... && go mod tidy
Releasing
-
update binary data as described above;
-
update
internal/version/version.go
; -
make sure you have updated dependencies;
-
run
./build.sh release
and follow instructions.