add automatic localhost and local ip for allowOrigin

This commit is contained in:
Adrian Zuercher
2025-06-29 21:26:16 +02:00
parent c58dbf34d0
commit e320156a47
4 changed files with 48 additions and 6 deletions

View File

@@ -48,6 +48,10 @@ func main() {
Debug: *debug,
TerminalOut: true,
})
if err != nil {
logger.Error("main new logger", err.Error())
panic(err)
}
//new login manager
loginManager, err := login.NewLoginManager(".")
@@ -62,8 +66,20 @@ func main() {
// new server
s := server.NewServer()
//get local ip
origins := []string{"http://localhost:9000"}
origins = append(origins, "http://localhost:9500")
localIP, err := utils.GetLocalIP()
if err != nil {
logger.Error("main", fmt.Sprintf("get local ip : %s", err.Error()))
} else {
origins = append(origins, fmt.Sprintf("http://%s:9000", localIP))
origins = append(origins, fmt.Sprintf("http://%s:9500", localIP))
}
fmt.Println(123, origins)
s.Routes.Use(cors.New(cors.Config{
AllowOrigins: []string{"http://localhost:9000"},
AllowOrigins: origins,
AllowMethods: []string{"POST", "GET", "DELETE", "OPTIONS"},
AllowHeaders: []string{"Origin", "Content-Type"},
AllowCredentials: true,
@@ -104,7 +120,6 @@ func main() {
logger.Error("main", fmt.Sprintf("starting browser error : %s", err.Error()))
}
}()
fmt.Println(3, *ip, *port)
// start http server
logger.Info("main", fmt.Sprintf("http listen on ip: %s port: %d", *ip, *port))
if err := s.ServeHttp(*ip, *port); err != nil {

22
backend/utils/ip.go Normal file
View File

@@ -0,0 +1,22 @@
package utils
import (
"fmt"
"net"
)
func GetLocalIP() (string, error) {
addrs, err := net.InterfaceAddrs()
if err != nil {
return "", err
}
for _, addr := range addrs {
if ipNet, ok := addr.(*net.IPNet); ok && !ipNet.IP.IsLoopback() {
if ipNet.IP.To4() != nil {
return ipNet.IP.String(), nil
}
}
}
return "", fmt.Errorf("no local IP address found")
}