mirror of
https://github.com/safing/portmaster
synced 2025-09-02 02:29:12 +00:00
Synchronization bug fixed map reseting performence improvment Added more notificationa and better wording better scheduling of file parsing task
66 lines
1.8 KiB
Go
66 lines
1.8 KiB
Go
package customlists
|
|
|
|
import (
|
|
"github.com/safing/portbase/config"
|
|
)
|
|
|
|
var (
|
|
// CfgOptionCustomListBlockingKey is the config key for the listen address..
|
|
CfgOptionCustomListBlockingKey = "filter/customListBlocking"
|
|
cfgOptionCustomListBlockingOrder = 35
|
|
cfgOptionCustomListCategoryAnnotation = "Filter Lists"
|
|
)
|
|
|
|
var (
|
|
getFilePath func() string
|
|
)
|
|
|
|
func registerConfig() error {
|
|
help := `File that contains list of all domains, Ip addresses, country codes and autonomous system that you want to block, where each entry is on a new line.
|
|
Lines that start with a '#' symbol are ignored.
|
|
Everything after the first space/tab is ignored.
|
|
Example:
|
|
#############
|
|
\# Domains:
|
|
example.com
|
|
google.com
|
|
|
|
\# IP addresses
|
|
1.2.3.4
|
|
4.3.2.1
|
|
|
|
\# Countries
|
|
AU
|
|
BG
|
|
|
|
\# Autonomous Systems
|
|
AS123
|
|
#############
|
|
> * All the records are stored in RAM, careful with large block lists.
|
|
> * Hosts files are not supported.`
|
|
|
|
// register a setting for the file path in the ui
|
|
err := config.Register(&config.Option{
|
|
Name: "Custom Filter List",
|
|
Key: CfgOptionCustomListBlockingKey,
|
|
Description: "Path to the file that contains a list of Domain, IP addresses, country codes and autonomous systems that you want to block",
|
|
Help: help,
|
|
OptType: config.OptTypeString,
|
|
ExpertiseLevel: config.ExpertiseLevelExpert,
|
|
ReleaseLevel: config.ReleaseLevelStable,
|
|
DefaultValue: "",
|
|
RequiresRestart: false,
|
|
Annotations: config.Annotations{
|
|
config.DisplayOrderAnnotation: cfgOptionCustomListBlockingOrder,
|
|
config.CategoryAnnotation: cfgOptionCustomListCategoryAnnotation,
|
|
config.DisplayHintAnnotation: config.DisplayHintFilePicker,
|
|
},
|
|
})
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
getFilePath = config.GetAsString(CfgOptionCustomListBlockingKey, "")
|
|
|
|
return nil
|
|
}
|