id = "ooniprobe" name = "OONI Probe" homepage = "https://ooni.org/" description = "OONI Probe is free and open source software designed to measure internet censorship and other forms of network interference." executables = ["ooniprobe"] platforms = ["macos", "linux"] [dotfiles] # The current OONI CLI guide documents ~/.ooniprobe/config.json. The OONI # project's legacy Python CLI documentation documented ~/.ooni/ooniprobe.conf; # retain both official spellings for users upgrading between generations. paths = ["~/.ooniprobe/config.json", "~/.ooni/ooniprobe.conf"] secret = [] [commands] format = 1 label = "OONI Probe" description = "Run censorship measurements and browse results. Autorun, upload, reset and config options are left out. The first run asks you to complete an onboarding quiz." quality = "ai-draft" parser = { end_of_options = "--", interleave = "permute", long_equals = true, short_attached = false, short_bundles = false } [[commands.subcommand]] path = ["run"] label = "Run measurements" [[commands.subcommand.source]] id = "docs" kind = "manual" url = "https://ooni.org/support/ooni-probe-cli/" revision = "2026-10-27" evidence = ''' ooniprobe run ooniprobe run im ooniprobe run websites --input https://ooni.org/ ooniprobe run websites --input-file my-websites.txt ooniprobe run performance ooniprobe run circumvention ooniprobe run middlebox ooniprobe run experimental ooniprobe list ooniprobe list 4 ooniprobe show 1476 -v, --verbose (typeset with en dashes on the page) This is used to increase the verbosity of the ooniprobe command output. ''' [[commands.subcommand.field]] id = "group" label = "Test group" description = "Leave empty to run every test group in sequence." type = "string" position = 0 suggestions = [{ value = "websites", label = "Websites" }, { value = "im", label = "Instant messaging" }, { value = "performance", label = "Performance" }, { value = "circumvention", label = "Circumvention" }, { value = "middlebox", label = "Middleboxes" }, { value = "experimental", label = "Experimental" }] sources = ["docs"] [[commands.subcommand.field]] id = "input" label = "Website URL to test" description = "Websites group only." type = "url" option = ["--input"] sources = ["docs"] [[commands.subcommand.field]] id = "input_file" label = "File of URLs" description = "Websites group only; one URL per row." type = "path" option = ["--input-file"] path = { kind = "file", role = "input", must_exist = true } sources = ["docs"] [[commands.subcommand.task]] id = "run_all" label = "Run all tests" fields = [] required = [] [[commands.subcommand.task]] id = "one_site" label = "Test one website" fields = ["group", "input"] required = ["group", "input"] set = { group = ["websites"] } [[commands.subcommand.group]] id = "basic" label = "Basic" fields = ["group", "input", "input_file"] [[commands.subcommand]] path = ["list"] label = "List results" [[commands.subcommand.source]] id = "docs" kind = "manual" url = "https://ooni.org/support/ooni-probe-cli/" revision = "2026-10-27" evidence = ''' ooniprobe run ooniprobe run im ooniprobe run websites --input https://ooni.org/ ooniprobe run websites --input-file my-websites.txt ooniprobe run performance ooniprobe run circumvention ooniprobe run middlebox ooniprobe run experimental ooniprobe list ooniprobe list 4 ooniprobe show 1476 -v, --verbose (typeset with en dashes on the page) This is used to increase the verbosity of the ooniprobe command output. ''' [[commands.subcommand.field]] id = "result_id" label = "Result ID" description = "Leave empty to list all results; give an ID to see its measurements." type = "integer" position = 0 sources = ["docs"] [[commands.subcommand.task]] id = "list_all" label = "List results" fields = ["result_id"] required = [] [[commands.subcommand.group]] id = "basic" label = "Basic" fields = ["result_id"]