mirror of
https://github.com/safing/portmaster
synced 2025-09-01 18:19:12 +00:00
58 lines
1.9 KiB
Go
58 lines
1.9 KiB
Go
package firewall
|
|
|
|
import (
|
|
"github.com/safing/portbase/config"
|
|
)
|
|
|
|
// Configuration Keys
|
|
var (
|
|
CfgOptionEnableFilterKey = "filter/enable"
|
|
|
|
CfgOptionPromptTimeoutKey = "filter/promptTimeout"
|
|
CfgOptionPromptTimeoutOrder = 2
|
|
promptTimeout config.IntOption
|
|
|
|
CfgOptionPermanentVerdictsKey = "filter/permanentVerdicts"
|
|
CfgOptionPermanentVerdictsOrder = 128
|
|
permanentVerdicts config.BoolOption
|
|
|
|
devMode config.BoolOption
|
|
apiListenAddress config.StringOption
|
|
)
|
|
|
|
func registerConfig() error {
|
|
err := config.Register(&config.Option{
|
|
Name: "Permanent Verdicts",
|
|
Key: CfgOptionPermanentVerdictsKey,
|
|
Description: "With permanent verdicts, control of a connection is fully handed back to the OS after the initial decision. This brings a great performance increase, but makes it impossible to change the decision of a link later on.",
|
|
Order: CfgOptionPermanentVerdictsOrder,
|
|
OptType: config.OptTypeBool,
|
|
ExpertiseLevel: config.ExpertiseLevelExpert,
|
|
ReleaseLevel: config.ReleaseLevelExperimental,
|
|
DefaultValue: true,
|
|
})
|
|
if err != nil {
|
|
return err
|
|
}
|
|
permanentVerdicts = config.Concurrent.GetAsBool(CfgOptionPermanentVerdictsKey, true)
|
|
|
|
err = config.Register(&config.Option{
|
|
Name: "Timeout for prompt notifications",
|
|
Key: CfgOptionPromptTimeoutKey,
|
|
Description: "Amount of time how long Portmaster will wait for a response when prompting about a connection via a notification. In seconds.",
|
|
Order: CfgOptionPromptTimeoutOrder,
|
|
OptType: config.OptTypeInt,
|
|
ExpertiseLevel: config.ExpertiseLevelUser,
|
|
ReleaseLevel: config.ReleaseLevelBeta,
|
|
DefaultValue: 60,
|
|
})
|
|
if err != nil {
|
|
return err
|
|
}
|
|
promptTimeout = config.Concurrent.GetAsInt(CfgOptionPromptTimeoutKey, 60)
|
|
|
|
devMode = config.Concurrent.GetAsBool("core/devMode", false)
|
|
apiListenAddress = config.GetAsString("api/listenAddress", "")
|
|
|
|
return nil
|
|
}
|