diff --git a/common/protocol/quic/qtls_go118.go b/common/protocol/quic/qtls_go118.go index e701adfa..bfa5e245 100644 --- a/common/protocol/quic/qtls_go118.go +++ b/common/protocol/quic/qtls_go118.go @@ -1,16 +1,18 @@ package quic import ( + "crypto" "crypto/cipher" - - "github.com/quic-go/qtls-go1-20" + _ "crypto/tls" + _ "unsafe" ) -type ( - // A CipherSuiteTLS13 is a cipher suite for TLS 1.3 - CipherSuiteTLS13 = qtls.CipherSuiteTLS13 -) - -func AEADAESGCMTLS13(key, fixedNonce []byte) cipher.AEAD { - return qtls.AEADAESGCMTLS13(key, fixedNonce) +type CipherSuiteTLS13 struct { + ID uint16 + KeyLen int + AEAD func(key, fixedNonce []byte) cipher.AEAD + Hash crypto.Hash } + +//go:linkname AEADAESGCMTLS13 crypto/tls.aeadAESGCMTLS13 +func AEADAESGCMTLS13(key, nonceMask []byte) cipher.AEAD diff --git a/go.mod b/go.mod index 49d8a744..021bd587 100644 --- a/go.mod +++ b/go.mod @@ -11,7 +11,6 @@ require ( github.com/miekg/dns v1.1.50 github.com/pelletier/go-toml v1.9.5 github.com/pires/go-proxyproto v0.6.2 - github.com/quic-go/qtls-go1-20 v0.1.0 github.com/quic-go/quic-go v0.32.0 github.com/refraction-networking/utls v1.2.0 github.com/sagernet/sing v0.1.6 @@ -46,6 +45,7 @@ require ( github.com/pmezard/go-difflib v1.0.0 // indirect github.com/quic-go/qtls-go1-18 v0.2.0 // indirect github.com/quic-go/qtls-go1-19 v0.2.0 // indirect + github.com/quic-go/qtls-go1-20 v0.1.0 // indirect github.com/riobard/go-bloom v0.0.0-20200614022211-cdc8013cb5b3 // indirect go.uber.org/atomic v1.10.0 // indirect golang.org/x/exp v0.0.0-20230131160201-f062dba9d201 // indirect