User Guide: OONI Probe Mobile App

Last updated: 20th April 2021

OONI Probe Mobile version: 2.11.0

Measure Internet Censorship

OONI Probe is a free and open source app that you can use to measure internet censorship and other forms of network interference. This user guide provides step-by-step instructions on how to install, run, and customize your use of the OONI Probe mobile app.

What you will get from this guide:

Upon reading this guide, we hope you will feel empowered to share your OONI Probe knowledge and skills with others!

The following table of contents should help with navigating the guide.

Introduction to OONI Probe

OONI Probe is free and open source software designed to measure internet censorship and other forms of network interference. Since 2012, this software has been developed by the Open Observatory of Network Interference (OONI), a non-profit project that was originally born out of the Tor Project.

With the OONI Probe app (available for both mobile and desktop platforms), you can run network measurement tests to check the following:

As soon as you run OONI Probe, your test results are automatically sent to OONI servers, processed, and openly published in near real-time (unless you opt-out of the publication of your test results).

OONI openly publishes OONI Probe test results gathered from around the world to:

To enable public access to OONI Probe test results (more commonly referred to as “measurements”), the OONI team makes them available on OONI Explorer: a web platform that provides charts based on measurement coverage and a search tool for exploring the measurements.

As OONI Explorer hosts more than 400 million network measurements collected from 22,000 networks in 239 countries and territories since 2012, it is likely the largest global open data resource on internet censorship to date.

By running OONI Probe, you will:

This guide aims to walk you through using the OONI Probe mobile app so that you can join a global community measuring internet censorship.

Disclaimer

As OONI Probe is designed to measure internet censorship, running it may be risky for some people in some countries.

Some things to take into account:

To learn more about potential risks associated with the use of OONI Probe, please refer to our relevant documentation.

Installing OONI Probe Mobile

The OONI Probe mobile app is available for Android, F-Droid, and iOS.

You can install the OONI Probe mobile app through the following steps:

Step 1. Visit the OONI Probe Mobile installation page (on the OONI website): https://ooni.org/install/mobile

Measure Internet Censorship

Step 2. Depending on your operating system (Android, iOS, F-Droid), click the relevant app store button.

Install mobile app links

Step 3. Install the OONI Probe mobile app (from your app store).

Install mobile app

Step 4. Open your OONI Probe mobile app.

Open OONI Probe mobile app

Now that you have installed and opened your OONI Probe mobile app, you will be presented with some basic information about OONI Probe as part of the onboarding process.

You will also learn about potential risks associated with running OONI Probe. To ensure that you understand these potential risks, we have included a short quiz to practically acquire your consent. Answering the quiz questions correctly is a requirement for using OONI Probe.

In the final step of the onboarding process, we share the types of data that are collected by default when running OONI Probe (linking to our Data Policy for further information). You can opt-in to sharing crash reports to help us improve OONI Probe.

Below we walk you through the onboarding process.

Step 1. Once you have read basic information about OONI Probe, tap Got It.

Got it

Step 2. The next screen shares a summary of potential risks associated with running OONI Probe. Tap Learn more to read our documentation explaining potential risks (written based on legal consultation).

Tap learn more

Step 3. Once you have learned about potential risks associated with running OONI Probe, tap I understand.

I understand

Step 4. The following quiz is based on the information you just read in the previous screen. Tap True to demonstrate your understanding of the statement.

Quiz step 1

You will see that True is the correct answer. If you tap False, you will receive an explanation on why the answer is wrong.

Correct quiz

Step 5. Tap True to demonstrate your understanding of the statement (in the second part of the quiz).

Quiz step 2

You will see that True is the correct answer. If you tap False, you will receive an explanation on why the answer is wrong.

Quiz correct

Step 6. The following screen shares information about the types of data that OONI collects and publishes by default (every time you run OONI Probe). You can learn more by tapping on OONI’s Data Policy on the screen.

Onboarding default settings

Step 7. Scroll down on this screen to learn that by tapping “OK”, you will opt-in to sharing crash reports to help us improve OONI Probe.

Onboarding default settings 2

Step 8. If you would like to opt-in to sharing crash reports with us, tap OK.

You have now completed the onboarding process and are ready to start using OONI Probe!

Dashboard screen

Optional Step 9. If you would rather not opt-in to sharing crash reports with us, tap Change defaults.

Change defaults

This will redirect you to the OONI Probe Settings screen, where you can check and change all of the default settings. The submission of crash reports is disabled by default, and only enabled if you tap OK (from Step 8 above).

Settings screen

Detailed information about OONI Probe settings can be found in the “Configuring your OONI Probe settings” section of this guide.

Running OONI Probe Mobile

Now that you have completed the onboarding process, you can start running OONI Probe to measure internet censorship!

The Dashboard of the OONI Probe mobile app includes 4 cards, each of which entails OONI Probe tests:

Step 1. Tap Run to run your first OONI Probe tests.

Dashboard main screen

This will run all OONI Probe tests (included in all cards) in one go!

Running websites
Running IM
Running circumvention
Running performance

OONI Probe should have run all tests within a few minutes (though this depends on the performance of the network you’re connected to, and may take longer in some cases).

Your OONI Probe test results will automatically get published on OONI Explorer and on the OONI API.

