package ip_helper import ( httper2 "github.com/IceWhaleTech/CasaOS/pkg/utils/httper" "net" "strings" ) func IsIPv4(address string) bool { return strings.Count(address, ":") < 2 } func IsIPv6(address string) bool { return strings.Count(address, ":") >= 2 } //获取外网ip func GetExternalIPV4() string { return httper2.Get("https://api.ipify.org", nil) } //获取外网ip func GetExternalIPV6() string { return httper2.Get("https://api6.ipify.org", nil) } //获取本地ip func GetLoclIp() string { addrs, err := net.InterfaceAddrs() if err != nil { return "127.0.0.1" } for _, address := range addrs { if ipnet, ok := address.(*net.IPNet); ok && !ipnet.IP.IsLoopback() { if ipnet.IP.To4() != nil { return ipnet.IP.String() } } } return "127.0.0.1" }