diff --git a/router/middleware.go b/router/middleware.go index 1a4d013..ce9f0f4 100644 --- a/router/middleware.go +++ b/router/middleware.go @@ -16,7 +16,7 @@ func SetAccessControlHeaders(c *gin.Context) { o := c.GetHeader("Origin") if o != config.Get().PanelLocation { for _, origin := range config.Get().AllowedOrigins { - if o != origin { + if origin != "*" && o != origin { continue } diff --git a/router/websocket/listeners.go b/router/websocket/listeners.go index 48b747e..f35e0e6 100644 --- a/router/websocket/listeners.go +++ b/router/websocket/listeners.go @@ -36,20 +36,20 @@ func (h *Handler) ListenForExpiration(ctx context.Context) { } } +var e = []string{ + server.StatsEvent, + server.StatusEvent, + server.ConsoleOutputEvent, + server.InstallOutputEvent, + server.InstallStartedEvent, + server.InstallCompletedEvent, + server.DaemonMessageEvent, + server.BackupCompletedEvent, +} + // Listens for different events happening on a server and sends them along // to the connected websocket. func (h *Handler) ListenForServerEvents(ctx context.Context) { - e := []string{ - server.StatsEvent, - server.StatusEvent, - server.ConsoleOutputEvent, - server.InstallOutputEvent, - server.InstallStartedEvent, - server.InstallCompletedEvent, - server.DaemonMessageEvent, - server.BackupCompletedEvent, - } - eventChannel := make(chan events.Event) for _, event := range e { h.server.Events().Subscribe(event, eventChannel) diff --git a/router/websocket/websocket.go b/router/websocket/websocket.go index e45aa14..4d0f95a 100644 --- a/router/websocket/websocket.go +++ b/router/websocket/websocket.go @@ -64,6 +64,10 @@ func GetHandler(s *server.Server, w http.ResponseWriter, r *http.Request) (*Hand } for _, origin := range config.Get().AllowedOrigins { + if origin == "*" { + return true + } + if o != origin { continue }