[tor-bugs] #29347 [Obfuscation/meek]: Rewrite meek-http-helper as a WebExtension
Tor Bug Tracker & Wiki
blackhole at torproject.org
Fri Feb 15 22:11:32 UTC 2019
#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
More information about the tor-bugs
mailing list