Would you rather limit your testing to a specific test type (card)? In the following sections, we share instructions on how to do that.

Measuring the blocking of websites

If you only want to measure the blocking of websites, you can do so through the following steps:

Step 1. Tap the Websites card in the Dashboard of your OONI Probe mobile app.

Tap websites

Step 2. Tap Run in the Websites card.

Websites card details

You are now running OONI’s Web Connectivity test to measure the blocking of websites.

Running websites

Your OONI Probe test results will automatically get published on OONI Explorer and on the OONI API.

Which websites are tested?

By default, you will test websites included in the following 2 lists:

No matter which country you’re running OONI Probe from, you will always test websites from the global test list.

OONI Probe will automatically determine which country-specific list to pick for testing based on the country you’re running OONI Probe from. For example, if you run OONI Probe in Brazil, you will test websites from the global test list and from the Brazilian test list. If you travel to Germany and run OONI Probe, it will test the websites from the global and German test lists. But if you’re running OONI Probe from a country which doesn’t have a country-specific test list yet (because it hasn’t been created), you will only test websites from the global list.

If you would like to contribute to the Citizen Lab test lists (which include the default websites tested by OONI Probe users worldwide), please refer to our relevant documentation.

Note: To avoid consuming all your mobile data, OONI Probe will only test as many websites as it’s able to test within 90 seconds when you tap “Run” (either from the Dashboard or from the Websites card). These websites (which are tested within 90 seconds) are randomly selected from the global and (relevant) country-specific test lists. Every time you tap “Run”, you will test a different, random selection of websites (from the global and country-specific test lists) within 90 seconds. Therefore, the more times you tap “Run”, the more websites you will test.

If you would like to test a larger selection of websites, or test entirely different websites, please refer to the “Customizing website testing” section of this guide.

Measuring the blocking of instant messaging apps

If you only want to measure the blocking of instant messaging apps, you can do so through the following steps:

Step 1. Tap the Instant Messaging card in the Dashboard of your OONI Probe mobile app.

Tap IM card

Step 2. Tap Run in the Instant Messaging card.

IM Card details

You are now running OONI’s WhatsApp, Facebook Messenger, Telegram, and Signal tests to measure the blocking of these apps.

Running IM

Your OONI Probe test results will automatically get published on OONI Explorer and on the OONI API.

If you would like to limit your testing to only WhatsApp, Facebook Messenger, Telegram, or Signal, please refer to the “Configuring your OONI Probe settings” section of this guide.

Measuring the blocking of circumvention tools

If you only want to measure the blocking of censorship circumvention tools, you can do so through the following steps:

Step 1. Tap the Circumvention card in the Dashboard of your OONI Probe mobile app.

Tap circumvention

Step 2. Tap Run in the Circumvention card.

Circumvention card details

You are now running OONI’s Tor, Psiphon, and RiseupVPN tests to measure the reachability of these tools.

Running circumvention

Your OONI Probe test results will automatically get published on OONI Explorer and on the OONI API.

If you would like to limit your testing to only Tor, Psiphon, or RiseupVPN, please refer to the “Configuring your OONI Probe settings” section of this guide.

Measuring network performance

If you only want to measure network performance, you can do so through the following steps:

Step 1. Tap the Performance card in the Dashboard of your OONI Probe mobile app.

Tap performance

Step 2. Tap Run in the Performance card.

Performance card details

You are now running the NDT speed test, the DASH video streaming performance test, and OONI’s middlebox tests (HTTP Header Field Manipulation test and HTTP Invalid Request Line test).

Running performance

Your OONI Probe test results will automatically get published on OONI Explorer and on the OONI API.

Disclaimer: The NDT and DASH tests are conducted against third-party servers provided by Measurement Lab (M-Lab). If you run these tests, M-Lab will collect and publish your IP address for research purposes, irrespective of your OONI Probe settings. Learn more about M-Lab’s data governance through its privacy statement.

If you would like to limit your testing to only one (or a few) of the tests included in the Performance card, please refer to the “Configuring your OONI Probe settings” section of this guide.

Customizing your website testing

By default, when testing websites with OONI Probe, you measure the URLs included in the Citizen Lab test lists. In other words, if you just tap “Run” (in the Dashboard or Websites card of the OONI Probe app), you will test a random selection of websites taken from the Citizen Lab test lists. These lists have been created through collaboration with in-country researchers and experts. As they are openly available on GitHub, anyone can potentially review them, contribute URLs, and propose the removal of certain URLs. And it is important that we continue reviewing and updating these lists, since they contain the websites that are tested by most OONI Probe users regularly around the world.

But if you would rather limit your testing to websites of your choice, you can do so through the OONI Probe mobile app.

You can customize your website testing in the following ways:

The following sections explain how you can do each of the above.

Testing specific website categories

When you tap “Run” in the OONI Probe app, you test websites from the global and (relevant) country-specific Citizen Lab test lists.

These websites have been categorized based on 31 standardized categories. These categories range from news media, culture, and human rights issues to more provocative or objectionable categories, like pornography (the latter are included because they are more likely to be blocked, enabling the detection of censorship techniques adopted by ISPs).

By default, all 31 categories are enabled in the OONI Probe mobile app to encourage the testing of more diverse websites, enhancing the possibility of discovering more forms of website censorship.

