Tor Browser starts two copies of meek-client-torbrowser, immediately kills one of them
After the first configuration with meek, Tor Browser starts one copy of meek-client-torbrowser, kills it within a second, then starts a second copy, which it actually uses.
- Edit Browser/TorBrowser/Data/Tor/torrc-defaults and activate the log of meek-client-torbrowser.
meek configuration
ClientTransportPlugin meek exec ./TorBrowser/Tor/PluggableTransports/meek-client-torbrowser --log meek-client-torbrowser.log -- ./TorBrowser/Tor/PluggableTransports/meek-client
}}}
2. tail -F Browser/meek-client-torbrowser.log
3. start-tor-browser.desktop
4. Configure, Tor is censored in my country, Provide a bridge I know:
{{{
meek 0.0.2.0:5 url=https://meek.bamsoftware.com/
}}}
5. Close the browser.
6. Notice that on this first bootstrap, there was only one copy of meek-client-torbrowser (look for running firefox command
and sig terminated
).
{{{
2019/04/19 21:00:55 running firefox command ["/home/user/tor-browser_en-US/Browser/firefox" "--invisible" "-no-remote" "-profile" "/home/user/tor-browser_en-US/Browser/TorBrowser/Data/Browser/profile.meek-http-helper"]
2019/04/19 21:00:55 firefox started with pid 19130
2019/04/19 21:00:55 running meek-client command ["./TorBrowser/Tor/PluggableTransports/meek-client" "--helper" "127.0.0.1:44303"]
2019/04/19 21:00:55 meek-client started with pid 19159
2019/04/19 21:01:56 sig terminated
2019/04/19 21:01:56 sending signal terminated to PID 19159
2019/04/19 21:01:56 killing PID 19159
2019/04/19 21:01:56 killing PID 19130
}}}
7. start-tor-browser.desktop
a second time, let it bootstrap, and close the browser.
8. Notice that this time, there were two copies of meek-client-torbrowser, and the first one was killed right away. (See running firefox command
at 21:14:51, sig terminated
at 21:14:52, and running firefox command
at 21:14:52.)
{{{
2019/04/19 21:14:51 running firefox command ["/home/user/tor-browser_en-US/Browser/firefox" "--invisible" "-no-remote" "-profile" "/home/user/tor-browser_en-US/Browser/TorBrowser/Data/Browser/profile.meek-http-helper"]
2019/04/19 21:14:51 firefox started with pid 20227
2019/04/19 21:14:51 running meek-client command ["./TorBrowser/Tor/PluggableTransports/meek-client" "--helper" "127.0.0.1:37937"]
2019/04/19 21:14:51 meek-client started with pid 20254
2019/04/19 21:14:52 sig terminated
2019/04/19 21:14:52 sending signal terminated to PID 20254
2019/04/19 21:14:52 killing PID 20254
2019/04/19 21:14:52 killing PID 20227
2019/04/19 21:14:52 running firefox command ["/home/user/tor-browser_en-US/Browser/firefox" "--invisible" "-no-remote" "-profile" "/home/user/tor-browser_en-US/Browser/TorBrowser/Data/Browser/profile.meek-http-helper"]
2019/04/19 21:14:52 firefox started with pid 20274
2019/04/19 21:14:52 running meek-client command ["./TorBrowser/Tor/PluggableTransports/meek-client" "--helper" "127.0.0.1:40397"]
2019/04/19 21:14:52 meek-client started with pid 20304
2019/04/19 21:15:44 sig terminated
2019/04/19 21:15:44 sending signal terminated to PID 20304
2019/04/19 21:15:44 killing PID 20304
2019/04/19 21:15:44 killing PID 20274
}}}
I started to bisect this because I don't remember seeing it before, but I got back to 7.5 and it still happened. These are the versions I tested:
= tor-browser-linux64-7.5_en-US = | bad |
---|---|
= tor-browser-linux64-8.0_en-US = | bad |
= tor-browser-linux64-8.0.8_en-US = | bad |
= torbrowser-install-win64-8.0.8_en-US = | bad |
On Windows, I saw the two copies result in a "Firefox is already running" dialog, similar to what you get if you switch to meek while the browser is running (legacy/trac#12774 (moved)).
I did not see the same problem with obfs4 configured. In torrc-defaults I tried setting {{{
obfs4proxy configuration
ClientTransportPlugin obfs2,obfs3,obfs4,scramblesuit exec ./TorBrowser/Tor/PluggableTransports/obfs4proxy -enableLogging -logLevel DEBUG
and then monitoring Browser/TorBrowser/Data/Tor/pt_state/obfs4proxy.log, I see only one copy being started. (Look for `[NOTICE]: obfs4proxy-0.0.5 - launched` and `[NOTICE]: obfs4proxy - terminated`.)
I also did not see the problem when running tor separately from Tor Browser.