cfg

package
v0.18.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 19, 2026 License: Apache-2.0, BSD-2-Clause-Views, BSD-3-Clause, + 4 more Imports: 13 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// ConfigDir is the path to the directory storing the application configuration.
	ConfigDir string
	// DataDir is the path to the directory storing the application data.
	DataDir string
	// Version is the current version of the application. Set at compile time for production builds using ldflags (see tasks in the /tasks/build directory).
	Version = "development"
)
View Source
var UpdatePolicyEnum = []struct {
	Value  UpdatePolicyType
	TSName string
}{
	{UpdatePolicyAutomatic, "AUTOMATIC"},
	{UpdatePolicyPrompt, "PROMPT"},
	{UpdatePolicyDisabled, "DISABLED"},
}

Functions

func GetCacheDir added in v0.15.0

func GetCacheDir() (string, error)

Types

type Config

type Config struct {
	sync.RWMutex

	Filter struct {
		FilterLists []FilterList `json:"filterLists"`
		// Deprecated: use Rules.
		MyRules   []string `json:"myRules"`
		Rules     []string `json:"rules"`
		AssetPort int      `json:"assetPort"`
	} `json:"filter"`
	Certmanager struct {
		CAInstalled bool `json:"caInstalled"`
	} `json:"certmanager"`
	Proxy struct {
		Port         int      `json:"port"`
		IgnoredHosts []string `json:"ignoredHosts"`
		PACPort      int      `json:"pacPort"`
	} `json:"proxy"`
	UpdatePolicy UpdatePolicyType `json:"updatePolicy"`

	Locale string `json:"locale"`
	// contains filtered or unexported fields
}

Config stores and manages the configuration for the application. Although all fields are public, this is only for use by the JSON marshaller. All access to the Config should be done through the exported methods.

func NewConfig

func NewConfig() (*Config, error)

func (*Config) AddFilterList

func (c *Config) AddFilterList(list FilterList) string

AddFilterList adds a new filter list to the list of enabled filter lists.

func (*Config) AddFilterLists

func (c *Config) AddFilterLists(lists []FilterList) error

func (*Config) ExportDebugData added in v0.11.2

func (c *Config) ExportDebugData() (string, error)

func (*Config) GetAssetPort added in v0.17.0

func (c *Config) GetAssetPort() int

GetAssetPort returns the port the asset server is set to listen on.

func (*Config) GetCAInstalled

func (c *Config) GetCAInstalled() bool

GetCAInstalled returns whether the CA is installed.

func (*Config) GetFilterLists

func (c *Config) GetFilterLists() []FilterList

GetFilterLists returns the list of enabled filter lists.

func (*Config) GetFilterListsByLocales added in v0.13.0

func (c *Config) GetFilterListsByLocales(searchLocales []string) []FilterList

func (*Config) GetFirstLaunch added in v0.13.0

func (c *Config) GetFirstLaunch() bool

func (*Config) GetIgnoredHosts

func (c *Config) GetIgnoredHosts() []string

GetIgnoredHosts returns the list of ignored hosts.

func (*Config) GetLocale

func (c *Config) GetLocale() string

func (*Config) GetPACPort

func (c *Config) GetPACPort() int

func (*Config) GetPort

func (c *Config) GetPort() int

GetPort returns the port the proxy is set to listen on.

func (*Config) GetRules added in v0.16.0

func (c *Config) GetRules() []string

func (*Config) GetTargetTypeFilterLists

func (c *Config) GetTargetTypeFilterLists(targetType FilterListType) []FilterList

GetTargetTypeFilterLists returns the list of filter lists with particular type.

func (*Config) GetUpdatePolicy

func (c *Config) GetUpdatePolicy() UpdatePolicyType

func (*Config) GetVersion

func (c *Config) GetVersion() string

func (*Config) RemoveFilterList

func (c *Config) RemoveFilterList(url string) string

RemoveFilterList removes a filter list from the list of enabled filter lists.

func (*Config) RunMigrations

func (c *Config) RunMigrations()

RunMigrations runs the version-to-version migrations.

func (*Config) Save

func (c *Config) Save() error

Save saves the config to disk. It is not thread-safe, and should only be called if the caller has a lock on the config.

func (*Config) SetAssetPort added in v0.17.0

func (c *Config) SetAssetPort(port int) error

SetAssetPort sets the port the asset server is set to listen on.

func (*Config) SetCAInstalled

func (c *Config) SetCAInstalled(caInstalled bool)

SetCAInstalled sets whether the CA is installed.

func (*Config) SetIgnoredHosts

func (c *Config) SetIgnoredHosts(hosts []string) error

SetIgnoredHosts sets the list of ignored hosts.

func (*Config) SetLocale

func (c *Config) SetLocale(l string)

func (*Config) SetPort

func (c *Config) SetPort(port int) string

SetPort sets the port the proxy is set to listen on.

func (*Config) SetRules added in v0.16.0

func (c *Config) SetRules(rules []string) error

func (*Config) SetUpdatePolicy

func (c *Config) SetUpdatePolicy(p UpdatePolicyType)

func (*Config) ToggleFilterList

func (c *Config) ToggleFilterList(url string, enabled bool) string

ToggleFilterList toggles the enabled state of a filter list.

type DebugData added in v0.11.2

type DebugData struct {
	EnabledFilterListURLs []string `json:"enabledFilterListURLs"`
	Rules                 []string `json:"rules"`
	Platform              string   `json:"platform"`
	Architecture          string   `json:"architecture"`
	Version               string   `json:"version"`
}

type FilterList

type FilterList struct {
	Name    string         `json:"name"`
	Type    FilterListType `json:"type"`
	URL     string         `json:"url"`
	Enabled bool           `json:"enabled"`
	Trusted bool           `json:"trusted"`
	Locales []string       `json:"locales"`
}

type FilterListType

type FilterListType string
const (
	FilterListTypeGeneral          FilterListType = "general"
	FilterListTypeAds              FilterListType = "ads"
	FilterListTypePrivacy          FilterListType = "privacy"
	FilterListTypeMalware          FilterListType = "malware"
	FilterListTypeRegional         FilterListType = "regional"
	FilterListTypeDigitalWellbeing FilterListType = "digitalWellbeing"
	FilterListTypeCustom           FilterListType = "custom"
)

type UpdatePolicyType

type UpdatePolicyType string
const (
	UpdatePolicyAutomatic UpdatePolicyType = "automatic"
	UpdatePolicyPrompt    UpdatePolicyType = "prompt"
	UpdatePolicyDisabled  UpdatePolicyType = "disabled"
)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL