This PR starts to implement the refactoring described at https://github.com/ooni/probe/issues/1951. I originally wrote more patches than the ones in this PR, but overall they were not readable. Since I want to squash and merge, here's a reasonable subset of the original patches that will still be readable and understandable in the future.
Directory github.com/ooni/probe-cli/internal
This directory contains private Go packages.
As a reminder, you can always check the Go documentation of a package by using
go doc -all ./internal/$package
where $package
is the name of the package.
Some notable packages: