Documentation ¶
Overview ¶
meek-client-torbrowser is an auxiliary program that helps with connecting meek-client to meek-http-helper running in Tor Browser.
Sample usage in torrc (exact paths depend on platform):
ClientTransportPlugin meek exec ./meek-client-torbrowser --log meek-client-torbrowser.log -- ./meek-client --url=https://forbidden.example/ --front=allowed.example --log meek-client.log
Everything up to "--" is options for this program. Everything following it is a meek-client command line. The command line for running firefox is implicit and hardcoded in this program.
This program, meek-client-torbrowser, starts a copy of firefox under the meek-http-helper profile, which must have configured the meek-http-helper extension. This program reads the stdout of firefox, looking for a special line with the listening port number of the extension, one that looks like "meek-http-helper: listen <address>". The meek-client command is then executed as given, except that a --helper option is added that points to the port number read from firefox.
On Windows, this program assumes that it has exclusive control over the HKEY_CURRENT_USER\SOFTWARE\Mozilla\NativeMessagingHosts\meek.http.helper registry key. It creates the key when run and tries to delete it when exiting.
This program proxies stdin and stdout to and from meek-client, so it is actually meek-client that drives the pluggable transport negotiation with tor.