From a5985c5b6f99d2f49bd2c4cc645fb4b3119a8269 Mon Sep 17 00:00:00 2001 From: Toby Date: Wed, 2 Nov 2022 22:47:38 -0700 Subject: [PATCH] chore: reduce udp buffer sizes to 4k & pipe buffer size to 32k --- pkg/core/server_client.go | 2 +- pkg/relay/udp.go | 2 +- pkg/socks5/server.go | 2 +- pkg/tproxy/udp_linux.go | 2 +- pkg/transport/pktconns/faketcp/obfs.go | 2 +- pkg/transport/pktconns/udp/obfs.go | 2 +- pkg/transport/pktconns/udphop/common.go | 2 +- pkg/transport/pktconns/wechat/obfs.go | 2 +- pkg/tun/udp.go | 2 +- pkg/utils/pipe.go | 2 +- 10 files changed, 10 insertions(+), 10 deletions(-) diff --git a/pkg/core/server_client.go b/pkg/core/server_client.go index 244d465..6f9639c 100644 --- a/pkg/core/server_client.go +++ b/pkg/core/server_client.go @@ -17,7 +17,7 @@ import ( "github.com/prometheus/client_golang/prometheus" ) -const udpBufferSize = 65535 +const udpBufferSize = 4096 type serverClient struct { CC quic.Connection diff --git a/pkg/relay/udp.go b/pkg/relay/udp.go index c6b34ce..f02d227 100644 --- a/pkg/relay/udp.go +++ b/pkg/relay/udp.go @@ -10,7 +10,7 @@ import ( "github.com/HyNetwork/hysteria/pkg/core" ) -const udpBufferSize = 65535 +const udpBufferSize = 4096 var ErrTimeout = errors.New("inactivity timeout") diff --git a/pkg/socks5/server.go b/pkg/socks5/server.go index 4cbd4dd..95c8d10 100644 --- a/pkg/socks5/server.go +++ b/pkg/socks5/server.go @@ -19,7 +19,7 @@ import ( "github.com/txthinking/socks5" ) -const udpBufferSize = 65535 +const udpBufferSize = 4096 var ( ErrUnsupportedCmd = errors.New("unsupported command") diff --git a/pkg/tproxy/udp_linux.go b/pkg/tproxy/udp_linux.go index 0b684c8..1c07f49 100644 --- a/pkg/tproxy/udp_linux.go +++ b/pkg/tproxy/udp_linux.go @@ -8,7 +8,7 @@ import ( "github.com/LiamHaworth/go-tproxy" ) -const udpBufferSize = 65535 +const udpBufferSize = 4096 type UDPTProxy struct { HyClient *core.Client diff --git a/pkg/transport/pktconns/faketcp/obfs.go b/pkg/transport/pktconns/faketcp/obfs.go index 2b44ebf..608503e 100644 --- a/pkg/transport/pktconns/faketcp/obfs.go +++ b/pkg/transport/pktconns/faketcp/obfs.go @@ -9,7 +9,7 @@ import ( "github.com/HyNetwork/hysteria/pkg/transport/pktconns/obfs" ) -const udpBufferSize = 65535 +const udpBufferSize = 4096 type ObfsFakeTCPPacketConn struct { orig *TCPConn diff --git a/pkg/transport/pktconns/udp/obfs.go b/pkg/transport/pktconns/udp/obfs.go index 073f786..d985e40 100644 --- a/pkg/transport/pktconns/udp/obfs.go +++ b/pkg/transport/pktconns/udp/obfs.go @@ -10,7 +10,7 @@ import ( "github.com/HyNetwork/hysteria/pkg/transport/pktconns/obfs" ) -const udpBufferSize = 65535 +const udpBufferSize = 4096 type ObfsUDPPacketConn struct { orig *net.UDPConn diff --git a/pkg/transport/pktconns/udphop/common.go b/pkg/transport/pktconns/udphop/common.go index cfe13e5..9205233 100644 --- a/pkg/transport/pktconns/udphop/common.go +++ b/pkg/transport/pktconns/udphop/common.go @@ -8,7 +8,7 @@ import ( const ( packetQueueSize = 1024 - udpBufferSize = 2048 + udpBufferSize = 4096 ) // parseAddr parses the listen address and returns the host and ports. diff --git a/pkg/transport/pktconns/wechat/obfs.go b/pkg/transport/pktconns/wechat/obfs.go index 6e13696..2714b20 100644 --- a/pkg/transport/pktconns/wechat/obfs.go +++ b/pkg/transport/pktconns/wechat/obfs.go @@ -12,7 +12,7 @@ import ( "github.com/HyNetwork/hysteria/pkg/transport/pktconns/obfs" ) -const udpBufferSize = 65535 +const udpBufferSize = 4096 // ObfsWeChatUDPPacketConn is still a UDP packet conn, but it adds WeChat video call header to each packet. // Obfs in this case can be nil diff --git a/pkg/tun/udp.go b/pkg/tun/udp.go index 8bfb030..f824699 100644 --- a/pkg/tun/udp.go +++ b/pkg/tun/udp.go @@ -13,7 +13,7 @@ import ( "github.com/xjasonlyu/tun2socks/v2/core/adapter" ) -const udpBufferSize = 65535 +const udpBufferSize = 4096 func (s *Server) HandleUDP(conn adapter.UDPConn) { go s.handleUDPConn(conn) diff --git a/pkg/utils/pipe.go b/pkg/utils/pipe.go index 828b205..55c95ee 100644 --- a/pkg/utils/pipe.go +++ b/pkg/utils/pipe.go @@ -6,7 +6,7 @@ import ( "time" ) -const PipeBufferSize = 65535 +const PipeBufferSize = 32 * 1024 func Pipe(src, dst io.ReadWriter, count func(int)) error { buf := make([]byte, PipeBufferSize)