h3 icon indicating copy to clipboard operation
h3 copied to clipboard

CONNECT and tunnel support

Open stevenctl opened this issue 3 years ago • 6 comments

From the proposal:

HTTP CONNECT to tunnel over a single QUIC stream

Curious what the status is? If nobody is working on this I'd be happy to contribute although I might need a bit of guidance.

Guidance mostly around the expected API surface. Currently inspecting h2 as a reference.

If the proxy detects that the client has reset the stream or aborted reading from the stream, it MUST close the TCP connection.

The client TCP connection and probably server TCP connection would be managed by the application/proxy that depends on h3 (at least for the usecases I have in mind). Is there desire to handle that forwarding in h3? I assume not.

stevenctl avatar Feb 21 '23 17:02 stevenctl

Gentle ping ... any feedback from a maintainer would be great.

nmittler avatar Mar 08 '23 19:03 nmittler

I don't know what the status is. Does it not "just work" right now?

Anything in the spec we likely want to support. If you want to try to figure out what is needed, you're welcome to! I don't know if any of the others have the time to focus on this, though.

seanmonstar avatar Mar 09 '23 00:03 seanmonstar

@seanmonstar ah got it. I think we were just assuming there were missing pieces since it was still listed in the roadmap

nmittler avatar Mar 09 '23 15:03 nmittler

It certainly could be, I haven't checked at all. I've already forgotten what even is required. If it's similar to HTTP/2 CONNECT, then we probably need some work done.

seanmonstar avatar Mar 09 '23 15:03 seanmonstar

HTTP/2 CONNECT

Just from reading https://datatracker.ietf.org/doc/html/rfc9114#section-4.4 it seems to be a lot of changes to how it works but most of it stays the same.

Eveeifyeve avatar Aug 03 '25 18:08 Eveeifyeve

https://github.com/hyperium/h3/pull/322 brings client behaviour inline with requirements of standard CONNECT for TCP tunnelling.

yaroslavros avatar Nov 10 '25 00:11 yaroslavros