diff --git a/core/config.go b/core/config.go index f25539e4..23fdc7f8 100644 --- a/core/config.go +++ b/core/config.go @@ -1,13 +1,27 @@ package core import ( + "flag" + "github.com/safing/portbase/config" + "github.com/safing/portbase/log" ) var ( - devMode config.BoolOption + devMode config.BoolOption + defaultDevMode bool ) +func init() { + flag.BoolVar(&defaultDevMode, "devmode", false, "force development mode") +} + +func logFlagOverrides() { + if defaultDevMode { + log.Warning("core: core/devMode default config is being forced by -devmode flag") + } +} + func registerConfig() error { err := config.Register(&config.Option{ Name: "Development Mode", @@ -15,7 +29,7 @@ func registerConfig() error { Description: "In Development Mode security restrictions are lifted/softened to enable easier access to Portmaster for debugging and testing purposes. This is potentially very insecure, only activate if you know what you are doing.", ExpertiseLevel: config.ExpertiseLevelDeveloper, OptType: config.OptTypeBool, - DefaultValue: true, + DefaultValue: defaultDevMode, }) if err != nil { return err diff --git a/core/main.go b/core/main.go index b216ce3e..12e1b9dd 100644 --- a/core/main.go +++ b/core/main.go @@ -4,6 +4,7 @@ import ( "errors" "flag" + "github.com/safing/portbase/api" "github.com/safing/portbase/modules" "github.com/safing/portbase/notifications" @@ -37,11 +38,22 @@ func prep() error { return errors.New("please set the data directory using --data=/path/to/data/dir") } + // set api listen address + api.SetDefaultAPIListenAddress("127.0.0.1:817") + + // init config + err := registerConfig() + if err != nil { + return err + } + // initialize structure return structure.Initialize(dataDir, 0755) } func start() error { + logFlagOverrides() + // init DB err := startDB() if err != nil {