From d83b12457b66662433989a869329861ad45a18b8 Mon Sep 17 00:00:00 2001 From: Tara Rostami <132676256+TaraRostami@users.noreply.github.com> Date: Wed, 14 Feb 2024 17:48:54 +0330 Subject: [PATCH] Update server.go --- web/service/server.go | 23 ++++------------------- 1 file changed, 4 insertions(+), 19 deletions(-) diff --git a/web/service/server.go b/web/service/server.go index e7dccb81..822918a8 100644 --- a/web/service/server.go +++ b/web/service/server.go @@ -74,9 +74,8 @@ type Status struct { Recv uint64 `json:"recv"` } `json:"netTraffic"` PublicIP struct { - HostName string `json:"hostname"` - IPv4 string `json:"ipv4"` - IPv6 string `json:"ipv6"` + IPv4 string `json:"ipv4"` + IPv6 string `json:"ipv6"` } `json:"publicIP"` AppStats struct { Threads uint32 `json:"threads"` @@ -210,22 +209,8 @@ func (s *ServerService) GetStatus(lastStatus *Status) *Status { logger.Warning("get udp connections failed:", err) } - status.PublicIP.HostName, _ = os.Hostname() - // get ip address - netInterfaces, _ := net.Interfaces() - for i := 0; i < len(netInterfaces); i++ { - if len(netInterfaces[i].Flags) > 2 && netInterfaces[i].Flags[0] == "up" && netInterfaces[i].Flags[1] != "loopback" { - addrs := netInterfaces[i].Addrs - - for _, address := range addrs { - if strings.Contains(address.Addr, ".") { - status.PublicIP.IPv4 += address.Addr + " " - } else if address.Addr[0:6] != "fe80::" { - status.PublicIP.IPv6 += address.Addr + " " - } - } - } - } + status.PublicIP.IPv4 = getPublicIP("https://api.ipify.org") + status.PublicIP.IPv6 = getPublicIP("https://api6.ipify.org") if s.xrayService.IsXrayRunning() { status.Xray.State = Running