This commit is contained in:
2026-03-02 01:27:50 +07:00
parent 1964f4241e
commit 5604732fcb
8 changed files with 104 additions and 63 deletions
+1 -46
View File
@@ -1,53 +1,8 @@
package models
import (
"fmt"
"net"
"net/url"
)
type Team struct {
ID int64
Name string
Password string
}
func (t *Team) GetTeamUrl() (string, error) {
ip := selectIP()
u := fmt.Sprintf("http://%s:8100?name=%s&password=%s", ip, url.PathEscape(t.Name), t.Password)
return u, nil
}
func selectIP() string {
ips, err := getLocalIPs()
if err != nil || len(ips) == 0 {
return "127.0.0.1"
}
return ips[0]
}
func getLocalIPs() ([]string, error) {
var ips []string
addrs, err := net.InterfaceAddrs()
if err != nil {
return nil, err
}
for _, addr := range addrs {
ipNet, ok := addr.(*net.IPNet)
if !ok {
continue
}
ip := ipNet.IP
if ip.IsLoopback() || ip.IsLinkLocalMulticast() || ip.IsLinkLocalUnicast() {
continue
}
if ipv4 := ip.To4(); ipv4 != nil {
ips = append(ips, ipv4.String())
}
}
return ips, nil
Link string
}