From 86ea035bddb91c3d810c8787b69cb55c3061c0a0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=B8=96=E7=95=8C?= Date: Sun, 5 Feb 2023 14:38:34 +0800 Subject: [PATCH] Fix ipv6 redir port --- common/redir/redir_linux.go | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/common/redir/redir_linux.go b/common/redir/redir_linux.go index 0f58b2da..5f61bb2a 100644 --- a/common/redir/redir_linux.go +++ b/common/redir/redir_linux.go @@ -1,6 +1,7 @@ package redir import ( + "encoding/binary" "net" "net/netip" "os" @@ -29,7 +30,9 @@ func GetOriginalDestination(conn net.Conn) (destination netip.AddrPort, err erro if err != nil { return err } - destination = netip.AddrPortFrom(M.AddrFromIP(raw.Addr.Addr[:]), raw.Addr.Port) + var port [2]byte + binary.BigEndian.PutUint16(port[:], raw.Addr.Port) + destination = netip.AddrPortFrom(M.AddrFromIP(raw.Addr.Addr[:]), binary.LittleEndian.Uint16(port[:])) } return nil })