Documentation
¶
Index ¶
- Variables
- type ConfiguredRuleSet
- func (r *ConfiguredRuleSet) AddRegexToBlacklist(regex string) error
- func (r *ConfiguredRuleSet) AddRegexToWhitelist(regex string) error
- func (r *ConfiguredRuleSet) AddToBlacklist(qname string)
- func (r *ConfiguredRuleSet) AddToWhitelist(qname string)
- func (r *ConfiguredRuleSet) IsBlacklisted(qname string) bool
- func (r *ConfiguredRuleSet) IsWhitelisted(qname string) bool
- type DNSAdBlock
- type IRuleset
- type ListMap
- type ListUpdater
- type StoredListConfiguration
- type UpdateableRuleset
Constants ¶
This section is empty.
Variables ¶
View Source
var ValidateQName = regexp.MustCompile("([a-zA-Z0-9]|\\.|-)*").MatchString
Functions ¶
This section is empty.
Types ¶
type ConfiguredRuleSet ¶ added in v0.2.0
type ConfiguredRuleSet struct {
Blacklist map[string]bool
Whitelist map[string]bool
WhitelistRegex []*regexp.Regexp
BlacklistRegex []*regexp.Regexp
}
func BuildRuleset ¶
func BuildRuleset(whitelist, blacklist []string) ConfiguredRuleSet
func (*ConfiguredRuleSet) AddRegexToBlacklist ¶ added in v0.2.0
func (r *ConfiguredRuleSet) AddRegexToBlacklist(regex string) error
func (*ConfiguredRuleSet) AddRegexToWhitelist ¶ added in v0.2.0
func (r *ConfiguredRuleSet) AddRegexToWhitelist(regex string) error
func (*ConfiguredRuleSet) AddToBlacklist ¶ added in v0.2.0
func (r *ConfiguredRuleSet) AddToBlacklist(qname string)
func (*ConfiguredRuleSet) AddToWhitelist ¶ added in v0.2.0
func (r *ConfiguredRuleSet) AddToWhitelist(qname string)
func (*ConfiguredRuleSet) IsBlacklisted ¶ added in v0.2.0
func (r *ConfiguredRuleSet) IsBlacklisted(qname string) bool
func (*ConfiguredRuleSet) IsWhitelisted ¶ added in v0.2.0
func (r *ConfiguredRuleSet) IsWhitelisted(qname string) bool
type DNSAdBlock ¶
type DNSAdBlock struct {
Next plugin.Handler
ConfiguredRuleSet ConfiguredRuleSet
FileRuleSet UpdateableRuleset
// contains filtered or unexported fields
}
func (*DNSAdBlock) IsBlacklisted ¶ added in v0.2.0
func (e *DNSAdBlock) IsBlacklisted(qname string) bool
func (*DNSAdBlock) IsWhitelisted ¶ added in v0.2.0
func (e *DNSAdBlock) IsWhitelisted(qname string) bool
func (*DNSAdBlock) ServeDNS ¶
func (e *DNSAdBlock) ServeDNS(ctx context.Context, w dns.ResponseWriter, r *dns.Msg) (int, error)
func (*DNSAdBlock) ShouldBlock ¶ added in v0.2.0
func (e *DNSAdBlock) ShouldBlock(qname string) bool
type ListMap ¶ added in v0.2.0
func GenerateListMap ¶ added in v0.2.0
func GenerateListMapFromFileUrls ¶ added in v0.2.0
func GenerateListMapFromHTTPUrls ¶ added in v0.2.0
type ListUpdater ¶ added in v0.2.0
type ListUpdater struct {
Enabled bool
UpdateInterval time.Duration
RetryCount int
RetryDelay time.Duration
Plugin *DNSAdBlock
// contains filtered or unexported fields
}
func (*ListUpdater) Start ¶ added in v0.2.0
func (u *ListUpdater) Start()
type StoredListConfiguration ¶ added in v0.2.0
type StoredListConfiguration struct {
UpdateTimestamp int `json:"update_timestamp"`
BlacklistURLs []string `json:"blacklist_urls"`
WhitelistURLs []string `json:"whitelist_urls"`
Blacklist ListMap `json:"blacklist"`
Whitelist ListMap `json:"whitelist"`
}
func ReadListConfiguration ¶ added in v0.2.0
func ReadListConfiguration(path string) (*StoredListConfiguration, error)
func (*StoredListConfiguration) NeedsUpdate ¶ added in v0.2.0
func (s *StoredListConfiguration) NeedsUpdate(updateDuration time.Duration) bool
func (*StoredListConfiguration) Persist ¶ added in v0.2.0
func (s *StoredListConfiguration) Persist(path string) error
type UpdateableRuleset ¶ added in v0.2.0
type UpdateableRuleset struct {
Blacklist map[string]bool
Whitelist map[string]bool
BlacklistSources []string
WhitelistSources []string
}
func NewFileRuleSet ¶ added in v0.2.0
func NewFileRuleSet(whitelist, blacklist []string) *UpdateableRuleset
func (*UpdateableRuleset) IsBlacklisted ¶ added in v0.2.0
func (u *UpdateableRuleset) IsBlacklisted(qn string) bool
func (*UpdateableRuleset) IsWhitelisted ¶ added in v0.2.0
func (u *UpdateableRuleset) IsWhitelisted(qn string) bool
Click to show internal directories.
Click to hide internal directories.