diff --git a/pkg/gomuks/config.go b/pkg/gomuks/config.go index 9675bea..7479cc6 100644 --- a/pkg/gomuks/config.go +++ b/pkg/gomuks/config.go @@ -42,12 +42,13 @@ type MatrixConfig struct { } type WebConfig struct { - ListenAddress string `yaml:"listen_address"` - Username string `yaml:"username"` - PasswordHash string `yaml:"password_hash"` - TokenKey string `yaml:"token_key"` - DebugEndpoints bool `yaml:"debug_endpoints"` - EventBufferSize int `yaml:"event_buffer_size"` + ListenAddress string `yaml:"listen_address"` + Username string `yaml:"username"` + PasswordHash string `yaml:"password_hash"` + TokenKey string `yaml:"token_key"` + DebugEndpoints bool `yaml:"debug_endpoints"` + EventBufferSize int `yaml:"event_buffer_size"` + OriginPatterns []string `yaml:"origin_patterns"` } var defaultFileWriter = zeroconfig.WriterConfig{ @@ -120,6 +121,10 @@ func (gmx *Gomuks) LoadConfig() error { gmx.Config.Web.EventBufferSize = 512 changed = true } + if len(gmx.Config.Web.OriginPatterns) == 0 { + gmx.Config.Web.OriginPatterns = []string{"localhost:*", "*.localhost:*"} + changed = true + } if changed { err = gmx.SaveConfig() if err != nil { diff --git a/pkg/gomuks/websocket.go b/pkg/gomuks/websocket.go index bec91dc..b8c00f4 100644 --- a/pkg/gomuks/websocket.go +++ b/pkg/gomuks/websocket.go @@ -86,7 +86,7 @@ func (gmx *Gomuks) HandleWebsocket(w http.ResponseWriter, r *http.Request) { defer recoverPanic("read loop") conn, acceptErr := websocket.Accept(w, r, &websocket.AcceptOptions{ - OriginPatterns: []string{"localhost:*"}, + OriginPatterns: gmx.Config.Web.OriginPatterns, }) if acceptErr != nil { log.Warn().Err(acceptErr).Msg("Failed to accept websocket connection")