ooni / probe

OONI Probe network measurement tool for detecting internet censorship
https://ooni.org/install
BSD 3-Clause "New" or "Revised" License
750 stars 142 forks source link

engine: investigate integrating arti as a library #1886

Open bassosimone opened 2 years ago

bassosimone commented 2 years ago

We've seen at Tor's State of the Onion 2021 that arti (tor in rust) has been making great progresses recently. It seems that sooner or later we need to start investigating what it entails to integrate probe-cli with arti (as opposed to integrating little-t tor).

bassosimone commented 8 months ago

We documented the requirements for switching to Arti at https://gitlab.torproject.org/tpo/core/tor/-/issues/40774#note_2959394.

Additionally, note that until we switch to Arti, it's completely unsafe to concurrently use Tor for circumvention and Tor for measuring, since the C implementation of Tor uses static variables. Hence a single instance can be available at any given time. I created https://github.com/ooni/probe/issues/2623 to make sure we write code to avoid running multiple instances of the C implementation of Tor in parallel.

hellais commented 5 months ago

It looks like there is now a "hack" that allows unmanaged support to work in arti: https://gitlab.torproject.org/tpo/core/arti/-/issues/755#note_2935578.

If we feel like something more is missing for us to feel comfortable integrating it, we might want to reach out to the tor folks to ask if we can in some way help make this happen or what their timeline for it is.

This is also maybe something we care about: https://gitlab.torproject.org/tpo/core/arti/-/issues/101, but it may not be necessary to do an MVP.