But if you don’t feel comfortable testing all 31 categories of websites (particularly if they include content that is illegal, provocative, or objectionable in your country), or are only interested in testing certain types of content (such as news media), you can limit your OONI Probe testing to the website categories of your choice.

Step 1. Tap Settings in the bottom navigation bar of your OONI Probe mobile app.

App settings

Step 2. Tap Test options in the settings.

Tap test options

Step 3. Tap Websites (in the “Test options” setting).

Tap websites

Step 4. Tap Website categories to test (in the “Websites” section of the “Test options” setting).

Tap website categories

You will now see the 31 categories of websites that OONI Probe tests by default. All of these categories are enabled.

Website categories

Step 5. Disable the website categories that you do not want to test.

Disable options

In the above example, we have disabled 2 categories (“Pornography” and “Provocative Attire”).

When you go back, you can see that only 29 categories are now enabled (since 2 have been disabled).

Categories enabled

You can revisit this setting anytime to enable or disable the website categories of your choice.

Testing websites of your choice

You can test the websites you care about directly through the following steps:

Step 1. Tap the Websites card in your OONI Probe mobile app.

Tap websites card

Step 2. Tap the Choose websites button in the Websites card.

Choose websites

You will now see a screen where you can add the website(s) you want to test.

Choose websites empty

Step 3. Type the URL of the website you want to test. In the following example, we have typed https://www.facebook.com.

Choose websites facebook.com

Important: Please ensure that the URL is typed correctly. If it is mis-typed, OONI Probe will not test the intended website and this will potentially lead to inaccurate test results.

A few things to keep in mind:

To ensure that a URL is typed accurately, please check how it appears when accessed from a normal browser.

Step 4. Tap Add website to create a new line for adding another website for testing.

Add website

Step 5. Type another URL that you would like to test. In the following example, we have added https://twitter.com.

add url twitter.com

If you change your mind and would like to remove any of the URLs you have added, you can do so by tapping on the red icon next to each URL.

You can continue to add as many URLs as you like. In the following example, we have added https://ooni.org and https://www.gutenberg.org.

Add website gutenberg.org

Step 6. Tap Run to test all of the websites you have added.

You will now see OONI Probe testing the websites of your choice!

Testing custom sites

Your OONI Probe test results will automatically get published on OONI Explorer and on the OONI API.

Testing a custom list of websites

Manually adding URLs one by one (through the “Choose websites” button of the OONI Probe mobile app) can potentially be tedious – particularly if it involves more than a dozen URLs. Researchers are often interested in testing their own list of websites, which can include hundreds of URLs.

You can test your own list of websites through the following steps:

Step 1. Compile your list of websites in a text editor, where each URL is in a separate line. Below we share an example.

Text editor custom URLs

Important: Please ensure that each URL is typed correctly. If it is mis-typed, OONI Probe will not test the intended website and this will potentially lead to inaccurate test results.

A few things to keep in mind:

To ensure that each URL is typed accurately, please copy-paste it from a browser.

Step 2. Copy your list of URLs (from your text editor).

Step 3. Visit the OONI Run website: https://run.ooni.io/

OONI Run landing page

Step 4. Select http:// in the first URL slot of the OONI Run page (to avoid having a double http in the formatting of your first URL).

Select URL OONI Run

Step 5. Paste your list of URLs into the first URL slot of the OONI Run page.

You should now see that all of your URLs have populated each URL row in the OONI Run page.

OONI Run custom list

If you notice any empty rows (or otherwise misformatted URLs), please delete them by clicking on the deletion icon.

Empty rows

Step 6. Click the Generate button at the end of your list.

Click generate

You will now see the following pop-up window.

OONI Run popup window

You have generated an OONI Run mobile deep link for the testing of your list of websites.

Step 7. Copy the generated link either by:

Copy OONI Run link

Step 8. As you’re probably doing all these steps from your desktop, share the copied link with your mobile phone (so that you can subsequently open the link with your OONI Probe mobile app). You can also share this link with other OONI Probe users, if you would like them to test your list of websites as well.

Step 9. Tap on the OONI Run link from your mobile device.

OONI Run link

Step 10. Open the link with your OONI Probe mobile app (not with a web browser).

Open with OONI Probe

You should now see your list of websites in your OONI Probe mobile app.

OONI Run page mobile

Step 11. Tap Run to test your list of websites.

Running OONI Run

Your OONI Probe test results will automatically get published on OONI Explorer and on the OONI API.

Testing all websites from the Citizen Lab test lists

Due to bandwidth constraints, the OONI Probe mobile app only tests as many websites as it can connect to within 90 seconds (based on the default settings).

If you’re connected to WiFi and would like to test all websites from the (relevant) Citizen Lab test lists in one go, you can do so through the following steps:

Step 1. Tap Settings in the bottom navigation bar of your OONI Probe mobile app.

Settings page

Step 2. Tap Test options in the settings.

Test options

Step 3. Tap Websites (in the “Test options” setting).

Websites option

You now see the OONI Probe website settings.

OONI Probe website settings

Step 4. Disable Limit test duration (in the “Websites” section of the “Test options” setting).

Disable limit test duration

There is now no time limit in your website testing. This means that OONI Probe can test all websites included in the relevant Citizen Lab test lists every time you tap “Run”.

