[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

Re: [tor-bugs] #29347 [Obfuscation/meek]: Rewrite meek-http-helper as a WebExtension



#29347: Rewrite meek-http-helper as a WebExtension
------------------------------+--------------------------
 Reporter:  dcf               |          Owner:  dcf
     Type:  enhancement       |         Status:  assigned
 Priority:  Medium            |      Milestone:
Component:  Obfuscation/meek  |        Version:
 Severity:  Normal            |     Resolution:
 Keywords:  webextension      |  Actual Points:
Parent ID:                    |         Points:
 Reviewer:                    |        Sponsor:
------------------------------+--------------------------

Comment (by dcf):

 I added the ability to control the header (including the Host header) in
 [https://gitweb.torproject.org/pluggable-
 transports/meek.git/commit/?h=webextension&id=b2b8b3af03b35d3c1fa794c229f77cc95db5cdf4
 b2b8b3af03b35d3c1fa794c229f77cc95db5cdf4]. Now I can bootstrap with
 {{{
 Bridge meek 0.0.2.0:3 url=https://meek.azureedge.net/
 front=ajax.aspnetcdn.com
 }}}

 In order to avoid conflicts with the shared `onBeforeSendHeaders` resource
 as described in comment:2, I'm using a mutex-like object that waits on a
 promise, while simultaneously creating a new promise for the ''next''
 caller to wait on. We acquire a lock and register an `onBeforeSendHeaders`
 listener just before sending the HTTP request, and release the lock and
 unregister the listener (i.e., resolve the promise) inside the listener
 itself (i.e., before the HTTP request actually hits the network). I'm
 pretty new to this JavaScript async stuff so you may want to look at it.

--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/29347#comment:10>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online
_______________________________________________
tor-bugs mailing list
tor-bugs@xxxxxxxxxxxxxxxxxxxx
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-bugs