OONI Probe is free and open source software designed to measure internet censorship and other forms of network interference.
Other supported platforms: Android, Desktop, CLI
If you are interested in building the app yourself, read on.
To download and install the measurement-kit library we use CocoaPods.
To install cocoapod use
sudo gem install cocoapods # brew install cocoapods on macOS
Then use the command:
pod install
This command will install the latest stable binary measurement-kit library and its dependencies and install the frameworks inside the Xcode Workspace.
Then open the xcode workspace (not the xcode project!) located in
ooniprobe.xcworkspace
and click on run to build it.
The most important dependency is oonimkall
. This dependency contains
the network measurement engine. Its sources are at
ooni/probe-cli. We fetch the oonimkall
framework directly from ooni/probe-cli
releases.
You can use a specific version of oonimkall
it in your project by
changing the release to which it points to in the Podfile
.
Then type pod install
and open .xcworkspace
file (beware not to open the
.xcodeproj
file instead, because that alone won't compile).
To manage translations check out our translation repo and follow the instructions there.
-
Write some code
-
Open a pull request
-
Have fun!
We use fastlane for creating automatically app screenshots in the various languages we support.
You first need to have some depedencies installed. On macOS:
To install fastlane:
# Using RubyGems
sudo gem install fastlane -NV
# Alternatively using Homebrew
brew cask install fastlane
Then:
brew install libpng jpeg imagemagick
You will then be able to automate screenshot creation with:
fastlane screenshots
Learn more on the fastlane docs: https://docs.fastlane.tools/getting-started/ios/screenshots