ooni-probe-cli/internal/cmd/miniooni
Simone Basso a849213b59
fix(engine): break circular dep betwen session and tunnel (#295)
This diff breaks the circular dependency between session and
tunnel, by introducing the concept of early session.

An early session is a session that is able to fetch the psiphon
configuration file _only_ if it's embedded in the binary.

This breaks `miniooni --tunnel=psiphon` for users who have
access to the OONI backend. They are not the users we are
writing this feature for, though, so I think this is reasonable.

At the same time, this opens up the possibility of creating
a psiphon tunnel when constructing a session, which is the
approach I was following in https://github.com/ooni/probe-cli/pull/286.

This work is part of https://github.com/ooni/probe/issues/985.

Once this diff is in, I can land https://github.com/ooni/probe-cli/pull/286.
2021-04-05 12:02:35 +02:00
..
.gitignore refactor: merge libminiooni into cmd/miniooni (#268) 2021-03-29 19:03:53 +02:00
libminiooni_test.go refactor: merge libminiooni into cmd/miniooni (#268) 2021-03-29 19:03:53 +02:00
libminiooni.go feat(tunnel): introduce persistent tunnel state dir (#294) 2021-04-05 11:27:41 +02:00
main.go fix(engine): break circular dep betwen session and tunnel (#295) 2021-04-05 12:02:35 +02:00
README.md refactor: merge libminiooni into cmd/miniooni (#268) 2021-03-29 19:03:53 +02:00

miniooni

This directory contains the source code of a simple CLI client that we use for research as well as for running QA scripts. We designed this tool to have a CLI similar to MK and OONI Probe v2.x to ease running Jafar scripts that check whether these tools behave similarly. Perfect backwards compatibility was not a design goal for miniooni. Rather, we aimed to have as little conflict as possible, such that we can run side-by-side QA checks.