Directories
¶
| Path | Synopsis |
|---|---|
|
Package access contains structures for access control management.
|
Package access contains structures for access control management. |
|
Package agd contains common entities and interfaces of AdGuard DNS.
|
Package agd contains common entities and interfaces of AdGuard DNS. |
|
Package agdcache contains cache interfaces, helpers, and implementations.
|
Package agdcache contains cache interfaces, helpers, and implementations. |
|
Package agdhttp contains common constants, functions, and types for working with HTTP.
|
Package agdhttp contains common constants, functions, and types for working with HTTP. |
|
Package agdnet contains network-related utilities.
|
Package agdnet contains network-related utilities. |
|
Package agdpasswd contains authentication utils.
|
Package agdpasswd contains authentication utils. |
|
Package agdprotobuf contains protobuf utils.
|
Package agdprotobuf contains protobuf utils. |
|
Package agdtest contains simple mocks for common interfaces and other test utilities.
|
Package agdtest contains simple mocks for common interfaces and other test utilities. |
|
Package agdtime contains time-related utilities.
|
Package agdtime contains time-related utilities. |
|
Package agdurlflt contains utilities for the urlfilter module.
|
Package agdurlflt contains utilities for the urlfilter module. |
|
Package agdvalidate contains validation utilities.
|
Package agdvalidate contains validation utilities. |
|
Package backendpb contains the protobuf structures for the backend API.
|
Package backendpb contains the protobuf structures for the backend API. |
|
Package billstat implements the AdGuard DNS billing statistics database.
|
Package billstat implements the AdGuard DNS billing statistics database. |
|
Package bindtodevice contains an implementation of the netext.ListenConfig interface that uses Linux's SO_BINDTODEVICE socket option to be able to bind to a device.
|
Package bindtodevice contains an implementation of the netext.ListenConfig interface that uses Linux's SO_BINDTODEVICE socket option to be able to bind to a device. |
|
Package cmd is the AdGuard DNS entry point.
|
Package cmd is the AdGuard DNS entry point. |
|
plugin
Package plugin defines types to support creating plugins for the AdGuard DNS server.
|
Package plugin defines types to support creating plugins for the AdGuard DNS server. |
|
Package connlimiter describes a limiter of the number of active stream-connections.
|
Package connlimiter describes a limiter of the number of active stream-connections. |
|
Package consul contains types and utilities for updating data from Consul.
|
Package consul contains types and utilities for updating data from Consul. |
|
Package debugsvc contains the debug HTTP API of AdGuard DNS.
|
Package debugsvc contains the debug HTTP API of AdGuard DNS. |
|
Package dnscheck contains types and utilities for checking if a particular client uses the DNS server.
|
Package dnscheck contains types and utilities for checking if a particular client uses the DNS server. |
|
Package dnsdb contains types and utilities for collecting anonymous statistics about the Internet.
|
Package dnsdb contains types and utilities for collecting anonymous statistics about the Internet. |
|
Package dnsmsg contains common constants, functions, and types for inspecting and constructing DNS messages.
|
Package dnsmsg contains common constants, functions, and types for inspecting and constructing DNS messages. |
|
dnsserver
module
|
|
|
Package dnssvc contains AdGuard DNS's main DNS services.
|
Package dnssvc contains AdGuard DNS's main DNS services. |
|
internal
Package internal contains common utilities for DNS middlewares.
|
Package internal contains common utilities for DNS middlewares. |
|
internal/devicefinder
Package devicefinder contains the default implementation of the agd.DeviceFinder interface.
|
Package devicefinder contains the default implementation of the agd.DeviceFinder interface. |
|
internal/dnssvctest
Package dnssvctest contains common constants and utilities for the internal DNS-service packages.
|
Package dnssvctest contains common constants and utilities for the internal DNS-service packages. |
|
internal/initial
Package initial contains the initial, outermost (except for ratelimit/access) middleware of the AdGuard DNS server.
|
Package initial contains the initial, outermost (except for ratelimit/access) middleware of the AdGuard DNS server. |
|
internal/mainmw
Package mainmw contains the main middleware of AdGuard DNS.
|
Package mainmw contains the main middleware of AdGuard DNS. |
|
internal/preservice
Package preservice contains the middleware that comes right before the main filtering middleware of DNS service.
|
Package preservice contains the middleware that comes right before the main filtering middleware of DNS service. |
|
internal/preupstream
Package preupstream contains the middleware that records anonymous DNS statistics.
|
Package preupstream contains the middleware that records anonymous DNS statistics. |
|
internal/ratelimitmw
Package ratelimitmw contains the access and ratelimiting middleware of the AdGuard DNS server.
|
Package ratelimitmw contains the access and ratelimiting middleware of the AdGuard DNS server. |
|
Package ecscache implements a EDNS Client Subnet (ECS) aware DNS cache that can be used as a dnsserver.Middleware.
|
Package ecscache implements a EDNS Client Subnet (ECS) aware DNS cache that can be used as a dnsserver.Middleware. |
|
Package errcoll contains implementations of error collectors, most notably Sentry.
|
Package errcoll contains implementations of error collectors, most notably Sentry. |
|
Package experiment occasionally contains code for one-off experiments.
|
Package experiment occasionally contains code for one-off experiments. |
|
Package filter contains the filter interface and its implementations along with types that combine them based on the settings in profile and filtering group.
|
Package filter contains the filter interface and its implementations along with types that combine them based on the settings in profile and filtering group. |
|
custom
Package custom contains filters made from custom filtering rules of clients.
|
Package custom contains filters made from custom filtering rules of clients. |
|
filterstorage
Package filterstorage defines an interface for a storage of filters as well as the default implementation and the filter configuration.
|
Package filterstorage defines an interface for a storage of filters as well as the default implementation and the filter configuration. |
|
hashprefix
Package hashprefix defines a storage of hashes of domain names used for filtering and serving TXT records with domain-name hashes.
|
Package hashprefix defines a storage of hashes of domain names used for filtering and serving TXT records with domain-name hashes. |
|
internal/composite
Package composite implements a composite filter based on several types of filters and the logic of the filter application.
|
Package composite implements a composite filter based on several types of filters and the logic of the filter application. |
|
internal/domain
Package domain implements a domain filter based on domain table.
|
Package domain implements a domain filter based on domain table. |
|
internal/filtertest
Package filtertest contains common constants and utilities for the internal filtering packages.
|
Package filtertest contains common constants and utilities for the internal filtering packages. |
|
internal/refreshable
Package refreshable defines the refreshable part of filters and indexes.
|
Package refreshable defines the refreshable part of filters and indexes. |
|
internal/rulelist
Package rulelist contains the implementation of the standard rule-list filter that wraps an urlfilter filtering-engine.
|
Package rulelist contains the implementation of the standard rule-list filter that wraps an urlfilter filtering-engine. |
|
internal/safesearch
Package safesearch contains the implementation of the safe-search filter that uses lists of DNS rewrite rules to enforce safe search.
|
Package safesearch contains the implementation of the safe-search filter that uses lists of DNS rewrite rules to enforce safe search. |
|
internal/serviceblock
Package serviceblock contains an implementation of a filter that blocks services using rule lists.
|
Package serviceblock contains an implementation of a filter that blocks services using rule lists. |
|
Package geoip contains implementations of the GeoIP database for AdGuard DNS.
|
Package geoip contains implementations of the GeoIP database for AdGuard DNS. |
|
Package metrics contains definitions of most of the prometheus metrics that we use in AdGuard DNS.
|
Package metrics contains definitions of most of the prometheus metrics that we use in AdGuard DNS. |
|
Package profiledb defines interfaces for databases of user profiles.
|
Package profiledb defines interfaces for databases of user profiles. |
|
internal
Package internal contains common constants and types that all implementations of the default profile-cache use.
|
Package internal contains common constants and types that all implementations of the default profile-cache use. |
|
internal/fcpb
Package fcpb contains the new opaque api protobuf structures for the profile cache.
|
Package fcpb contains the new opaque api protobuf structures for the profile cache. |
|
internal/filecacheopb
Package filecacheopb contains encoding and decoding logic for opaque file cache.
|
Package filecacheopb contains encoding and decoding logic for opaque file cache. |
|
internal/filecachepb
Package filecachepb contains the protobuf structures for the profile cache.
|
Package filecachepb contains the protobuf structures for the profile cache. |
|
internal/profiledbtest
Package profiledbtest contains common helpers for profile-database tests.
|
Package profiledbtest contains common helpers for profile-database tests. |
|
Package querylog defines the AdGuard DNS query log constants and types and provides implementations of the log.
|
Package querylog defines the AdGuard DNS query log constants and types and provides implementations of the log. |
|
Package remotekv contains remote key-value storage interfaces, helpers, and implementations.
|
Package remotekv contains remote key-value storage interfaces, helpers, and implementations. |
|
consulkv
Package consulkv contains implementation of remotekv.Interface for Consul key-value storage.
|
Package consulkv contains implementation of remotekv.Interface for Consul key-value storage. |
|
rediskv
Package rediskv contains implementation of remotekv.Interface for Redis.
|
Package rediskv contains implementation of remotekv.Interface for Redis. |
|
Package rulestat contains the filtering rule statistics collector and API.
|
Package rulestat contains the filtering rule statistics collector and API. |
|
Package tlsconfig contains TLS-related interfaces, helpers, and implementations.
|
Package tlsconfig contains TLS-related interfaces, helpers, and implementations. |
|
tools
module
|
|
|
Package version contains AdGuardDNS version information.
|
Package version contains AdGuardDNS version information. |
|
Package websvc contains the AdGuard DNS web service.
|
Package websvc contains the AdGuard DNS web service. |
Click to show internal directories.
Click to hide internal directories.