ooniprobe
Measure internet censorship and network performance
TLDR
List all tests performed
Show information about a specific test
Run all available tests
Perform a specific test
Check the availability of a specific website
Check the availability of all websites listed in a file
Display detailed information about a test in JSON format
SYNOPSIS
ooniprobe [GLOBAL OPTIONS] COMMAND [COMMAND OPTIONS] [ARGUMENTS]
Examples:
ooniprobe run web_connectivity --input urls.txt
ooniprobe list tests
ooniprobe version
PARAMETERS
--help, -h
Show help message and exit.
--version
Show version information and exit.
--verbose, -v
Be verbose. Print more detailed output during execution.
--quiet, -q
Be quiet. Suppress non-essential output.
--batch
Run in batch mode, do not ask for user input.
--software-name name
Specify the software name to be included in the measurement metadata.
--software-version version
Specify the software version to be included in the measurement metadata.
--probe-ip ip
Manually set the probe's IP address. Use with caution as it affects location inference.
--probe-asn asn
Manually set the probe's Autonomous System Number (ASN). For example, AS1234.
--probe-cc cc
Manually set the probe's country code (ISO 3166-1 alpha-2). For example, US.
--resolver ip:port
Use a specific DNS resolver for network measurements. For example, 8.8.8.8:53.
--config file
Use a specific configuration file instead of the default.
--temp-dir dir
Use a specific temporary directory for storing temporary files.
run TEST_NAME
Executes a specific OONI network measurement test. TEST_NAME can be 'web_connectivity', 'dns_consistency', 'http_invalid_request_line', etc.
--input file|URL
For 'run' command: Path to a file or a URL containing a list of inputs for the test (e.g., URLs for 'web_connectivity').
--output file
For 'run' command: Write the measurement results to the specified file.
--num-measurements n
For 'run' command: Perform a specific number of measurements for the test.
DESCRIPTION
ooniprobe is the command-line interface for the Open Observatory of Network Interference (OONI), a free software project dedicated to detecting internet censorship, surveillance, and traffic manipulation globally. It allows users to run a suite of network measurement tests to explore whether specific websites or services are blocked, if DNS resolution is tampered with, or if other forms of network interference are present.
The collected data is openly published on the OONI Explorer, contributing to transparency and accountability in internet freedom. Running ooniprobe helps identify internet blockages and understand the methods used for censorship in different regions. It's a vital tool for researchers, journalists, and anyone concerned about internet freedom.
CAVEATS
Privacy: While OONI strives for privacy, running tests reveals your IP address to the tested services and OONI's infrastructure. OONI publishes anonymized measurement data openly on the OONI Explorer. Users should be aware that contributing data involves sharing information about their network and the test outcomes.
Legality: In some jurisdictions, running network measurements, attempting to bypass censorship, or accessing certain content might be illegal. Users should check local laws before running ooniprobe.
Network Impact: Running multiple measurements can consume significant network bandwidth and may impact network performance during the test period.
HISTORY
OONI (Open Observatory of Network Interference) was founded in 2012 as a project of The Tor Project. Its primary goal was to empower users and researchers to detect, measure, and report on internet censorship and other forms of network interference around the globe. Over the years, OONI has grown into an independent organization, continually developing and refining its suite of measurement tools, including the ooniprobe command-line client, to provide increasingly accurate and comprehensive insights into internet freedom.