From f43da1d2d2cd35fcd2900f2da103c8acdbf3b69b Mon Sep 17 00:00:00 2001 From: Shelikhoo Date: Wed, 18 Oct 2023 16:48:59 +0100 Subject: [PATCH] Add transport wrapper --- common/proxy/client.go | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/common/proxy/client.go b/common/proxy/client.go index cd1bd98..eb062f8 100644 --- a/common/proxy/client.go +++ b/common/proxy/client.go @@ -251,3 +251,20 @@ func (r *dnsResolver) lookupIPAddr(ctx context.Context, host string, ipv6 bool) } return returnedIPs, nil } + +func NewTransportWrapper(sc *SocksClient, innerNet transport.Net) transport.Net { + return &transportWrapper{sc: sc, Net: innerNet} +} + +type transportWrapper struct { + transport.Net + sc *SocksClient +} + +func (t *transportWrapper) ListenPacket(network string, address string) (net.PacketConn, error) { + return t.sc.ListenPacket(network, nil) +} + +func (t *transportWrapper) ResolveUDPAddr(network string, address string) (*net.UDPAddr, error) { + return t.sc.ResolveUDPAddr(network, address) +}