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 agdservice defines types and interfaces for long-running services.
|
Package agdservice defines types and interfaces for long-running services. |
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 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. |
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
Package internal contains common constants, types, and utilities shared by other subpackages of package filter/.
|
Package internal contains common constants, types, and utilities shared by other subpackages of package filter/. |
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/custom
Package custom contains the caching storage of filters made from custom filtering rules of clients.
|
Package custom contains the caching storage of filters made from custom filtering rules of clients. |
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 optlog contains ugly hacks to make debug logs allocate less when debug mode is not enabled.
|
Package optlog contains ugly hacks to make debug logs allocate less when debug mode is not enabled. |
Package optslog contains optimizations making debug logs using log/slog allocate less when debug mode is not enabled.
|
Package optslog contains optimizations making debug logs using log/slog allocate less when debug mode is not enabled. |
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/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.