diff --git a/common/listener/listener_tcp.go b/common/listener/listener_tcp.go index 8b2f7e71..636d0cfb 100644 --- a/common/listener/listener_tcp.go +++ b/common/listener/listener_tcp.go @@ -56,7 +56,7 @@ func (l *Listener) ListenTCP() (net.Listener, error) { if l.tproxy { listenConfig.Control = control.Append(listenConfig.Control, func(network, address string, conn syscall.RawConn) error { return control.Raw(conn, func(fd uintptr) error { - return redir.TProxy(fd, M.ParseSocksaddr(address).IsIPv6(), false) + return redir.TProxy(fd, !M.ParseSocksaddr(address).IsIPv4(), false) }) }) } diff --git a/common/listener/listener_udp.go b/common/listener/listener_udp.go index 61db69ce..8174919d 100644 --- a/common/listener/listener_udp.go +++ b/common/listener/listener_udp.go @@ -41,7 +41,7 @@ func (l *Listener) ListenUDP() (net.PacketConn, error) { if l.tproxy { listenConfig.Control = control.Append(listenConfig.Control, func(network, address string, conn syscall.RawConn) error { return control.Raw(conn, func(fd uintptr) error { - return redir.TProxy(fd, M.ParseSocksaddr(address).IsIPv6(), true) + return redir.TProxy(fd, !M.ParseSocksaddr(address).IsIPv4(), true) }) }) }