diff --git a/config.go b/config.go index af6dde7..ce75058 100644 --- a/config.go +++ b/config.go @@ -36,10 +36,11 @@ type Config struct { } type WebConfig struct { - ListenAddress string `yaml:"listen_address"` - Username string `yaml:"username"` - PasswordHash string `yaml:"password_hash"` - TokenKey string `yaml:"token_key"` + ListenAddress string `yaml:"listen_address"` + Username string `yaml:"username"` + PasswordHash string `yaml:"password_hash"` + TokenKey string `yaml:"token_key"` + DebugEndpoints bool `yaml:"debug_endpoints"` } var defaultConfig = Config{ diff --git a/server.go b/server.go index a93eb17..f0063b3 100644 --- a/server.go +++ b/server.go @@ -24,6 +24,7 @@ import ( "errors" "io/fs" "net/http" + _ "net/http/pprof" "strings" "time" @@ -52,6 +53,9 @@ func (gmx *Gomuks) StartServer() { gmx.AuthMiddleware, ) router := http.NewServeMux() + if gmx.Config.Web.DebugEndpoints { + router.Handle("/debug/", http.DefaultServeMux) + } router.Handle("/_gomuks/", apiHandler) if frontend, err := fs.Sub(web.Frontend, "dist"); err != nil { gmx.Log.Warn().Msg("Frontend not found")