[tbb-dev] Request for help: debugging Moat in Tails

Kathleen Brade brade at pearlcrescent.com
Wed May 20 15:12:23 UTC 2020


On 5/20/20 8:54 AM, anonym wrote:
> Hi,
> 
> As I said to Matt and Georg during a meeting, I've had some major headaches with getting Moat to work in Tails, and even debugging it has been hard. To give you an idea of the latter, I couldn't get access to Tor Launcher's logs, so I had to ugly-patch it to always spam the full log into the clipboard just to get it some how.
> 
> For the former, the actual error I see is this prompt, right after clicking "Request a bridge...":
> 
>     Unable to obtain a bridge from BridgeDB.
> 
>     NS_ERROR_NET_INTERRUPT
> 
> I've attached the logs of Tor Launcher and obfs4proxy when this happens. To me it certainly seems like the problem is somewhere in their interaction.
> 
> Note that Tails runs Tor Launcher as a standalone XUL application (via `firefox --app`, using the executable from Tor Browser) and not a (system) extension as in Tor Browser. This might be responsible for the issues I'm having, but if so I have no idea why, or even how to approach debugging it.
> 
> Any ideas?

Mark and I did a quick comparison by running Tor Browser with Moat on a
regular desktop system (outside of Tails).
Comparing the Tor Launcher logging, everything is the same except in the
Tails case no data is received from obfs4proxy. When things are working
you should see something like:

[...] TorLauncher VERB: Moat JSON request:
{"data":[{"version":"0.1.0","type":"client-transports","supported":["obfs4"]}]}
[...] TorLauncher DBUG: Moat onDataAvailable: 63834 bytes
[...] TorLauncher DBUG: Moat onDataAvailable: 25463 bytes
[...] TorLauncher INFO: Moat response HTTP status: 200
[...] TorLauncher VERB: Moat JSON response: {"data": [{"id": "1",
"type": "moat-challenge", ...

The obfs4proxy log looks like this:
... [NOTICE]: obfs4proxy-0.0.11 - launched
... [INFO]: obfs4proxy - initializing client transport listeners
... [INFO]: meek_lite - registered listener: 127.0.0.1:58179
... [INFO]: obfs4proxy - accepting connections
... [DEBUG]: meek_lite - HPKP enabled for host: ajax.aspnetcdn.com
... [INFO]: meek_lite([scrubbed]:443) - closed connection
... [DEBUG]: meek_lite - HPKP enabled for host: ajax.aspnetcdn.com
... [NOTICE]: obfs4proxy - terminated

Our gut feeling is that the problem lies between obfs4proxy and the
frontend server.  Does the meek-azure bridge work? (it uses the same
frontend server as moat)

Maybe someone like dcf, who has a deeper understanding of meek and Go,
could provide some debugging ideas.

-- Kathy


More information about the tbb-dev mailing list