diff options
author | Shelikhoo <xiaokangwang@outlook.com> | 2023-10-18 16:48:59 +0100 |
---|---|---|
committer | Shelikhoo <xiaokangwang@outlook.com> | 2023-10-24 17:43:32 +0100 |
commit | f43da1d2d2cd35fcd2900f2da103c8acdbf3b69b (patch) | |
tree | 58d7edc984f215609b9294f9869a7f266a54ea2a | |
parent | 8b46e60553b9de34df12079906f72559361ea20d (diff) | |
download | snowflake-f43da1d2d2cd35fcd2900f2da103c8acdbf3b69b.tar.gz snowflake-f43da1d2d2cd35fcd2900f2da103c8acdbf3b69b.zip |
Add transport wrapper
-rw-r--r-- | common/proxy/client.go | 17 |
1 files changed, 17 insertions, 0 deletions
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) +} |