Alternatively: If you would like to test more websites within a longer time duration (but without necessarily disabling the time limit and testing all websites), you can do so through the following steps:

Step 1. Tap Test duration (in the “Websites” section of the “Test options” setting).

Test duration setting

By default, the website testing duration is set to 90 seconds. This means that OONI Probe will only test as many websites (from the relevant Citizen Lab test lists) as it can connect to within 90 seconds.

Step 2. To change the test duration, type the number of seconds that you would like OONI Probe to test websites for. In the following example, we have typed 360 which would make OONI Probe test websites for 6 minutes.

Test duration custom seconds

Step 3. Once you have changed the test duration, tap OK to save this setting.

Accessing your OONI Probe test results

As soon as you run an OONI Probe test, you can immediately access the test results directly in your OONI Probe mobile app.

Step 1. Tap Test Results in the bottom navigation bar of your OONI Probe mobile app.

Test results page

You are now presented with an overview of all your OONI Probe test results.

In this overview, the test results are grouped based on the 4 thematic cards of the app (“Websites”, “Instant Messaging”, “Circumvention”, “Performance”).

In each thematic test result card, you have an overview of:

This overview can potentially help with comparing results across networks (if you run tests on many different networks), and provides a bird’s-eye view of the findings.

To dig deeper (and access the relevant measurement data), you would need to tap on each test result, which we explain in the following sections.

Deleting test results

In the top menu (of the Test Results screen), we share an overview of:

Test results hero

Step 1. If you would like to delete your OONI Probe test results (for example, to save up on storage), tap on the deletion icon in the top right corner.

Don’t worry about your test results getting lost; as soon as you run an OONI Probe test, your results are automatically published on OONI Explorer and on the OONI API in near real-time. If you would like to opt out of the publication of your test results, please refer to the “Configuring your OONI Probe settings: Privacy” section of this guide.

Upon tapping on the deletion icon, you will see the following pop-up:

Delete all tests

Step 2. Tap Delete if you would like to delete all of your OONI Probe test results. Otherwise, tap Cancel.

Filtering test results

In the Test Results screen of your OONI Probe mobile app, the results are presented chronologically, with the latest tests listed first.

Test results page

Step 1. If you would like to filter your results based on a specific testing category (“Websites”, “Instant Messaging”, “Circumvention”, “Performance”), tap All Tests (or “Filter Tests”, or the arrow in that row).

Test results filtering

You are now presented with a drop-down menu which lists all the thematic testing categories.

Step 2. Tap on the category based on which you would like to filter the results. In the following example, we have tapped on “Websites”.

Filtered websites

You have now filtered the results based on the “Websites” category, enabling an overview of the website testing results. In the above example, we can see that out of 28 websites tested on Vodafone Italia (on 25th March 2021 at 16:48 local time), only 1 of those websites presented signs of blocking. When 17 other websites were tested (on the same network, on the same day) a few hours ago, none of those sites were blocked.

While the Test Results screen provides an initial overview of results, you can dig deeper and access the data pertaining to each test, as explained in the following sections.

Websites

You can access your OONI Probe results from the testing of websites through the following steps:

Step 1. Tap Websites in the Test Results screen of your OONI Probe mobile app.

Websites tests filtered

You will now see a list of all the websites that you have tested so far.

In the top header, we share an overview of your website testing results. Next to each tested URL, there will either be a green tick (indicating website accessibility), or an orange exclamation mark (indicating potential website blocking).

Step 2. Tap on the row of a tested website (to access the data from the testing of that website).

Websites results

You now have access to the data pertaining to the testing of a specific website. The following measurement page pertains to the testing of https://www.privateinternetaccess.com/.

Private internet access accessible

Through this measurement page, you are presented with an overview of the test result. In this case, we can see that https://www.privateinternetaccess.com/ was found accessible when tested on Vodafone Italia (AS30722) on 24th March 2021 at 15:09 local time.

If a website was found (potentially) blocked, it would be presented in the website test results with an orange exclamation mark, as illustrated below.

Gutenberg inaccessible

You can access the measurement page pertaining to the above (potentially) blocked site by tapping on the row with the tested site.

Gutenberg inaccessible

In this case, we can see that https://www.gutenberg.org presented signs of blocking (“anomaly”) when tested on Vodafone Italia (AS30722) on 24th March 2021 at 19:54 local time. In particular, we can see that it presented signs of DNS tampering (based on the heuristics of the OONI Web Connectivity test). This means that Vodafone Italia may have blocked access to https://www.gutenberg.org (on 24th March 2021) by means of DNS.

As false positives can occur, we annotate test results that failed to meet all of the criteria of our Web Connectivity test as “anomalies” (rather than “confirmed blocked”), indicating that the tested website might be blocked.

In evaluating the blocking of a website, it is useful to examine relevant measurements (from the testing of a specific website on the same network over time) in aggregate, which you can do through OONI Explorer (where we publish all test results). OONI Explorer also displays measurements for all “confirmed blocked” cases, where we automatically confirm the blocking of websites based on block pages.

When the testing of a website presents an anomaly, it is particularly important to re-test it (on the same network) as many times as possible, as this can help with ruling out false positives (if, for example, we see a site failing in the same ways every time it is tested). One anomalous measurement alone is often not enough to evaluate blocking (particularly since testing can fail due to several networking reasons, which may have nothing to do with censorship).

