2023-02-01 12:14:22 +07:00
|
|
|
/*
|
|
|
|
* SPDX-License-Identifier: AGPL-3.0-only
|
2024-01-04 16:28:16 +07:00
|
|
|
* Copyright (c) 2022-2024, daeuniverse Organization <dae@v2raya.org>
|
2023-02-01 12:14:22 +07:00
|
|
|
*/
|
|
|
|
|
|
|
|
package control
|
|
|
|
|
|
|
|
import (
|
|
|
|
"net"
|
|
|
|
"net/netip"
|
|
|
|
"strconv"
|
|
|
|
)
|
|
|
|
|
2024-01-23 19:50:07 +07:00
|
|
|
func RefineSourceToShow(src netip.AddrPort, dst netip.Addr) (srcToShow string) {
|
|
|
|
if src.Addr() == dst {
|
2023-02-01 12:14:22 +07:00
|
|
|
// If nothing else, this means this packet is sent from localhost.
|
|
|
|
return net.JoinHostPort("localhost", strconv.Itoa(int(src.Port())))
|
|
|
|
} else {
|
|
|
|
return RefineAddrPortToShow(src)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
func RefineAddrPortToShow(addrPort netip.AddrPort) (srcToShow string) {
|
|
|
|
return net.JoinHostPort(net.IP(addrPort.Addr().AsSlice()).String(), strconv.Itoa(int(addrPort.Port())))
|
|
|
|
}
|