Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Config ¶
type Config struct { Upstream []string `json:"upstream" envconfig:"UPSTREAM_SERVERS" required:"true"` Timeout uint `json:"timeout" envconfig:"UPSTREAM_CONNECTION_TIMEOUT" default:"10"` Tries uint `json:"tries" envconfig:"UPSTREAM_RESOLUTION_RETRIES" default:"10"` TCPOnly bool `json:"tcp_only" envconfig:"UPSTREAM_TCP_ONLY" default:"true"` UseTLS bool `json:"use_tls" envconfig:"UPSTREAM_USE_TLS" default:"true"` Verbose bool `json:"verbose" envconfig:"VERBOSE" default:"false"` LogGuessedIP bool `json:"log_guessed_ip" envconfig:"LOG_GUESSED_IP" default:"false"` UserAgent string `json:"user_agent" envconfig:"APPLICATION_USER_AGENT" default:"sls-doh/1.0.0"` EnableBlocking bool `json:"enable_blocking" envconfig:"ENABLE_BLOCKING" default:"true"` AppendListHeaders bool `json:"append_list_headers" envconfig:"RESPONSE_APPEND_LIST_HEADERS" default:"true"` AppendQueriedQNameHeader bool `json:"append_queried_qname_header" envconfig:"RESPONSE_APPEND_QNAME_HEADER" default:"false"` }
func GetConfigFromEnvironment ¶
func GetConfigFromEnvironment() *Config
type DNSRequest ¶
type Handler ¶
type Handler struct { Config *Config UDPClient *dns.Client TCPClient *dns.Client TLSClient *dns.Client IPv4Target net.IP IPv6Target net.IP Logger *logrus.Entry Provider listprovider.ListProvider }
func NewHandler ¶
func NewHandler(conf *Config, provider listprovider.ListProvider, logger *logrus.Entry) (*Handler, error)
Click to show internal directories.
Click to hide internal directories.