Step 3. To retest a tested URL, tap the retry icon on the top right corner of the website test results page in your OONI Probe app.

Retry icon

You will then see the following pop-up window, asking if you would like to retest all of the websites (that you have already tested).

Rerun test

Step 4. Tap Run to retest the websites.

Instant Messaging

You can access your OONI Probe results from the testing of instant messaging apps through the following steps:

Step 1. Tap Instant Messaging in the Test Results screen of your OONI Probe mobile app.

Test results screen

You will now see a list of the instant messaging apps (WhatsApp, Facebook Messenger, Telegram) that you have tested so far.

In the top header, we share an overview of your instant messaging app testing results. Next to each tested app, there will either be a green tick (indicating app reachability), or an orange exclamation mark (indicating potential app blocking).

Step 2. Tap on the row of a tested app (to access the data from the testing of that app).

IM test results

The following measurement page pertains to the testing of WhatsApp.

WhatsApp test result

Through this measurement page, you are presented with an overview of the WhatsApp test result. In this case, we can see that WhatsApp was found accessible when tested on Vodafone Italia (AS30722) on 25th March 2021 at 16:50 local time. This conclusion is reached because OONI’s WhatsApp test was able to successfully connect to WhatsApp’s endpoints, registration service, and web interface (web.whatsapp.com).

If WhatsApp was found (potentially) blocked, this test result would show an orange exclamation mark and information about why it’s potentially blocked (based on the heuristics of OONI’s WhatsApp test).

Similarly, you can access Telegram test results through the instant messaging results in your OONI Probe app.

Telegram test result

In this case, we can see that Telegram was found accessible when tested on Vodafone Italia (AS30722) on 25th March 2021 at 16:50 local time. This conclusion is reached because OONI’s Telegram test was able to successfully connect to Telegram’s endpoints and web interface (web.telegram.org).

If Telegram was found (potentially) blocked, this test result would show an orange exclamation mark and information about why it’s potentially blocked (based on the heuristics of OONI’s Telegram test).

You can also access Facebook Messenger test results through the instant messaging results in your OONI Probe app.

Facebook messenger results

In this case, we can see that Facebook Messenger was found accessible when tested on Vodafone Italia (AS30722) on 25th March 2021 at 16:50 local time. This conclusion is reached because OONI’s Facebook Messenger test was able to successfully connect to Facebook’s endpoints and resolve to Facebook IP addresses.

If Facebook Messenger was found (potentially) blocked, this test result would show an orange exclamation mark and information about why it’s potentially blocked (based on the heuristics of OONI’s Facebook Messenger test).

You can access Signal test results through the instant messaging results in your OONI Probe app.

Signal results

In this case, we can see that Signal was found accessible when tested on Vodafone Italia (AS30722) on 20th April 2021 at 17:05 local time. This conclusion is reached because OONI’s Signal test was able to successfully connect to Signal’s endpoints.

If Signal was found (potentially) blocked, this test result would show an orange exclamation mark and information about why it’s potentially blocked (based on the heuristics of OONI’s Signal test).

In all cases, we recommend referring to OONI measurements published on OONI Explorer, where you can examine results in aggregate (which can help with ruling out false positives and confirming blocking).

Circumvention

You can access your OONI Probe results from the testing of circumvention tools through the following steps:

Step 1. Tap Circumvention in the Test Results screen of your OONI Probe mobile app.

Test results page

You will now see a list of the censorship circumvention tools (Psiphon, Tor, RiseupVPN) that you have tested so far.

In the top header, we share an overview of your circumvention tool testing results. Next to each tested tool, there will either be a green tick (indicating reachability), or an orange exclamation mark (indicating potential blocking).

Step 2. Tap on the row of a tested tool (to access the data from its testing).

Circumvention test results

The following measurement page pertains to the testing of Psiphon.

Psiphon test result page

Through this measurement page, you are presented with an overview of the Psiphon test result. In this case, we can see that Psiphon was reachable when tested on Vodafone Italia (AS30722) on 25th March 2021 at 16:50 local time. This conclusion is reached because OONI’s Psiphon test was able to successfully bootstrap a Psiphon connection.

If Psiphon was found (potentially) blocked, this test result would show an orange exclamation mark and information about why it’s potentially blocked (based on the heuristics of OONI’s Psiphon test).

Similarly, you can access Tor test results through the circumvention results in your OONI Probe app.

Tor test results

In this case, we can see that Tor was reachable when tested on Vodafone Italia (AS30722) on 25th March 2021 at 16:50 local time. This conclusion is reached because OONI’s Tor test was able to successfully connect to most of the default Tor bridges and to all Tor directory authorities.

If Tor was found (potentially) blocked, this test result would show an orange exclamation mark and information about why it’s potentially blocked (based on the heuristics of OONI’s Tor test).

You can also access RiseupVPN test results through the circumvention results in your OONI Probe app.

RiseUp VPN test results

In this case, we can see that RiseupVPN was reachable when tested on Vodafone Italia (AS30722) on 25th March 2021 at 16:51 local time. This conclusion is reached because OONI’s RiseupVPN test was able to successfully connect to RiseupVPN’s bootstrap server and VPN gateways.

