[tbb-bugs] #13788 [Tor Browser]: Meek bridges don't work in TB 4.5alpha1

Tor Bug Tracker & Wiki blackhole at torproject.org
Mon Nov 24 23:39:36 UTC 2014


#13788: Meek bridges don't work in TB 4.5alpha1
-----------------------------+----------------------
     Reporter:  cypherpunks  |      Owner:  tbb-team
         Type:  defect       |     Status:  new
     Priority:  normal       |  Milestone:
    Component:  Tor Browser  |    Version:
   Resolution:               |   Keywords:  meek
Actual Points:               |  Parent ID:
       Points:               |
-----------------------------+----------------------

Comment (by dcf):

 Here are the essential debugging patches.

 This one makes the headless browser not headless, so you can Ctrl+J and
 view the Browser Console. To apply it, you need to first unzip the xpi.
 {{{
 cd Browser/TorBrowser/Data/Browser/profile.meek-http-helper/extensions
 mkdir meek-http-helper at bamsoftware.com
 cd meek-http-helper at bamsoftware.com
 unzip ../meek-http-helper at bamsoftware.com.xpi
 rm ../meek-http-helper at bamsoftware.com
 # Now edit meek-http-helper at bamsoftware.com/components/main.js.
 }}}
 {{{
 --- a/components/main.js
 +++ b/components/main.js
 @@ -83,13 +83,17 @@ MeekHTTPHelper.prototype = {

              // Block forever.
              // https://developer.mozilla.org/en-US/Add-
 ons/Code_snippets/Threads#Waiting_for_a_background_task_to_complete
 +            /*
              var thread = Components.classes["@mozilla.org/thread-
 manager;1"].getService().currentThread;
              while (true)
                  thread.processNextEvent(true);
 +            */
          } finally {
 +            /*
              var app = Components.classes["@mozilla.org/toolkit/app-
 startup;1"]
                  .getService(Components.interfaces.nsIAppStartup);
              app.quit(app.eForceQuit);
 +            */
          }
      },
 }}}

 Unfortunately I don't know of a way to view the browser dump messages out
 of the box, but you can do it by patching meek-client-torbrowser to log
 those messages. You also have to enable logging by adding the --log option
 to the ClientTransportPlugin line (note meek-client-torbrowser and meek-
 client have separate logs). The log will be written to Browser/meek-
 client-torbrowser.log.
 {{{
 ClientTransportPlugin meek exec ./TorBrowser/Tor/PluggableTransports/meek-
 client-torbrowser --log meek-client-torbrowser.log --
 ./TorBrowser/Tor/PluggableTransports/meek-client
 }}}
 {{{
 --- a/meek-client-torbrowser/meek-client-torbrowser.go
 +++ b/meek-client-torbrowser/meek-client-torbrowser.go
 @@ -102,6 +102,7 @@ func grepHelperAddr(r io.Reader) (string, error) {
         scanner := bufio.NewScanner(r)
         for scanner.Scan() {
                 line := scanner.Text()
 +               log.Print(line)
                 if m := helperAddrPattern.FindStringSubmatch(line); m !=
 nil {
                         helperAddr = m[1]
                         break
 @@ -116,7 +117,12 @@ func grepHelperAddr(r io.Reader) (string, error) {
                 return "", io.EOF
         }
         // Keep reading from the browser to avoid its output buffer
 filling.
 -       go io.Copy(ioutil.Discard, r)
 +       go func() {
 +               for scanner.Scan() {
 +                       line := scanner.Text()
 +                       log.Print(line)
 +               }
 +       }()
         return helperAddr, nil
  }
 }}}
 I usually just symlink Browser/TorBrowser/Tor/PluggableTransports/meek-
 client-torbrowser to my development build of meek-client-torbrowser when
 I'm testing something like this. To build meek-client-torbrowser,
 {{{
 export GOPATH=~/go
 cd meek/meek-client-torbrowser
 go build
 }}}
 There are also some commented log.Printf calls in meek-client itself that
 log when it tries to make a request. However I think the error happening
 somewhere inside Firefox; none of the meek code changed since 4.0.

--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/13788#comment:9>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online


More information about the tbb-bugs mailing list