Users occasionally show up on #tor and wonder why they are unable to connect to the network. We sometimes suspect censorship but it's often difficult to confirm this hypothesis. It would be useful to have a lightweight censorship analysis tool for users to run. Think of it as a small, specialised OONI: It should be a self-contained executable that tests if the user's computer can do the following:
Connect to the TCP port of our directory authorities.
Fetch the index page of critical websites (e.g., bridges.tp.o) over HTTPS.
Establish a TLS connection with a bridge authority and a relay.
...
The output of the tool can be a simple text file that the user can then email to us, or paste in a chat window. We originally had this idea several years ago and documented it in a research paper but nobody every followed up. Such a tool could also be useful as part of an anti-censorship rapid response process.
If this sounds like a good idea, then I suggest that we build the tool in Go because 1) we have several talented Go hackers, 2) Go binaries are self-contained, and 3) since Go 1.5, cross-compiling for Windows seems relatively simple.
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Child items
0
Show closed items
No child items are currently assigned. Use child items to break down this issue into smaller parts.
Linked items
0
Link issues together to show that they're related.
Learn more.
If emma.exe is double-clicked on Windows, it may open a terminal window, display the output, then close the window again. Perhaps in the default configuration, it should append its output (timestamped) to a file.
For reachability tests, it would be good to show an elapsed time, in both the reachable and unreachable case.
For the DNS lookups, it would be nice to see what names were resolved. This is in case there are multiple versions of the program distributed, so we can tell from the output whether the domains included a particular one that we care about.
Marking this as Sponsor30-can because our tool helps with creating the censorship snapshot we're working on over at #28531 (moved). In fact, a volunteer in Iran already ran emma, revealing that 1) default bridges are reachable, 2) directory authorities are reachable, 3) *.torproject.org is blocked by DNS.
If emma.exe is double-clicked on Windows, it may open a terminal window, display the output, then close the window again. Perhaps in the default configuration, it should append its output (timestamped) to a file.
For reachability tests, it would be good to show an elapsed time, in both the reachable and unreachable case.
For the DNS lookups, it would be nice to see what names were resolved. This is in case there are multiple versions of the program distributed, so we can tell from the output whether the domains included a particular one that we care about.
These are great ideas, thanks! I addressed your feedback as follows:
By default, the tool now writes its report to a file unless given the -stdout flag.