[tor-dev] HTTP-requesting browser extension WIP (works in Firefox, not in Tor Browser)

David Fifield david at bamsoftware.com
Wed Mar 12 05:31:16 UTC 2014


On Tue, Mar 11, 2014 at 05:22:37PM -0400, Mark Smith wrote:
> On 3/10/14, 11:23 PM, David Fifield wrote:
> >I started trying to write a Firefox extension that makes HTTP requests
> >outside of the proxy settings. I have one that works in Iceweasel 24.3
> >and does the Host header trick used by the transport. However it doesn't
> >work in Tor Browser, and I'm looking for some insight as to why it might
> >be so.
> >
> >The source code of the extension is in the "firefox" directory of
> >	git clone -b extension https://www.bamsoftware.com/git/meek.git
> >Instructions on how to try it are: https://developer.mozilla.org/en-US/docs/Building_an_Extension#Test.
> >I also pasted the important JavaScript code at the end of this message.
> 
> I looked at this for a few minutes but ran out of time for today.
> 
> When I dump aStatus in your onStopRequest function, I get 2152398890
> which is 0x804B002A which is NS_ERROR_UNKNOWN_PROXY_HOST (see
> https://developer.mozilla.org/en-US/docs/Table_Of_Errors).
> 
> I am not sure what that means but it sounds interesting.

Thanks for finding this clue. It appears to me that the critical
difference is in the network.proxy.socks_remote_dns setting. My
Iceweasel had it false and Tor Browser had it true. If it make it true
in Iceweasel, the extension fails; if I make it false in Tor Browser,
the extension succeeds. I'll see if there's a way to make it work with
socks_remote_dns=true.

The NS_ERROR_UNKNOWN_PROXY_HOST was coming from the "" hostname passed
to newProxyInfo. If I change it to "127.0.0.1", I instead get the error
0x804b0048 NS_ERROR_PROXY_CONNECTION_REFUSED, and I see that Firefox is
actually trying to connect to 127.0.0.1, despite that a "direct" proxy
type is in use.

David Fifield


More information about the tor-dev mailing list