Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

HTTP3(quiche) not work with socks5 proxy #7533

Closed
GongT opened this issue Aug 4, 2021 · 2 comments
Closed

HTTP3(quiche) not work with socks5 proxy #7533

GongT opened this issue Aug 4, 2021 · 2 comments

Comments

@GongT
Copy link

GongT commented Aug 4, 2021

I did this

  1. ncat -kvvl 12345 # A
  2. ncat -uvvl 12345 # B
  3. ./src/curl --http3 -v --proxy socks5://127.0.0.1:12345 https://www.google.com

I expected the following

curl should make TCP connection to A, then create a UDP bridge. B should recv nothing.

What I got

curl send UDP packet to B

log:

* Uses proxy env variable NO_PROXY == '10.*,192.*,127.*,172.*'
*   Trying 127.0.0.1:12345...
* Connect socket 5 over QUIC to 127.0.0.1:12345
* Sent QUIC client Initial, ALPN: h3,h3-29,h3-28,h3-27

curl/libcurl version

curl 7.78.0-DEV (x86_64-pc-linux-gnu) libcurl/7.78.0-DEV BoringSSL zlib/1.2.11 quiche/0.9.0
Release-Date: [unreleased]
Protocols: dict file ftp ftps gopher gophers http https imap imaps mqtt pop3 pop3s rtsp smb smbs smtp smtps telnet tftp
Features: alt-svc AsynchDNS HSTS HTTP3 HTTPS-proxy IPv6 Largefile libz NTLM NTLM_WB SSL UnixSockets

operating system

Linux developmentenvironment 5.13.4-200.fc34.x86_64 #1 SMP Tue Jul 20 20:27:29 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux

@bagder
Copy link
Member

bagder commented Aug 4, 2021

This is not a feature anyone has implemented. It should indeed be possible.

@bagder
Copy link
Member

bagder commented Aug 8, 2021

Thanks, but this description sounds as if you're asking for a new feature/change. We use this tracker for bugs and issues only, we put ideas to work on in the future in the TODO document. We basically drown in good ideas so they don't do much use in our tracker.

If you really want to see this happen, start working on an implementation and submit a PR for it or join the mailing list and talk up more interest for it and see what help from others you can get!

QUIC uses UDP so I suspect doing it over TCP in the last hop will not "just work" without some additional quirks being applied. I don't know of anyone working on this for any project anywhere.

@bagder bagder closed this as completed Aug 8, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Development

No branches or pull requests

2 participants