Documentation
¶
Index ¶
- type AccessList
- type AddUrlRequest
- type AddressInfo
- type AddressesInfo
- type BlockedService
- type BlockedServicesAll
- type BlockedServicesSchedule
- type CheckConfigRequest
- type CheckConfigRequestInfo
- type CheckConfigResponse
- type CheckConfigResponseInfo
- type CheckConfigStaticIpInfo
- type CheckConfigStaticIpInfoStatic
- type Client
- type ClientAuto
- type ClientDelete
- type ClientFindEntry
- type ClientFindSubEntry
- type ClientSearchRequestItem
- type ClientUpdate
- type Clients
- type ClientsArray
- type ClientsAutoArray
- type ClientsFindResponse
- type ClientsSearchRequest
- type DNSConfig
- type DNSInfo
- type DayRange
- type DhcpConfig
- type DhcpConfigV4
- type DhcpConfigV6
- type DhcpFindActiveReq
- type DhcpLease
- type DhcpSearchResult
- type DhcpSearchResultOtherServer
- type DhcpSearchResultStaticIp
- type DhcpSearchV4
- type DhcpSearchV6
- type DhcpStaticLease
- type DhcpStatus
- type DnsAnswer
- type DnsQuestion
- type Enabled
- type Error
- type Filter
- type FilterCheckHostResponse
- type FilterConfig
- type FilterRefreshRequest
- type FilterRefreshResponse
- type FilterSetUrl
- type FilterSetUrlData
- type FilterStatus
- type GetQueryLogConfigResponse
- type GetStatsConfigResponse
- type GetVersionRequest
- type InitialConfiguration
- type Login
- type NetInterface
- type NetInterfaces
- type ParentalStatus
- type ProfileInfo
- type QueryLog
- type QueryLogItem
- type QueryLogItemClient
- type QueryLogItemClientWhois
- type RemoveUrlRequest
- type ResultRule
- type RewriteEntry
- type RewriteList
- type RewriteUpdate
- type SafeSearchConfig
- type Schedule
- type ServerStatus
- type SetProtectionRequest
- type SetRulesRequest
- type Stats
- type TlsConfig
- type TopArrayEntry
- type UpstreamsConfig
- type UpstreamsConfigResponse
- type VersionInfo
- type WhoisInfo
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AccessList ¶
type AccessList struct { AllowedClients []string `json:"allowed_clients" description:"The allowlist of clients: IP addresses, CIDRs, or ClientIDs."` DisallowedClients []string `json:"disallowed_clients" description:"The blocklist of clients: IP addresses, CIDRs, or ClientIDs."` BlockedHosts []string `json:"blocked_hosts" description:"The blocklist of hosts."` }
AccessList - Client and host access list. Each of the lists should contain only unique elements. In addition, allowed and disallowed lists cannot contain the same elements.
type AddUrlRequest ¶
type AddUrlRequest struct { Name string `json:"name"` Url string `json:"url" description:"URL or an absolute path to the file containing filtering rules."` Whitelist bool `json:"whitelist"` }
AddUrlRequest - /add_url request data
type AddressInfo ¶
AddressInfo - Port information
type AddressesInfo ¶
type AddressesInfo struct { DnsPort uint16 `json:"dns_port"` Interfaces NetInterfaces `json:"interfaces"` Version string `json:"version"` WebPort uint16 `json:"web_port"` }
AddressesInfo - AdGuard Home addresses configuration
type BlockedService ¶
type BlockedService struct { IconSvg string `json:"icon_svg"` Id string `json:"id"` Name string `json:"name"` Rules []string `json:"rules"` }
BlockedService
type BlockedServicesAll ¶
type BlockedServicesAll struct {
BlockedServices []BlockedService `json:"blocked_services"`
}
BlockedServicesAll
type BlockedServicesSchedule ¶
type BlockedServicesSchedule struct { Schedule Schedule `json:"schedule,omitempty"` Ids []string `json:"ids"` }
BlockedServicesSchedule
type CheckConfigRequest ¶
type CheckConfigRequest struct { Dns CheckConfigRequestInfo `json:"dns"` Web CheckConfigRequestInfo `json:"web"` SetStaticIp bool `json:"set_static_ip"` }
CheckConfigRequest - Configuration to be checked
type CheckConfigRequestInfo ¶
type CheckConfigRequestInfo struct { Ip string `json:"ip"` Port uint16 `json:"port"` Autofix bool `json:"autofix"` }
CheckConfigRequestInfo
type CheckConfigResponse ¶
type CheckConfigResponse struct { Dns CheckConfigResponseInfo `json:"dns"` Web CheckConfigResponseInfo `json:"web"` SetStaticIp CheckConfigStaticIpInfo `json:"set_static_ip"` }
CheckConfigResponse
type CheckConfigResponseInfo ¶
type CheckConfigResponseInfo struct { Status string `json:"status"` CanAutofix bool `json:"can_autofix"` }
CheckConfigResponseInfo
type CheckConfigStaticIpInfo ¶
type CheckConfigStaticIpInfo struct { Static CheckConfigStaticIpInfoStatic `json:"static"` Ip string `json:"ip" description:"Current dynamic IP address. Set if static=no"` Error string `json:"error" description:"Error text. Set if static=no"` }
CheckConfigStaticIpInfo
type CheckConfigStaticIpInfoStatic ¶
type CheckConfigStaticIpInfoStatic string
CheckConfigStaticIpInfoStatic
type Client ¶
type Client struct { Name string `json:"name" description:"Name"` Ids []string `json:"ids" description:"IP, CIDR, MAC, or ClientID."` UseGlobalSettings bool `json:"use_global_settings"` FilteringEnabled bool `json:"filtering_enabled"` ParentalEnabled bool `json:"parental_enabled"` SafebrowsingEnabled bool `json:"safebrowsing_enabled"` // Deprecated: SafesearchEnabled, use SafeSearch instead SafesearchEnabled bool `json:"safesearch_enabled"` SafeSearch SafeSearchConfig `json:"safe_search"` UseGlobalBlockedServices bool `json:"use_global_blocked_services"` BlockedServicesSchedule Schedule `json:"blocked_services_schedule"` BlockedServices []string `json:"blocked_services"` Upstreams []string `json:"upstreams"` Tags []string `json:"tags"` IgnoreQuerylog bool `json:"ignore_querylog"` IgnoreStatistics bool `json:"ignore_statistics"` UpstreamsCacheEnabled bool `json:"upstreams_cache_enabled"` UpstreamsCacheSize uint `json:"upstreams_cache_size"` }
Client - Client information
type ClientAuto ¶
type ClientAuto struct { Name string `json:"name" description:"Name"` Ip string `json:"ip" description:"IP address"` Mac string `json:"mac" description:"MAC address"` Source string `json:"source" description:"The source of this information"` WhoisInfo WhoisInfo `json:"whois_info"` }
ClientAuto - Auto-Client information
type ClientDelete ¶
type ClientDelete struct {
Name string `json:"name"`
}
ClientDelete - Client delete request
type ClientFindSubEntry ¶
type ClientFindSubEntry struct { Name string `json:"name" description:"Name"` Ids []string `json:"ids" decription:"IP, CIDR, MAC, or ClientID."` UseGlobalSettings bool `json:"use_global_settings"` FilteringEnabled bool `json:"filtering_enabled"` ParentalEnabled bool `json:"parental_enabled"` SafebrowsingEnabled bool `json:"safebrowsing_enabled"` // Deprecated: SafesearchEnabled, use SafeSearch instead SafesearchEnabled bool `json:"safesearch_enabled"` // deprecated SafeSearch SafeSearchConfig `json:"safe_search"` UseGlobalBlockedServices bool `json:"use_global_blocked_services"` BlockedServices []string `json:"blocked_services"` Upstreams []string `json:"upstreams"` WhoisInfo WhoisInfo `json:"whois_info"` Disallowed bool `json:"disallowed" description:"Whether the client's IP is blocked or not."` DisallowedRule string `` /* 249-byte string literal not displayed */ IgnoreQuerylog bool `json:"ignore_querylog"` IgnoreStatistics bool `json:"ignore_statistics"` }
ClientFindSubEntry - Client information
type ClientSearchRequestItem ¶
type ClientSearchRequestItem struct {
Id string `json:"id" description:"Client IP address, CIDR, MAC address, or ClientID"`
}
ClientSearchRequestItem
type ClientUpdate ¶
ClientUpdate - Client update request
type Clients ¶
type Clients struct { Clients ClientsArray `json:"clients"` ClientAuto ClientsAutoArray `json:"auto_clients"` SupportedTags []string `json:"supported_tags"` }
Clients
type ClientsFindResponse ¶
type ClientsFindResponse []ClientFindEntry
ClientsFindResponse - Client search results
type ClientsSearchRequest ¶
type ClientsSearchRequest struct {
Clients []ClientSearchRequestItem `json:"clients"`
}
ClientsSearchRequest - Client search request
type DNSConfig ¶
type DNSConfig struct { BootstrapDns []string `` /* 128-byte string literal not displayed */ UpstreamDns []string `` /* 126-byte string literal not displayed */ FallbackDns []string `` /* 146-byte string literal not displayed */ UpstreamDnsFile string `json:"upstream_dns_file"` ProtectionEnabled bool `json:"protection_enabled"` RateLimit uint `json:"ratelimit"` RateLimitSubnetSubnetLenIpv4 uint `json:"ratelimit_subnet_len_ipv4" description:"Length of the subnet mask for IPv4 addresses."` RateLimitSubnetSubnetLenIpv6 uint `json:"ratelimit_subnet_len_ipv6" description:"Length of the subnet mask for IPv6 addresses."` RateLimitWhitelist []string `json:"ratelimit_whitelist" description:"List of IP addresses excluded from rate limiting."` BlockingMode string `json:"blocking_mode"` BlockingIpv4 string `json:"blocking_ipv4"` BlockingIpv6 string `json:"blocking_ipv6"` BlockedResponseTtl uint `json:"blocked_response_ttl" description:"TTL for blocked responses."` ProtectionDisabledUntil string `json:"protection_disabled_until,omitempty" description:"Protection is pause until this time. Nullable."` EDnsCsEnabled bool `json:"edns_cs_enabled"` EDnsCsUseCustom bool `json:"edns_cs_use_custom"` EDnsCsCustomIp string `json:"edns_cs_custom_ip"` DisableIpv6 bool `json:"disable_ipv6"` DnsSecEnabled bool `json:"dnssec_enabled"` CacheSize uint `json:"cache_size"` CacheTtlMin uint `json:"cache_ttl_min"` CacheTtlMax uint `json:"cache_ttl_max"` CacheOptimistic bool `json:"cache_optimistic"` UpstreamMode string `json:"upstream_mode" description:"Upstream modes enumeration."` UsePrivatePtrResolvers bool `json:"use_private_ptr_resolvers"` ResolveClients bool `json:"resolve_clients"` LocalPtrUpstreams []string `` /* 133-byte string literal not displayed */ UpstreamTimeout uint `json:"upstream_timeout" description:"The number of seconds to wait for a response from the upstream server"` }
DNSConfig - DNS server configuration
type DNSInfo ¶
type DNSInfo struct { *DNSConfig DefaultLocalPtrUpstreams []string `json:"default_local_ptr_upstreams"` }
DNSInfo - model does not formally exist in the upstream API
type DayRange ¶
type DayRange struct { Start uint `` /* 227-byte string literal not displayed */ End uint `` /* 177-byte string literal not displayed */ }
DayRange - The single interval within a day. It begins at the `start` and ends before the `end`.
type DhcpConfig ¶
type DhcpConfig struct { Enabled bool `json:"enabled"` InterfaceName string `json:"interface_name"` V4 DhcpConfigV4 `json:"v4,omitempty"` V6 DhcpConfigV6 `json:"v6,omitempty"` }
DhcpConfig
type DhcpConfigV4 ¶
type DhcpConfigV4 struct { GatewayIp string `json:"gateway_ip,omitempty"` SubnetMask string `json:"subnet_mask,omitempty"` RangeStart string `json:"range_start,omitempty"` RangeEnd string `json:"range_end,omitempty"` LeaseDuration uint64 `json:"lease_duration,omitempty"` }
DhcpConfigV4
type DhcpConfigV6 ¶
type DhcpConfigV6 struct { RangeStart string `json:"range_start,omitempty"` LeaseDuration uint64 `json:"lease_duration,omitempty"` }
DhcpConfigV6
type DhcpFindActiveReq ¶
type DhcpFindActiveReq struct {
Interface string `json:"interface" description:"The name of the network interface"`
}
DhcpFindActiveReq - Request for checking for other DHCP servers in the network.
type DhcpLease ¶
type DhcpLease struct { Mac string `json:"mac"` Ip string `json:"ip"` Hostname string `json:"hostname"` Expires string `json:"expires"` }
DhcpLease
type DhcpSearchResult ¶
type DhcpSearchResult struct { V4 DhcpSearchV4 `json:"v4"` V6 DhcpSearchV6 `json:"v6"` }
DhcpSearchResult - Information about a DHCP server discovered in the current network.
type DhcpSearchResultOtherServer ¶
type DhcpSearchResultOtherServer struct { Found string `json:"found" description:"The result of searching the other DHCP server."` Error string `json:"error"` }
DhcpSearchResultOtherServer
type DhcpSearchResultStaticIp ¶
type DhcpSearchResultStaticIp struct { Static string `json:"static" description:"The result of determining static IP address."` Ip string `json:"ip"` }
DhcpSearchResultStaticIp
type DhcpSearchV4 ¶
type DhcpSearchV4 struct { OtherServer DhcpSearchResultOtherServer `json:"other_server"` StaticIp DhcpSearchResultStaticIp `json:"static_ip"` }
DhcpSearchV4
type DhcpSearchV6 ¶
type DhcpSearchV6 struct {
OtherServer DhcpSearchResultOtherServer `json:"other_server"`
}
DhcpSearchV6
type DhcpStaticLease ¶
type DhcpStaticLease struct { Mac string `json:"mac"` Ip string `json:"ip"` Hostname string `json:"hostname"` }
DhcpStaticLease - DHCP static lease information
type DhcpStatus ¶
type DhcpStatus struct { Enabled bool `json:"enabled"` InterfaceName string `json:"interface_name"` V4 DhcpConfigV4 `json:"v4"` V6 DhcpConfigV6 `json:"v6"` Leases []DhcpLease `json:"leases"` StaticLeases []DhcpStaticLease `json:"static_leases"` }
DhcpStatus - Built-in DHCP server configuration and status
type DnsAnswer ¶
type DnsAnswer struct { Ttl uint32 `json:"ttl"` Type string `json:"type"` Value string `json:"value"` }
DnsAnswer - DNS answer section
type DnsQuestion ¶
type DnsQuestion struct { Class string `json:"class"` Name string `json:"name"` UnicodeName string `json:"unicode_name"` Type string `json:"type"` }
DnsQuestion - DNS question section
type Enabled ¶
type Enabled struct {
Enabled bool `json:"enabled"`
}
Enabled - model does not formally exist in the upstream API
type Error ¶
type Error struct {
Message string `json:"message" description:"The error message, an opaque string."`
}
Error - A generic JSON error response.
type Filter ¶
type Filter struct { Enabled bool `json:"enabled"` Id int64 `json:"id"` LastUpdated string `json:"last_updated"` Name string `json:"name"` RulesCount uint32 `json:"rules_count"` Url string `json:"url"` }
Filter - Filter subscription info
type FilterCheckHostResponse ¶
type FilterCheckHostResponse struct { Reason string `json:"reason" description:"Request filtering status."` Rules []ResultRule `json:"rules" description:"Applied rules."` ServiceName string `json:"service_name" description:"Set if reason=FilteredBlockedService"` Cname string `json:"cname" description:"Set if reason=Rewrite"` IpAddrs []string `json:"ip_addrs" description:"Set if reason=Rewrite"` }
FilterCheckHostResponse - Check Host Result
type FilterConfig ¶
FilterConfig - Filtering settings
type FilterRefreshRequest ¶
type FilterRefreshRequest struct {
Whitelist bool `json:"whitelist"`
}
FilterRefreshRequest - Refresh Filters request data
type FilterRefreshResponse ¶
type FilterRefreshResponse struct {
Updated int `json:"updated"`
}
FilterRefreshResponse - /filtering/refresh response data
type FilterSetUrl ¶
type FilterSetUrl struct { Data FilterSetUrlData `json:"data"` Url string `json:"url"` Whitelist bool `json:"whitelist"` }
FilterSetUrl - Filtering URL settings
type FilterSetUrlData ¶
type FilterSetUrlData struct { Enabled bool `json:"enabled"` Name string `json:"name"` Url string `json:"url"` }
FilterSetUrlData - Filter update data
type FilterStatus ¶
type FilterStatus struct { Enabled bool `json:"enabled"` Interval uint `json:"interval"` Filters []Filter `json:"filters"` WhitelistFilters []Filter `json:"whitelist_filters"` UserRules []string `json:"user_rules"` }
FilterStatus - Filtering settings
type GetQueryLogConfigResponse ¶
type GetQueryLogConfigResponse struct { Enabled bool `json:"enabled" description:"Is query log enabled"` Interval uint64 `json:"interval" description:"Time period for query log rotation in milliseconds"` AnonymizeClientIp bool `json:"anonymize_client_ip" description:"Anonymize clients' IP address"` Ignored []string `json:"ignored" description:"List of host names, which should not be written to log"` }
GetQueryLogConfigResponse - Query log configuration
type GetStatsConfigResponse ¶
type GetStatsConfigResponse struct { Enabled bool `json:"enabled"` Interval uint64 `json:"interval"` Ignored []string `json:"ignored"` }
GetStatsConfigResponse
type GetVersionRequest ¶
type GetVersionRequest struct {
RecheckNow bool `json:"recheck_now,omitempty" description:"If false, server will check for a new version data only once in several hours."`
}
GetVersionRequest - /version.json request data
type InitialConfiguration ¶
type InitialConfiguration struct { Dns AddressInfo `json:"dns"` Web AddressInfo `json:"web"` Username string `json:"username" description:"Basic auth username"` Password string `json:"password" description:"Basic auth password"` }
InitialConfiguration - AdGuard Home initial configuration for the first-install wizard.
type Login ¶
type Login struct { Name string `json:"name" description:"User name"` Password string `json:"password" description:"Password"` }
Login - Login request data
type NetInterface ¶
type NetInterface struct { Flags string `` /* 187-byte string literal not displayed */ GatewayIp string `json:"gateway_ip" description:"The IP address of the gateway."` HardwareAddress string `json:"hardware_address"` Name string `json:"name"` IpV4Addresses []string `json:"ipv4_addresses" description:"The addresses of the interface of v4 family."` IpV6Addresses []string `json:"ipv6_addresses" description:"The addresses of the interface of v6 family."` }
NetInterface - Network interface info
type NetInterfaces ¶
type NetInterfaces map[string]NetInterface
NetInterfaces - Network interfaces dictionary, keys are interface names.
type ParentalStatus ¶
ParentalStatus - model does not formally exist in the upstream API
type ProfileInfo ¶
type ProfileInfo struct { Name string `json:"name"` Language string `json:"language"` Theme string `json:"theme" description:"Interface theme"` }
ProfileInfo - Information about the current user
type QueryLog ¶
type QueryLog struct { Oldest string `json:"oldest"` Data []QueryLogItem `json:"data"` }
QueryLog - Query log
type QueryLogItem ¶
type QueryLogItem struct { Answer []DnsAnswer `json:"answer"` OriginalAnswer []DnsAnswer `json:"original_answer" description:"Answer from upstream server (optional)"` Cached bool `json:"cached" description:"Defines if the response has been served from cache"` Upstream string `json:"upstream" description:"Upstream URL starting with tcp://, tls://, https://, or with an IP address."` AnswerDnssec bool `json:"answer_dnssec" description:"If true, the response had the Authenticated Data (AD) flag set."` Client string `json:"client" description:"The client's IP address."` ClientId string `json:"client_id" description:"The ClientID, if provided in DoH, DoQ, or DoT."` ClientInfo QueryLogItemClient `json:"client_info"` ClientProto string `json:"client_proto"` Ecs string `json:"ecs" description:"The IP network defined by an EDNS Client-Subnet option in the request message if any."` ElapsedMs string `json:"elapsedMs"` Question DnsQuestion `json:"question"` Rules []ResultRule `json:"rules" description:"Applied rules."` Reason string `json:"reason" description:"Request filtering status."` ServiceName string `json:"service_name" description:"Set if reason=FilteredBlockedService"` Status string `json:"status" description:"DNS response status"` Time string `json:"time" description:"DNS request processing start time"` }
QueryLogItem - Query log item
type QueryLogItemClient ¶
type QueryLogItemClient struct { Disallowed bool `json:"disallowed" description:"Whether the client's IP is blocked or not."` DisallowedRule string `json:"disallowed_rule" description:"The rule due to which the client is allowed or blocked."` Name string `json:"name" description:"Persistent client's name or runtime client's hostname. May be empty."` Whois QueryLogItemClientWhois `json:"whois"` }
QueryLogItemClient - Client information for a query log item.
type QueryLogItemClientWhois ¶
type QueryLogItemClientWhois struct { City string `json:"city" description:"City, if any."` Country string `json:"country" description:"Country, if any."` Orgname string `json:"orgname" description:"Organization name, if any."` }
QueryLogItemClientWhois - Client WHOIS information, if any.
type RemoveUrlRequest ¶
type RemoveUrlRequest struct { Url string `json:"url" description:"Previously added URL containing filtering rules"` Whitelist bool `json:"whitelist"` }
RemoveUrlRequest - /remove_url request data
type ResultRule ¶
type ResultRule struct { FilterListId int64 `` /* 146-byte string literal not displayed */ Text string `json:"text" description:"The text of the filtering rule applied to the request (if any)."` }
ResultRule - Applied rule.
type RewriteEntry ¶
type RewriteEntry struct { Domain string `json:"domain" description:"Domain name"` Answer string `json:"answer" description:"value of A, AAAA or CNAME DNS record"` }
RewriteEntry - Rewrite rule
type RewriteUpdate ¶
type RewriteUpdate struct { Target RewriteEntry `json:"target"` Update RewriteEntry `json:"update"` }
RewriteUpdate - Rewrite rule update object
type SafeSearchConfig ¶
type SafeSearchConfig struct { Enabled bool `json:"enabled"` Bing bool `json:"bing"` Duckduckgo bool `json:"duckduckgo"` Ecosia bool `json:"ecosia"` Google bool `json:"google"` Pixabay bool `json:"pixabay"` Yandex bool `json:"yandex"` Youtube bool `json:"youtube"` }
SafeSearchConfig - Safe search settings.
type Schedule ¶
type Schedule struct { TimeZone string `` /* 173-byte string literal not displayed */ Sunday DayRange `json:"sun,omitempty"` Monday DayRange `json:"mon,omitempty"` Tuesday DayRange `json:"tue,omitempty"` Wednesday DayRange `json:"wed,omitempty"` Thursday DayRange `json:"thu,omitempty"` Friday DayRange `json:"fri,omitempty"` Saturday DayRange `json:"sat,omitempty"` }
Schedule - Sets periods of inactivity for filtering blocked services. The schedule contains 7 days (Sunday to Saturday) and a time zone.
type ServerStatus ¶
type ServerStatus struct { DnsAddresses []string `json:"dns_addresses"` DnsPort uint16 `json:"dns_port"` HttpPort uint16 `json:"http_port"` ProtectionEnabled bool `json:"protection_enabled"` ProtectionDisabledDuration int64 `json:"protection_disabled_duration,omitempty"` DhcpAvailable bool `json:"dhcp_available,omitempty"` Running bool `json:"running"` Version string `json:"version"` Language string `json:"language"` }
ServerStatus - AdGuard Home server status and configuration
type SetProtectionRequest ¶
type SetProtectionRequest struct { Enabled bool `json:"enabled"` Duration uint64 `json:"duration,omitempty" description:"Duration of a pause, in milliseconds. Enabled should be false."` }
SetProtectionRequest - Protection state configuration
type SetRulesRequest ¶
type SetRulesRequest struct {
Rules []string `json:"rules"`
}
SetRulesRequest - Custom filtering rules setting request.
type Stats ¶
type Stats struct { TimeUnits string `json:"time_units" description:"Time units"` NumDnsQueries int `json:"num_dns_queries" description:"Total number of DNS queries"` NumBlockedFiltering int `json:"num_blocked_filtering" description:"Number of requests blocked by filtering rules"` NumReplacedSafebrowsing int `json:"num_replaced_safebrowsing" description:"Number of requests blocked by safebrowsing module"` NumReplaceSafesearch int `json:"num_replace_safesearch" description:"Number of requests blocked by safesearch module"` NumReplacedParental int `json:"num_replaced_parental" description:"Number of blocked adult websites"` AvgProcessingTime float32 `json:"avg_processing_time" description:"Average time in seconds on processing a DNS request"` TopQueriedDomains []TopArrayEntry `json:"top_queried_domains"` TopClients []TopArrayEntry `json:"top_clients"` TopBlockedDomains []TopArrayEntry `json:"top_blocked_domains"` TopUpstreamResponses []TopArrayEntry `json:"top_upstream_responses" description:"Total number of responses from each upstream."` TopUpstreamAvgTime []TopArrayEntry `json:"top_upstream_avg_time" description:"Average processing time in seconds of requests from each upstream."` DnsQueries []int `json:"dns_queries"` BlockedFiltering []int `json:"blocked_filtering"` ReplacedSafebrowsing []int `json:"replaced_safebrowsing"` ReplacedParental []int `json:"replaced_parental"` }
Stats - Server statistics data
type TlsConfig ¶
type TlsConfig struct { Enabled bool `json:"enabled" description:"enabled is the encryption (DoT/DoH/HTTPS) status"` ServerName string `json:"server_name" description:"server_name is the hostname of your HTTPS/TLS server"` ForceHttps bool `json:"force_https" description:"if true, forces HTTP->HTTPS redirect"` PortHttps uint16 `json:"port_https" description:"HTTPS port. If 0, HTTPS will be disabled."` PortDnsOverTls uint16 `json:"port_dns_over_tls" description:"DNS-over-TLS port. If 0, DoT will be disabled."` PortDnsOverQuic uint16 `json:"port_dns_over_quic" description:"DNS-over-QUIC port. If 0, DoQ will be disabled."` CertificateChain string `json:"certificate_chain" description:"Base64 string with PEM-encoded certificates chain"` PrivateKey string `json:"private_key" description:"Base64 string with PEM-encoded private key"` PrivateKeySaved bool `` /* 260-byte string literal not displayed */ CertificatePath string `json:"certificate_path" description:"Path to certificate file"` PrivateKeyPath string `json:"private_key_path" description:"Path to private key file"` ValidCert bool `json:"valid_cert" description:"Set to true if the specified certificates chain is a valid chain of X509 certificates."` ValidChain bool `json:"valid_chain" description:"Set to true if the specified certificates chain is verified and issued by a known CA."` Subject string `json:"subject" description:"The subject of the first certificate in the chain."` Issuer string `json:"issuer" description:"The issuer of the first certificate in the chain."` NotBefore string `json:"not_before" description:"The NotBefore field of the first certificate in the chain."` NotAfter string `json:"not_after" description:"The NotAfter field of the first certificate in the chain."` DnsNames []string `json:"dns_names" description:"The value of SubjectAltNames field of the first certificate in the chain."` ValidKey bool `json:"valid_key" description:"Set to true if the key is a valid private key."` KeyType string `json:"key_type" description:"Key type. Can be one of: RSA, ECDSA."` WarningValidation string `json:"warning_validation" description:"A validation warning message with the issue description."` ValidPair bool `json:"valid_pair" description:"Set to true if both certificate and private key are correct."` ServePlainDns bool `json:"serve_plain_dns" description:"Set to true if plain DNS is allowed for incoming requests."` }
TlsConfig - TLS configuration settings and status
type TopArrayEntry ¶
type TopArrayEntry struct { DomainOrIp float32 `json:"domain_or_ip"` AdditionalProperties map[string]float32 }
TopArrayEntry - Represent the number of hits or time duration per key (url, domain, or client IP).
type UpstreamsConfig ¶
type UpstreamsConfig struct { BootstrapDns []string `json:"bootstrap_dns" description:"Bootstrap DNS servers, port is optional after colon."` UpstreamDns []string `json:"upstream_dns" description:"Upstream DNS servers, port is optional after colon."` FallbackDns []string `json:"fallback_dns,omitempty" description:"Fallback DNS servers, port is optional after colon."` PrivateUpstream []string `json:"private_upstream" description:"Local PTR resolvers, port is optional after colon."` }
UpstreamsConfig - Upstream configuration to be tested
type UpstreamsConfigResponse ¶
UpstreamsConfigResponse - Upstreams configuration response
type VersionInfo ¶
type VersionInfo struct { Disabled bool `json:"disabled" description:"If true then other fields don't appear."` NewVersion string `json:"new_version,omitempty"` Announcement string `json:"announcement,omitempty"` AnnouncementUrl string `json:"announcement_url,omitempty"` CanAutoupdate bool `json:"can_autoupdate,omitempty"` }
VersionInfo - Information about the latest available version of AdGuard Home