#11393 closed project (implemented)
Make an HTTP requestor Chrome extension for meek-client
Reported by: | dcf | Owned by: | clan |
---|---|---|---|
Priority: | Medium | Milestone: | |
Component: | Obfuscation/meek | Version: | |
Severity: | Normal | Keywords: | meek |
Cc: | clan | Actual Points: | |
Parent ID: | Points: | ||
Reviewer: | Sponsor: |
Description
Like in #11183, make an extension for Chrome/Chromium that makes HTTP requests on behalf of another program.
Child Tickets
Change History (6)
comment:1 Changed 5 years ago by
Owner: | changed from asn to clan |
---|---|
Status: | new → assigned |
comment:2 Changed 5 years ago by
Component: | Pluggable transport → meek |
---|
comment:3 Changed 5 years ago by
The webRequest API does not handle SPDY connection properly. It does not change the HTTP header when SPDY is enabled. To use the extension you need to disable SPDY in Chrome, so that Chrome will connect to Google using HTTP rather SPDY. Since the documentation (https://developer.chrome.com/extensions/webRequest) does not mention anything about SPDY, it should behave consistently. It is probably a bug.
To disable SPDY, you can run Chrome with the argument --use-spdy=off
.
comment:4 Changed 5 years ago by
Resolution: | → implemented |
---|---|
Status: | assigned → closed |
comment:5 Changed 5 years ago by
Adding a link to the upstream Chromium issue from comment:3:
- WebRequest cannot set Host header for SPDY requests
https://code.google.com/p/chromium/issues/detail?id=364319
comment:6 Changed 3 years ago by
Severity: | → Normal |
---|
I removed the Chrome extension from the source code just now. I think it hasn't been used in a while and it isn't getting maintenance. If we need to get it back, the last commit that had it was b60dc093c98c650f3a8ab1445da8b9185791cbcc.
Chang started doing this at https://github.com/changlan/meek/tree/chrome (and copied to https://gitweb.torproject.org/pluggable-transports/meek.git/shortlog/refs/heads/chrome). It is broken into two parts: and app and an extension, because extensions aren't allowed to open listening sockets in Chrome. It goes like this:
According to https://developer.chrome.com/extensions/webRequest, it's not supposed to be possible to modify the Host header. But apparently it works. https://code.google.com/p/chromium/issues/detail?id=158073 is the bug report noting the discrepancy.