From d51b535153e7a369e0050f66e634f9fc53dd2b0e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Arturo=20Filast=C3=B2?= Date: Fri, 29 Nov 2019 17:18:28 +0100 Subject: [PATCH 1/7] Add document outlining the differences between probe-cli and probe-legacy --- docs/OONIProbeLegacyCompatibility.md | 118 +++++++++++++++++++++++++++ 1 file changed, 118 insertions(+) create mode 100644 docs/OONIProbeLegacyCompatibility.md diff --git a/docs/OONIProbeLegacyCompatibility.md b/docs/OONIProbeLegacyCompatibility.md new file mode 100644 index 0000000..d5b2f15 --- /dev/null +++ b/docs/OONIProbeLegacyCompatibility.md @@ -0,0 +1,118 @@ +# Command line flags + +`-h, --help` Display help and exit +Supported: yes +probe-cli equivalent: `-h, --help` + +`-n, --no-collector` Disable writing to collector +Supported: no +Priority: high + +`-N, --no-njson` Disable writing to disk +Supported: no +Priority: low + +`-g, --no-geoip` Disable geoip lookup on start. +Supported: no +Priority: low + +`-s, --list` List the currently installed ooniprobe nettests +Supported: no +Priority: low + +`-w, --web-ui` Start the web UI +Supported: no +Priority: wontfix, we have no web UI in probe-cli + +`-z, --initialize` Initialize ooniprobe to begin running it +Supported: yes +probe-cli equivalent: `ooniprobe onboard` + +`-o, --reportfile PATH_TO_FILE` Specify the report file name to write to. +Supported: no +Priority: medium + +`-i, --testdeck PATH_TO_DECK` Specify as input a test deck: a yaml file containing the tests to run and their arguments. +Supported: no +Priority: wontfix, we have no deck support + +`-c, --collector COLLECTOR_ADDRESS` Specify the address of the collector for test results. In most cases a user will prefer to specify a bouncer over this. +Supported: partially +probe-cli equivalent: edit ooniprobe.conf to specify the collector address in the options + +`-b, --bouncer BOUNCER_ADDRESS` Specify the bouncer used to obtain the address of the collector and test helpers. +Supported: partially +probe-cli equivalent: edit ooniprobe.conf to specify the bouncer address in the options + +`-l, --logfile PATH_TO_LOGFILE` Write to this logs to this filename. +Supported: no +Priority: medium + +`-O, --pcapfile PATH_TO_PCAPFILE` Write a PCAP of the ooniprobe session to this filename. +Supported: no +Priority: wontfix, we don't have packet capture support in probe-cli + +`-f, --configfile PATH_TO_CONFIG` Specify a path to the ooniprobe configuration file. +Supported: yes +probe-cli equivalent: `--config` + +`-d, --datadir` Specify a path to the ooniprobe data directory. +Supported: yes +probe-cli equivalent: set the `OONI_HOME` environment variable + +`-a, --annotations key:value[,key2:value2]` Annotate the report with a key:value[, key:value] format. +Supported: yes +Priority: high + +`-P, --preferred-backend onion|https|cloudfront` Set the preferred backend to use when submitting results and/or communicating with test helpers. Can be either onion, https or cloudfront +Supported: no +Priority: wontfix, we don't support any other backend beyond https, yet we will +and yet we would prefer to have the logic of reporting be managed by the probe +itself and not expose this setting. + +# Features + +* Run a test deck +Supported: yes +probe-cli equivalent: we now call a test deck a test group and we have them +coded into the logic of the client + +* Run an individual netttest +Supported: no +Priority: medium + +* Upload a measurement like `oonireport upload` +Supported: no +Priority: medium + +* Test an individual URL with web_connectivity +Supported: no +Priority: high + +* Run tests automatically like `ooniprobe-agent` +Supported: no +Priority: high + +* Write custom tests like OONI test templates +Supported: no +Priority: medium + +* Packet captures +Supported: no +Priority: low + +* Upload measurements using onion services +Supported: no +Priority: low + +* Log level support to aid debugging +Supported: no +Priority: medium + +* Measurement quota to limit the disk usage +Supported: no +Priority: high + +* Failover strategies for uploading measurements (use https then onion then cloudfront) +Supported: no +Priority: high From 6f099bb3e0c8eadb7135a49f7c4942024103c31a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Arturo=20Filast=C3=B2?= Date: Fri, 29 Nov 2019 17:24:16 +0100 Subject: [PATCH 2/7] Use emoji to make things more readable --- docs/OONIProbeLegacyCompatibility.md | 52 ++++++++++++++-------------- 1 file changed, 26 insertions(+), 26 deletions(-) diff --git a/docs/OONIProbeLegacyCompatibility.md b/docs/OONIProbeLegacyCompatibility.md index d5b2f15..9a9ea36 100644 --- a/docs/OONIProbeLegacyCompatibility.md +++ b/docs/OONIProbeLegacyCompatibility.md @@ -1,39 +1,39 @@ # Command line flags `-h, --help` Display help and exit -Supported: yes +Supported: ✅ probe-cli equivalent: `-h, --help` `-n, --no-collector` Disable writing to collector -Supported: no +Supported: ❌ Priority: high `-N, --no-njson` Disable writing to disk -Supported: no +Supported: ❌ Priority: low `-g, --no-geoip` Disable geoip lookup on start. -Supported: no +Supported: ❌ Priority: low `-s, --list` List the currently installed ooniprobe nettests -Supported: no +Supported: ❌ Priority: low `-w, --web-ui` Start the web UI -Supported: no +Supported: ❌ Priority: wontfix, we have no web UI in probe-cli `-z, --initialize` Initialize ooniprobe to begin running it -Supported: yes +Supported: ✅ probe-cli equivalent: `ooniprobe onboard` `-o, --reportfile PATH_TO_FILE` Specify the report file name to write to. -Supported: no +Supported: ❌ Priority: medium `-i, --testdeck PATH_TO_DECK` Specify as input a test deck: a yaml file containing the tests to run and their arguments. -Supported: no +Supported: ❌ Priority: wontfix, we have no deck support `-c, --collector COLLECTOR_ADDRESS` Specify the address of the collector for test results. In most cases a user will prefer to specify a bouncer over this. @@ -45,27 +45,27 @@ Supported: partially probe-cli equivalent: edit ooniprobe.conf to specify the bouncer address in the options `-l, --logfile PATH_TO_LOGFILE` Write to this logs to this filename. -Supported: no +Supported: ❌ Priority: medium `-O, --pcapfile PATH_TO_PCAPFILE` Write a PCAP of the ooniprobe session to this filename. -Supported: no +Supported: ❌ Priority: wontfix, we don't have packet capture support in probe-cli `-f, --configfile PATH_TO_CONFIG` Specify a path to the ooniprobe configuration file. -Supported: yes +Supported: ✅ probe-cli equivalent: `--config` `-d, --datadir` Specify a path to the ooniprobe data directory. -Supported: yes +Supported: ✅ probe-cli equivalent: set the `OONI_HOME` environment variable `-a, --annotations key:value[,key2:value2]` Annotate the report with a key:value[, key:value] format. -Supported: yes +Supported: ✅ Priority: high `-P, --preferred-backend onion|https|cloudfront` Set the preferred backend to use when submitting results and/or communicating with test helpers. Can be either onion, https or cloudfront -Supported: no +Supported: ❌ Priority: wontfix, we don't support any other backend beyond https, yet we will and yet we would prefer to have the logic of reporting be managed by the probe itself and not expose this setting. @@ -73,46 +73,46 @@ itself and not expose this setting. # Features * Run a test deck -Supported: yes +Supported: ✅ probe-cli equivalent: we now call a test deck a test group and we have them coded into the logic of the client * Run an individual netttest -Supported: no +Supported: ❌ Priority: medium * Upload a measurement like `oonireport upload` -Supported: no +Supported: ❌ Priority: medium * Test an individual URL with web_connectivity -Supported: no +Supported: ❌ Priority: high * Run tests automatically like `ooniprobe-agent` -Supported: no +Supported: ❌ Priority: high * Write custom tests like OONI test templates -Supported: no +Supported: ❌ Priority: medium * Packet captures -Supported: no +Supported: ❌ Priority: low * Upload measurements using onion services -Supported: no +Supported: ❌ Priority: low * Log level support to aid debugging -Supported: no +Supported: ❌ Priority: medium * Measurement quota to limit the disk usage -Supported: no +Supported: ❌ Priority: high * Failover strategies for uploading measurements (use https then onion then cloudfront) -Supported: no +Supported: ❌ Priority: high From 0b3661ffaab7f6c1d3ed3e4a0e3511c6831ea0c3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Arturo=20Filast=C3=B2?= Date: Mon, 2 Dec 2019 12:35:24 +0200 Subject: [PATCH 3/7] Update OONIProbeLegacyCompatibility.md --- docs/OONIProbeLegacyCompatibility.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/OONIProbeLegacyCompatibility.md b/docs/OONIProbeLegacyCompatibility.md index 9a9ea36..e68d636 100644 --- a/docs/OONIProbeLegacyCompatibility.md +++ b/docs/OONIProbeLegacyCompatibility.md @@ -61,13 +61,13 @@ Supported: ✅ probe-cli equivalent: set the `OONI_HOME` environment variable `-a, --annotations key:value[,key2:value2]` Annotate the report with a key:value[, key:value] format. -Supported: ✅ +Supported: ❌ Priority: high `-P, --preferred-backend onion|https|cloudfront` Set the preferred backend to use when submitting results and/or communicating with test helpers. Can be either onion, https or cloudfront Supported: ❌ Priority: wontfix, we don't support any other backend beyond https, yet we will -and yet we would prefer to have the logic of reporting be managed by the probe +and we would prefer to have the logic of reporting be managed by the probe itself and not expose this setting. # Features From 5486f6db937e9153eec9ef2bb02661b8cf6f61ea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Arturo=20Filast=C3=B2?= Date: Mon, 2 Dec 2019 12:44:42 +0200 Subject: [PATCH 4/7] fix typos --- docs/OONIProbeLegacyCompatibility.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/OONIProbeLegacyCompatibility.md b/docs/OONIProbeLegacyCompatibility.md index e68d636..29b1366 100644 --- a/docs/OONIProbeLegacyCompatibility.md +++ b/docs/OONIProbeLegacyCompatibility.md @@ -77,7 +77,7 @@ Supported: ✅ probe-cli equivalent: we now call a test deck a test group and we have them coded into the logic of the client -* Run an individual netttest +* Run an individual nettest Supported: ❌ Priority: medium From e4ff1fe89a7a5a29ee48d80dab9b649f692309d3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Arturo=20Filast=C3=B2?= Date: Mon, 2 Dec 2019 12:58:18 +0200 Subject: [PATCH 5/7] Add missing options from @anadahz feedback --- docs/OONIProbeLegacyCompatibility.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/docs/OONIProbeLegacyCompatibility.md b/docs/OONIProbeLegacyCompatibility.md index 29b1366..2b698c4 100644 --- a/docs/OONIProbeLegacyCompatibility.md +++ b/docs/OONIProbeLegacyCompatibility.md @@ -4,6 +4,14 @@ Supported: ✅ probe-cli equivalent: `-h, --help` +`--version` Display the version exit +Supported: ✅ +probe-cli equivalent: `ooniprobe version` + +`-v, --verbose` Enable verbose log output +Supported: ✅ +probe-cli equivalent: `ooniprobe -v` + `-n, --no-collector` Disable writing to collector Supported: ❌ Priority: high @@ -70,6 +78,10 @@ Priority: wontfix, we don't support any other backend beyond https, yet we will and we would prefer to have the logic of reporting be managed by the probe itself and not expose this setting. +`-Q, --queue`, AMQP Queue URL. amqp://user:pass@host:port/vhost/queue +Supported: ❌ +Priority: wontfix + # Features * Run a test deck From 94f08d7e614ba805b525a458f7569f37f3cffd50 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Arturo=20Filast=C3=B2?= Date: Mon, 2 Dec 2019 12:59:10 +0200 Subject: [PATCH 6/7] Update OONIProbeLegacyCompatibility.md --- docs/OONIProbeLegacyCompatibility.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/docs/OONIProbeLegacyCompatibility.md b/docs/OONIProbeLegacyCompatibility.md index 2b698c4..a7d7413 100644 --- a/docs/OONIProbeLegacyCompatibility.md +++ b/docs/OONIProbeLegacyCompatibility.md @@ -101,6 +101,10 @@ Priority: medium Supported: ❌ Priority: high +* Test a custom URL list from a file with web_connectivity +Supported: ❌ +Priority: high + * Run tests automatically like `ooniprobe-agent` Supported: ❌ Priority: high From 868e31bc09f090c8a044d9ce7d4d4741663b653b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Arturo=20Filast=C3=B2?= Date: Wed, 4 Dec 2019 13:13:13 +0200 Subject: [PATCH 7/7] Address feedback from @bassosimone --- docs/OONIProbeLegacyCompatibility.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/OONIProbeLegacyCompatibility.md b/docs/OONIProbeLegacyCompatibility.md index a7d7413..8b6051f 100644 --- a/docs/OONIProbeLegacyCompatibility.md +++ b/docs/OONIProbeLegacyCompatibility.md @@ -58,7 +58,7 @@ Priority: medium `-O, --pcapfile PATH_TO_PCAPFILE` Write a PCAP of the ooniprobe session to this filename. Supported: ❌ -Priority: wontfix, we don't have packet capture support in probe-cli +Priority: low `-f, --configfile PATH_TO_CONFIG` Specify a path to the ooniprobe configuration file. Supported: ✅ @@ -109,7 +109,7 @@ Priority: high Supported: ❌ Priority: high -* Write custom tests like OONI test templates +* Public API for writing OONI tests (see: https://github.com/ooni/probe-legacy/blob/master/docs/source/writing_tests.rst) Supported: ❌ Priority: medium