foxyproxy / browser-extension

Version 8 and above. Browser extension source code for Firefox, Chrome, and other Chromium-based browsers
GNU General Public License v2.0
198 stars 29 forks source link

QUIC (HTTP/3) connections do not work when using socks5 proxies #124

Open vukitoso opened 4 months ago

vukitoso commented 4 months ago

Hello.

Thank you very much for the FoxyProxy extension, a very useful extension, I use it all the time.

Firefox 121.0.1 FoxyProxy 8.9

When using socks5 proxies, QUIC (HTTP/3) connections do not work, only HTTP2. I check here https://quic.nginx.org/quic.html

erosman commented 4 months ago

In Chrome, QUIC (HTTP/3) is a separate scheme than HTTP/HTTPS/SOCKS4/SOCKS5.

At the moment, proxy.ProxyInfo does not appear to support QUIC (HTTP/3).

I am going to have a chat with Mozilla engineers about it and get back to you.

Ref: ProxyChannelFilter.sys.mjs

vukitoso commented 4 months ago

Strange. QUIC is just an add-on over UDP, just like HTTP is over TCP. And Socks5 supports TCP and UDP. In theory it should work.

erosman commented 4 months ago

It appears that HTTP/3 proxy is disabled in Firefox at the moment.

ref: HttpBaseChannel.cpp

PS. QUIC proxy is supported by Chrome and is enabled in FoxyProxy 8.10

vukitoso commented 4 months ago

It appears that HTTP/3 proxy is disabled in Firefox at the moment.

Thanks a lot. Did you find this yourself from the source code or did you talk to the Firefox developers?

erosman commented 4 months ago

I was told by the Firefox engineers. I am following up with them to see if there are plans to add support.

vukitoso commented 4 months ago

I asked a question yesterday - https://discourse.mozilla.org/t/quic-http-3-connection-does-not-work-when-using-socks5-proxy/128090

vukitoso commented 4 months ago

https://bugzilla.mozilla.org/show_bug.cgi?id=1882018

erosman commented 4 months ago

Bug 1882018 This is because our SOCKS proxy layer does not support UDP traffic.

See also: Bug 1808692: SOCKS implementation does not support UDP Bug 1882071: Support QUIC (HTTP/3) scheme in proxy