LinuxCommandLibrary

ooniprobe

Measure internet censorship and network performance

TLDR

List all tests performed

$ ooniprobe list
copy

Show information about a specific test
$ ooniprobe list [7]
copy

Run all available tests
$ ooniprobe run all
copy

Perform a specific test
$ ooniprobe run [performance]
copy

Check the availability of a specific website
$ ooniprobe run websites --input [https://ooni.org/]
copy

Check the availability of all websites listed in a file
$ ooniprobe run websites --input-file [path/to/my-websites.txt]
copy

Display detailed information about a test in JSON format
$ ooniprobe show [9]
copy

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.

SEE ALSO

curl(1), wget(1), ping(8), traceroute(8), dig(1), nmap(1)

Copied to clipboard