If RiseupVPN was found (potentially) blocked, this test result would show an orange exclamation mark and information about why it’s potentially blocked (based on the heuristics of OONI’s RiseupVPN test).

In all cases, we recommend referring to OONI measurements published on OONI Explorer, where you can examine results in aggregate (which can help with ruling out false positives and confirming blocking).

Performance

You can access your OONI Probe results from the testing of your network’s performance through the following steps:

Step 1. Tap Performance in the Test Results screen of your OONI Probe mobile app.

Test results page

You will now see a list of the performance tests that you have run so far. In the top header, we share an overview of the results, with the main findings listed next to each test result.

Step 2. Tap on the row of a test result (to access relevant data).

Performance test results

The following measurement page is from an NDT speed test.

NDT speed test details

In this case, we can see that an NDT speed test was run on Vodafone Italia (AS30722) on 25th March 2021 at 16:51 local time. When the test was performed, the download speed was 35.4 megabits per second, the upload speed was 17.2 megabits per second, and it took 17.6 milliseconds to establish a connection to an M-Lab server (mil03-IT). This indicates good internet speed, given that the average ping (to this M-Lab server) is 27.2 milliseconds.

You can compare your NDT test results with what is offered in your internet plan provided by your Internet Service Provider (ISP).

You can access DASH results through the performance results in your OONI Probe app.

Dash test results

In this case, we can see that a DASH video streaming test was run on Vodafone Italia (AS30722) on 25th March 2021 at 16:52 local time. When the test was performed, it was possible to stream up to 2160p (4K) video without buffering, with the median bitrate being 17.9 megabits per second. This indicates that the user could stream high definition videos on that network if the streaming server was co-located with the measurement server.

You can compare your DASH test results with what is offered in your internet plan provided by your Internet Service Provider (ISP).

Through the performance card, you can also run two of OONI’s tests designed to measure the presence of middleboxes on tested networks:

A middlebox is a computer networking device that transforms, inspects, filters, or otherwise manipulates traffic for purposes other than packet forwarding. Many Internet Service Providers (ISPs) around the world use middleboxes to improve network performance, provide users with faster access to websites, and for a number of other networking purposes. Sometimes though, middleboxes are also used to implement internet censorship and/or surveillance.

You can access OONI’s HTTP Invalid Request Line test results through the performance results in your OONI Probe app.

HIRL no middlebox detected

In this case, we can see that the HTTP Invalid Request Line test was run on Vodafone Italia (AS30722) on 25th March 2021 at 16:52 local time. When this test was performed, it sent an invalid HTTP request line (containing an invalid HTTP version number, an invalid field count and a huge request method) to an echo service listening on the standard HTTP port. The echo service (a debugging and measurement tool which simply sends back any data it receives) sent the invalid HTTP request line back to us, exactly as it received it. This indicates that there is no visible middlebox or traffic manipulation on the tested network.

If, however, a middlebox was present on the tested network, the invalid HTTP request line would have been intercepted by the middlebox, potentially triggering an error that would have been sent back to us by the echo service. Such errors indicate that software for traffic manipulation is likely placed on the tested network, though it’s not always clear what that software is.

Similarly, you can access OONI’s HTTP Header Field Manipulation test results through the performance results in your OONI Probe app.

HHFM no middlebox detected

In this case, we can see that the HTTP Header Field Manipulation test was run on Vodafone Italia (AS30722) on 25th March 2021 at 16:52 local time. When this test was performed, it emulated an HTTP request towards a backend control server (which sends back any data it receives), but sent HTTP headers with variations in capitalization (i.e. non-canonical HTTP headers). Since we received the HTTP headers exactly as we sent them, there is no visible middlebox or traffic manipulation on the tested network.

If, however, a middlebox was present on the tested network, it may have normalized the invalid headers that we sent or added extra headers. Depending on whether the HTTP headers that we send and receive from a backend control server are the same or not, we are able to evaluate whether a middlebox is present on the tested network.

Sharing your OONI Probe test results

Through each OONI Probe test result, you can access settings that enable you to:

You can access these settings through the following steps:

Step 1. Access any OONI Probe test result (for details on how to find OONI Probe test results, please refer to the previous section of this guide).

gutenberg potentially blocked

Step 2. Tap on the menu icon on the top right corner of an OONI Probe test result.

Menu icon

You will now see a drop-down menu with 4 options.

Dropdown menu

In the following sections, we dive into each setting.

Raw data

Every OONI Probe test result provides an overview of the findings. The actual data (i.e. the raw measurement data) that each test result is based on is available through the settings of each test result.

In other words, if you have tested https://www.gutenberg.org, the test result page will provide an overview of the finding (for example: “Likely blocked by means of DNS tampering”), but the network measurement data provides the details of the testing, showing how and why the site may be blocked by means of DNS tampering.

It is useful to access the raw measurement data because:

You can access and share the raw measurement data through the following steps:

Step 1. Tap Data in the drop-down menu of the settings of an OONI Probe test result (please refer to the previous section, if you face difficulty finding this).

Raw data selected

You now have access to the raw measurement data pertaining to the OONI Probe test result you selected.

Raw data screen

Step 2. To share the raw data (for example, with technologists who can help interpret it), tap on the copy icon on the top right corner of the screen.

Copy to clipboard

