provider

package
v2.0.0-rc5 Latest Latest
Warning

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

Go to latest
Published: Feb 2, 2024 License: MIT Imports: 4 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrIPNotSet        = errors.New("IP address is not set")
	ErrIPIsUnspecified = errors.New("IP address is unspecified")
	ErrPortNotSet      = errors.New("port is not set")
)
View Source
var (
	ErrProviderNameNotSet = errors.New("provider name not set")
	ErrDoTIPv4NotSet      = errors.New("DoT server IPv4 addresses not set")
	ErrDoTIPNotSet        = errors.New("DoT server IPv4 and IPv6 addresses not set")
	ErrDoTNameNotSet      = errors.New("DoT server name not set")
	ErrDoTPortNotSet      = errors.New("DoT server port not set")
	ErrDoHURLNotSet       = errors.New("DoH URL not set")
	ErrDoHIPv4NotSet      = errors.New("DoH server IPv4 addresses not set")
	ErrDoHIPNotSet        = errors.New("DoH server IP addresses not set")
)
View Source
var (
	ErrParseProviderNameUnknown = errors.New("provider does not match any known providers")
)

Functions

This section is empty.

Types

type DoHServer

type DoHServer struct {
	URL  string       `json:"url" yaml:"url"`
	IPv4 []netip.Addr `json:"ipv4" yaml:"ipv4"`
	IPv6 []netip.Addr `json:"ipv6" yaml:"ipv6"`
}

type DoTServer

type DoTServer struct {
	IPv4 []netip.AddrPort `json:"ipv4" yaml:"ipv4"`
	IPv6 []netip.AddrPort `json:"ipv6" yaml:"ipv6"`
	Name string           `json:"name" yaml:"name"` // for TLS verification
}

type Provider

type Provider struct {
	Name string    `json:"name" yaml:"name"`
	DoT  DoTServer `json:"dot" yaml:"dot"`
	DoH  DoHServer `json:"doh" yaml:"doh"`
}

func CiraFamily

func CiraFamily() Provider

func CiraPrivate

func CiraPrivate() Provider

func CiraProtected

func CiraProtected() Provider

func CleanBrowsingAdult

func CleanBrowsingAdult() Provider

func CleanBrowsingFamily

func CleanBrowsingFamily() Provider

func CleanBrowsingSecurity

func CleanBrowsingSecurity() Provider

func Cloudflare

func Cloudflare() Provider

func CloudflareFamily

func CloudflareFamily() Provider

func CloudflareSecurity

func CloudflareSecurity() Provider

func Google

func Google() Provider

func LibreDNS

func LibreDNS() Provider

func OpenDNS

func OpenDNS() Provider

func Quad9

func Quad9() Provider

func Quad9Secured

func Quad9Secured() Provider

func Quad9Unsecured

func Quad9Unsecured() Provider

func Quadrant

func Quadrant() Provider

func (Provider) ValidateForDoH

func (p Provider) ValidateForDoH(ipv6 bool) (err error)

func (Provider) ValidateForDoT

func (p Provider) ValidateForDoT(ipv6 bool) (err error)

type Providers

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

func NewProviders

func NewProviders() *Providers

func (*Providers) Get

func (p *Providers) Get(name string) (provider Provider, err error)

func (*Providers) List

func (p *Providers) List() (providers []Provider)

Jump to

Keyboard shortcuts

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