models

package
v1.0.1 Latest Latest
Warning

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

Go to latest
Published: May 7, 2025 License: MIT Imports: 0 Imported by: 2

Documentation

Index

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

type AddressInfo struct {
	Ip   string `json:"ip"`
	Port uint16 `json:"port"`
}

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 ClientFindEntry

type ClientFindEntry map[string]ClientFindSubEntry

ClientFindEntry

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

type ClientUpdate struct {
	Name string `json:"name"`
	Data Client `json:"data"`
}

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 ClientsArray

type ClientsArray []Client

ClientsArray - Clients array

type ClientsAutoArray

type ClientsAutoArray []ClientAuto

ClientsAutoArray - Auto-Clients array

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

type FilterConfig struct {
	Enabled  bool `json:"enabled"`
	Interval uint `json:"interval"`
}

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

type ParentalStatus struct {
	Enabled     bool `json:"enabled"`
	Sensitivity int  `json:"sensitivity"`
}

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 RewriteList

type RewriteList []RewriteEntry

RewriteList - Rewrite rules array

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

type UpstreamsConfigResponse map[string]string

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

type WhoisInfo

type WhoisInfo map[string]string

Jump to

Keyboard shortcuts

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