You have now copied the raw data and can share it with your contacts.

Copied to clipboard

Log

A log is a file that records how specific software ran. In the context of OONI Probe, each test result comes with a log, which records how that specific test ran on a specific network.

It can potentially be useful to access the log of an OONI Probe test result if it presented an error or otherwise failed to run as expected. In these cases, you can share the relevant log with the OONI team to help us debug the issue.

You can access and share the log of an OONI Probe test result through the following steps:

Step 1. Tap View log in the drop-down menu of the settings of an OONI Probe test result (please refer to the previous sections, if you face difficulty finding this).

View log option

You now have access to the log pertaining to the OONI Probe test result you selected.

Log view

Step 2. To share the log (for example, with the OONI team), tap on the copy icon on the top right corner of the screen.

Copy to clipboard

You have now copied the log and can share it.

Log copied to clipboard

Sharing your measurement

You may be interested in sharing your test results, particularly if and when you come across cases of potential blocking. While your OONI Probe results are automatically published on OONI Explorer (unless if you opt-out, as discussed in the “Configuring your OONI Probe settings: Privacy” section of this guide), you may still be interested in sharing your test result(s) directly with your contacts.

You can share your OONI Probe measurements through the following steps:

Step 1. Tap Share Explorer URL in the drop-down menu of the settings of an OONI Probe test result (please refer to the previous sections, if you face difficulty finding this).

Share explorer URL

This will open the Share with function of your phone, enabling you to share the selected measurement directly with any of your contacts (for example, through applications like WhatsApp, Signal, or Slack).

Step 2. Tap on the contact you would like to share the measurement with.

Step 3. Tap Send to share the measurement with your contact. They will receive the relevant OONI Explorer measurement pertaining to your test result.

Accessing your measurement on OONI Explorer

Perhaps you’re interested in viewing your OONI Probe test result on OONI Explorer (where you can more easily read the raw measurement data) or accessing a measurement link that you can subsequently share or link to (for example, in a research report or tweet).

You can copy and access your measurement on OONI Explorer through the following steps:

Step 1. Tap Copy Explorer URL in the drop-down menu of the settings of an OONI Probe test result (please refer to the previous sections, if you face difficulty finding this).

Copy explorer URL

This will copy the OONI Explorer URL (including the measurement pertaining to your selected OONI Probe test result) to your clipboard. This means that it will remain copied and that you can paste the relevant OONI Explorer URL multiple times in different applications (until you copy something else or switch off your mobile phone).

Copied to clipboard

Step 2. Paste the copied link into a web browser (such as Firefox or Chrome).

OONI Explorer result page

You now have access to your OONI Probe measurement on OONI Explorer. If you scroll down on that measurement page, you will view the raw measurement data as well. You can now link to or share that measurement by sharing the URL of that measurement page.

Configuring your OONI Probe settings

You can customize your use of OONI Probe through the settings.

Step 1. Tap Settings in the bottom navigation bar of your OONI Probe app.

Settings page

You can now see all of the OONI Probe app settings.

In the following sections, we walk you through each setting.

Notifications

If you are using OONI Probe on Android, you can enable push notifications to receive messages from the OONI team.

We primarily send out notifications when we hear of censorship in a particular country, encouraging OONI Probe users in that country to test the services that are reportedly blocked (or which appear blocked based on OONI measurements). We generally don’t send push notifications too often.

You can configure your push notification settings through the following steps:

Step 1. Tap Notifications through the settings of your OONI Probe app.

Tap notification settings

You will see that push notifications are disabled by default.

Notification settings screen

Step 2. Enable the Enabled option to receive push notifications.

Enable notifications

By enabling push notifications, you may receive a message from us when and if we hear of a case of internet censorship in your country. In our message, we may provide an OONI Run link for the testing of the specific services which are reportedly or seemingly blocked.

Test options

You can customize your testing based on the various test options of each thematic card (“Websites”, “Instant Messaging”, “Circumvention”, “Performance”).

Step 1. Tap Test options through the settings of your OONI Probe app.

Test options settings

You will now see that the subsequent settings are grouped under each thematic testing card.

Test settings

In the following sections, we walk you through the settings of each group.

Websites

The website testing settings have already been covered in previous sections of this guide. Please refer to the “Customizing your website testing” section.

Instant Messaging

You can customize your testing of instant messaging apps.

Step 1. Tap Instant Messaging through the “Test options” section of the settings.

Tap IM settings

You will now see the 4 tests (for WhatsApp, Telegram, Facebook Messenger, and Signal) that are included in the Instant Messaging card of the OONI Probe dashboard. All 3 tests are enabled by default.

IM settings

If you would like to limit your testing to a few (or none) of these tests, you can do so by disabling the relevant tests in these settings.

Note: We are frequently asked if users can add the instant messaging app that they would like to test (for customized app testing with OONI Probe). Unfortunately, this is not as simple as customized website testing (where you can add any URL for testing). App testing requires identifying all of the endpoints of the relevant application, and determining the best way to measure the reachability of that specific application. This varies from app to app, and a fair amount of development work goes into the creation of each OONI Probe instant messaging app test. This is why we currently only have a few instant messaging app tests, and the methodology of each test varies. We have prioritized developing tests for instant messaging apps that (a) are frequently blocked around the world, and (b) have received many community requests. If there are other instant messaging apps that you think we should prioritize tests for, please let us know.

