diff --git a/cmd/gomuks/main.go b/cmd/gomuks/main.go index e11657c..57c6d60 100644 --- a/cmd/gomuks/main.go +++ b/cmd/gomuks/main.go @@ -31,13 +31,14 @@ import ( var wantHelp, _ = flag.MakeHelpFlag() var wantVersion = flag.MakeFull("v", "version", "View gomuks version and quit.", "false").Bool() +var wantListen = flag.MakeFull("l", "listen", "Set webserver listen address", "").String() func main() { hicli.InitialDeviceDisplayName = "gomuks web" exhttp.AutoAllowCORS = false flag.SetHelpTitles( "gomuks - A Matrix client written in Go.", - "gomuks [-hv]", + "gomuks [-hvl]", ) err := flag.Parse() @@ -53,7 +54,11 @@ func main() { os.Exit(0) } + gmx := gomuks.NewGomuks() + if *wantListen != "" { + gmx.Config.Web.ListenAddress = *wantListen + } gmx.Version = version.Version gmx.Commit = version.Commit gmx.LinkifiedVersion = version.LinkifiedVersion diff --git a/pkg/gomuks/config.go b/pkg/gomuks/config.go index 9675bea..ac53b2e 100644 --- a/pkg/gomuks/config.go +++ b/pkg/gomuks/config.go @@ -83,6 +83,7 @@ func (gmx *Gomuks) LoadConfig() error { if err != nil && !errors.Is(err, os.ErrNotExist) { return err } + address := gmx.Config.Web.ListenAddress gmx.Config = makeDefaultConfig() changed := false if file != nil { @@ -93,6 +94,9 @@ func (gmx *Gomuks) LoadConfig() error { } else { changed = true } + if address != "" { + gmx.Config.Web.ListenAddress = address + } if gmx.Config.Web.TokenKey == "" { gmx.Config.Web.TokenKey = random.String(64) changed = true