ooni / probe-engine

Semi-automatic export of https://github.com/ooni/probe-cli internals
https://ooni.org
GNU General Public License v3.0
45 stars 16 forks source link

Write tor experiment (episode 1) #226

Closed bassosimone closed 4 years ago

bassosimone commented 4 years ago

We have discussed with @hellais that, rather than working on separate tests for connecting using TCP to bridges (see #2) and for checking whether obfs4 works (see #90), we'd be better off with writing a single Tor experiment that works as follows:

  1. read a list of Tor related targets to check (directory authorities addresses, vanilla bridges, obfs4 bridges, etc.)

  2. for each target, check whether there is TCP level connectivity (what #2 did) and then do something else to gain more confidence we can use it (what #90 did for obfs4)

The main rationale of this design is to have a single place experiment that gives a holistic view of how to best configure/use tor in a specific context.

I have been working towards implementing this experiment for a week now, and it seems to me the time has come for replacing #2 and #90 with this issue. I will accordingly strip #2 and #90 of their priority and effort estimations and mark them as wontfix. This issue will be the right place where to measure our progress towards competing this more ambitious goal.

bassosimone commented 4 years ago

Progress tracking

This comment describes what has been done to complete this issue. The work has entailed some yak shaving in netx and probe-engine to allow for this changes. We have also acknowledged during the development process that this test required more low level data to make sense of it, including the TLS handshake data and TCP level events for OBFS4. This is why we did that now.

bassosimone commented 4 years ago

The first part of work has been done (see https://github.com/ooni/probe-engine/issues/226#issuecomment-573410230). The follow-up issue for next sprint is https://github.com/ooni/probe-engine/issues/276. (This is an indication very large issues should probably be broken down into smaller issues.)