15.04.2026 Update

This commit is contained in:
2026-04-15 12:25:39 +03:00
parent f50d79fab3
commit 91b4585175
5 changed files with 709 additions and 11 deletions

25
main.go
View File

@@ -20,6 +20,7 @@ import (
"nano-router/monitor"
"nano-router/nat"
"nano-router/network"
"nano-router/setup"
"nano-router/traffic"
)
@@ -27,6 +28,11 @@ import (
var publicFS embed.FS
func main() {
if len(os.Args) > 1 && os.Args[1] == "setup" {
setup.Run()
return
}
cfg, err := config.Load()
if err != nil {
log.Fatalf("load config.yaml: %v", err)
@@ -164,8 +170,23 @@ func main() {
handlers.StartPolicySync(30 * time.Second)
log.Printf("Config file: %s", config.GetPath())
log.Printf("Network Manager listening on http://0.0.0.0:%s", port)
log.Fatal(http.ListenAndServe(":"+port, auth.PublicAuthMiddleware(mux)))
handler := auth.PublicAuthMiddleware(mux)
if len(cfg.ListenAddresses) > 0 {
servers := make([]*http.Server, len(cfg.ListenAddresses))
errCh := make(chan error, len(cfg.ListenAddresses))
for i, addr := range cfg.ListenAddresses {
bind := addr + ":" + port
srv := &http.Server{Addr: bind, Handler: handler}
servers[i] = srv
log.Printf("Network Manager listening on http://%s", bind)
go func(s *http.Server) { errCh <- s.ListenAndServe() }(srv)
}
log.Fatal(<-errCh)
} else {
log.Printf("Network Manager listening on http://0.0.0.0:%s", port)
log.Fatal(http.ListenAndServe(":"+port, handler))
}
}
func importSystemState() *config.AppConfig {