rules

package
v1.4.2 Latest Latest
Warning

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

Go to latest
Published: Oct 6, 2022 License: GPL-3.0 Imports: 20 Imported by: 0

Documentation

Index

Constants

View Source
const (
	TypeNone   uint = 0
	TypeDNS    uint = 1
	TypeRegexp uint = 2
	TypeHost   uint = 3
)

Variables

This section is empty.

Functions

func AdblockRules added in v1.3.0

func AdblockRules(data []string, setter func(uri string, domains []string))

func DNSRules added in v1.3.0

func DNSRules(data map[string]string, setter ResolveSetter) error

func HostRules added in v1.3.0

func HostRules(data map[string]string, setter HostSetter) error

func LoadAdblockRules added in v1.4.0

func LoadAdblockRules(uri string) []string

func QueryRules added in v1.3.0

func QueryRules(data map[string]string, setter ResolveSetter) error

func RegexpRules added in v1.3.0

func RegexpRules(data map[string]string, setter ResolveSetter) error

Types

type Config

type Config struct {
	AdblockRules string `yaml:"adblock-rules"`
}

type HostSetter added in v1.3.0

type HostSetter interface {
	SetHostResolve(domain string, ip4, ip6 []string, ttl int64)
}

type Repository

type Repository struct {
	// contains filtered or unexported fields
}

func (*Repository) DeleteRexResolve added in v1.4.0

func (v *Repository) DeleteRexResolve(name string)

func (*Repository) Down

func (v *Repository) Down(ctx ctx.Context) error

func (*Repository) ReplaceRexResolve added in v1.4.0

func (v *Repository) ReplaceRexResolve(t database.Types, o, n, ips string)

func (*Repository) Resolve added in v1.3.0

func (v *Repository) Resolve(q dns.Question) []dns.RR

func (*Repository) SetHostResolve added in v1.3.0

func (v *Repository) SetHostResolve(domain string, ip4, ip6 []string, ttl int64)

func (*Repository) SetRexResolve added in v1.3.0

func (v *Repository) SetRexResolve(rule, format string, rx *regexp.Regexp, ip4, ip6 []string, tp uint)

func (*Repository) Up

func (v *Repository) Up(ctx ctx.Context) error

type ResolveSetter added in v1.3.0

type ResolveSetter interface {
	SetRexResolve(rule, format string, rx *regexp.Regexp, ip4, ip6 []string, tp uint)
}

type Resolver added in v1.3.0

type Resolver struct {
	// contains filtered or unexported fields
}

func (*Resolver) Compile added in v1.3.0

func (v *Resolver) Compile(name string) ([]string, []string, bool)

func (*Resolver) Match added in v1.3.0

func (v *Resolver) Match(name string) ([]string, []string, bool)

Jump to

Keyboard shortcuts

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