-
Notifications
You must be signed in to change notification settings - Fork 249
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
QUIC support #557
Comments
I've tried implementing this myself, and it appears to be working with just: diff --git a/storage/s3.go b/storage/s3.go
index 701b525..310d94c 100644
--- a/storage/s3.go
+++ b/storage/s3.go
@@ -29,6 +29,8 @@ import (
"github.com/aws/aws-sdk-go/service/s3/s3iface"
"github.com/aws/aws-sdk-go/service/s3/s3manager"
"github.com/aws/aws-sdk-go/service/s3/s3manager/s3manageriface"
+ "github.com/quic-go/quic-go"
+ "github.com/quic-go/quic-go/http3"
"github.com/peak/s5cmd/log"
"github.com/peak/s5cmd/storage/url"
@@ -881,6 +883,16 @@ func (sc *SessionCache) newSession(ctx context.Context, opts Options) (*session.
}
var httpClient *http.Client
+
+ var qconf quic.Config
+ roundTripper := &http3.RoundTripper{
+ QuicConfig: &qconf,
+ }
+
+ httpClient = &http.Client{
+ Transport: roundTripper,
+ }
+
if opts.NoVerifySSL {
httpClient = insecureHTTPClient
} However it does make the client complain about buffer sizes per this upstream document. I shall experiment with this a bit more. |
Very good work, please keep us updated once it's implemented. What kind of S3 compliant storage do you use if I may ask? |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
I use
s5cmd
against my own S3-compliant storage which also has QUIC / HTTP/3 support on the frontendtraefik
servers.Whilst Amazon S3 doesn't support this, it would be neat if
s5cmd
could integrate with https://github.com/quic-go/quic-go and upgrade connections to QUIC if support is detected.The text was updated successfully, but these errors were encountered: