diff --git a/cmd/syncthing/main.go b/cmd/syncthing/main.go index 487a1def..27b7923c 100644 --- a/cmd/syncthing/main.go +++ b/cmd/syncthing/main.go @@ -198,6 +198,7 @@ var ( doUpgradeCheck bool upgradeTo string noBrowser bool + browserOnly bool noConsole bool logFile string auditEnabled bool @@ -233,6 +234,7 @@ func parseCommandLineOptions() { flag.StringVar(&confDir, "home", "", "Set configuration directory") flag.IntVar(&logFlags, "logflags", logFlags, "Select information in log line prefix (see below)") flag.BoolVar(&noBrowser, "no-browser", false, "Do not start browser") + flag.BoolVar(&browserOnly, "browser-only", false, "Open GUI in browser") flag.BoolVar(&noRestart, "no-restart", noRestart, "Do not restart; just exit") flag.BoolVar(&reset, "reset", false, "Reset the database") flag.BoolVar(&doUpgrade, "upgrade", false, "Perform upgrade") @@ -287,6 +289,11 @@ func main() { return } + if browserOnly { + openGUI() + return + } + l.SetFlags(logFlags) if generateDir != "" { @@ -329,6 +336,18 @@ func main() { } } +func openGUI() { + cfg, _, err := loadConfig(locations[locConfigFile]) + if err != nil { + l.Fatalln("Config:", err) + } + if cfg.GUI().Enabled { + openURL(cfg.GUI().URL()) + } else { + l.Warnln("Browser: GUI is currently disabled") + } +} + func generate(generateDir string) { dir, err := osutil.ExpandTilde(generateDir) if err != nil {