Documentation ¶
Index ¶
Constants ¶
View Source
const PluginType = "server"
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Args ¶
type Args struct { Server []*ServerConfig `yaml:"server"` Entry []interface{} `yaml:"entry"` MaxConcurrentQueries int `yaml:"max_concurrent_queries"` }
type ServerConfig ¶
type ServerConfig struct { // Protocol: server protocol, can be: // "", "udp" -> udp // "tcp" -> tcp // "dot", "tls" -> dns over tls // "doh", "https" -> dns over https (rfc 8844) // "http" -> dns over https (rfc 8844) but without tls Protocol string `yaml:"protocol"` // Addr: server "host:port" addr. // Addr cannot be empty. Addr string `yaml:"addr"` Cert string `yaml:"cert"` // certificate path, used by dot, doh Key string `yaml:"key"` // certificate key path, used by dot, doh URLPath string `yaml:"url_path"` // used by doh, http. If it's emtpy, any path will be handled. GetUserIPFromHeader string `yaml:"get_user_ip_from_header"` // used by doh, http. Timeout uint `yaml:"timeout"` // (sec) used by all protocol as query timeout, default is defaultQueryTimeout. IdleTimeout uint `yaml:"idle_timeout"` // (sec) used by tcp, dot, doh as connection idle timeout, default is defaultIdleTimeout. }
ServerConfig is not safe for concurrent use.
Click to show internal directories.
Click to hide internal directories.