fix: tuic server's MaxIncomingStreams

This commit is contained in:
wwqgtxx 2023-01-17 14:25:19 +08:00
parent 421c91a58c
commit 37eca8af24

View file

@ -18,6 +18,8 @@ import (
"github.com/Dreamacro/clash/transport/tuic" "github.com/Dreamacro/clash/transport/tuic"
) )
const ServerMaxIncomingStreams = (1 << 32) - 1
type Listener struct { type Listener struct {
closed bool closed bool
config LC.TuicServer config LC.TuicServer
@ -47,8 +49,8 @@ func New(config LC.TuicServer, tcpIn chan<- C.ConnContext, udpIn chan<- C.Packet
} }
quicConfig := &quic.Config{ quicConfig := &quic.Config{
MaxIdleTimeout: time.Duration(config.MaxIdleTime) * time.Millisecond, MaxIdleTimeout: time.Duration(config.MaxIdleTime) * time.Millisecond,
MaxIncomingStreams: 1 >> 32, MaxIncomingStreams: ServerMaxIncomingStreams,
MaxIncomingUniStreams: 1 >> 32, MaxIncomingUniStreams: ServerMaxIncomingStreams,
EnableDatagrams: true, EnableDatagrams: true,
} }
quicConfig.InitialStreamReceiveWindow = tuic.DefaultStreamReceiveWindow / 10 quicConfig.InitialStreamReceiveWindow = tuic.DefaultStreamReceiveWindow / 10