Circumvention

You can customize your testing of censorship circumvention tools.

Step 1. Tap Circumvention through the “Test options” section of the settings.

Tap circumvention

You will now see the 3 tests (for Psiphon, Tor, RiseupVPN) that are included in the Circumvention card of the OONI Probe dashboard. All 3 tests are enabled by default.

Circumvention settings

If you would like to limit your testing to a few (or none) of these tests, you can do so by disabling the relevant tests in these settings.

Note: We are sometimes asked if users can add the circumvention tool that they would like to test (for customized VPN testing with OONI Probe). Unfortunately, this is not as simple as customized website testing (where you can add any URL for testing). App testing requires identifying all of the endpoints of the relevant application, and determining the best way to measure the reachability of that specific application. This varies from app to app, and a fair amount of development work goes into the creation of each OONI Probe circumvention tool test. This is why we currently only have a few circumvention tool tests, and the methodology of each test varies. We have prioritized developing tests when it is possible to collaborate with circumvention tool developers. If there are other circumvention tools that you think we should prioritize tests for, please let us know.

Performance

You can customize your network performance testing.

Step 1. Tap Performance through the “Test options” section of the settings.

Performance settings

You will now see the 4 tests (NDT, DASH, HTTP Invalid Request Line, HTTP Header Field Manipulation) that are included in the Performance card of the OONI Probe dashboard. All 4 tests are enabled by default.

Performance settings

If you would like to limit your testing to a few (or none) of these tests, you can do so by disabling the relevant tests in these settings.

Privacy

The Privacy tab of the OONI Probe settings pertains to the publication of OONI Probe test results and the submission of crash reports.

Step 1. Tap Privacy through the settings of the OONI Probe app.

Privacy settings

By default, the automatic publication of your OONI Probe test results is enabled, while the submission of crash reports is disabled (unless you opted-in during the onboarding).

Privacy settings

We encourage the publication of OONI Probe test results because they can help increase transparency of internet censorship and support the research and advocacy efforts of the internet freedom community.

If you publish your OONI Probe test results, that will involve the following data:

Further information is available through our Data Policy.

If you opt in to sharing crash reports with us, you will share information that is essential for identifying bugs and improving the performance of the OONI Probe app. These crash reports include the OONI Probe software version and information about why and how a specific OONI Probe function failed to work as expected.

You can opt out of publishing your OONI Probe test results and/or sharing crash reports with us by disabling the relevant settings.

All privacy off

Advanced

The advanced settings of the OONI Probe app include settings for:

You can access the advanced settings through the following steps:

Step 1. Tap Advanced through the settings of your OONI Probe app.

Advanced settings

You now have access to the advanced settings of your OONI Probe app, which are disabled by default.

Advanced settings

Switching to dark mode can potentially help with reducing eye strain and battery consumption.

Step 2. Enable the Dark Mode setting to switch to dark mode. Upon enabling this setting, you will be prompted to re-open your OONI Probe mobile app, which will now be in dark mode (as illustrated below).

Dark mode enabled

You can always disable dark mode by disabling the relevant setting in the app.

Step 3. Enable Debug logs if you’re interested in sharing your OONI Probe logs with the OONI team. This can help us identify and fix OONI Probe bugs.

Debug logs enabled

Step 4. Tap the CLEAR button if you would like to delete your OONI Probe tests to save up on storage space.

This will prompt the following pop-up window, asking if you would like to delete all of your OONI Probe test results. All of your OONI Probe test results have already been published on OONI Explorer (unless you opted-out of the publication of results in the Privacy tab of the settings).

Delete all results

Step 5. Tap DELETE to delete all of your OONI Probe test results (and save up on storage).

Empty test results

All of your OONI Probe test results have been deleted from your app.

Send email to support

If you are encountering issues with OONI Probe and need support, we encourage you to reach out to us. You can do so through the following steps:

Step 1. Tap Send email to support through the settings of the OONI Probe app.

Send email to support

This will prompt you to send an email through one of your email clients on your phone.

Send email prompt

Step 2. Tap on your email client (in the above example, that’s Gmail).

This will open your email client, enabling you to write an email to the OONI team (contact@openobservatory.org).

Compose email to support

Step 3. Write an email, describing the issues you’re experiencing with OONI Probe. It might be useful to share the log and/or raw measurement data with us (as explained in the “Sharing your OONI Probe test results” section of this guide), depending on the problem.

Step 4. Send your email to contact@openobservatory.org.

If you need urgent assistance from the OONI team, we encourage you to reach out to us on the OONI Slack channel, where we can chat in real-time.

About OONI

The final “About OONI” setting of the OONI Probe app shares information about OONI and about the OONI Probe software version you’re currently using.

Step 1. Tap About OONI through the settings of your OONI Probe app.

About OONI

This will open a screen that provides summary information about OONI, as well as the OONI Probe software version that you’re currently using. In the header of the following example, we can see that it’s OONI Probe 2.11.0 on Android.

OONI About page

Step 2. Tap OONI Data Policy to read our Data Policy on our website.

Step 3. Tap the Learn more button to access the OONI website and learn more about our project.

Thank you for reading this guide, and thank you for running OONI Probe!