Documentation ¶
There is no documentation for this package.
Directories ¶
Path | Synopsis |
---|---|
internal
|
|
access
Package access contains structures for access control management.
|
Package access contains structures for access control management. |
agd
Package agd contains common entities and interfaces of AdGuard DNS.
|
Package agd contains common entities and interfaces of AdGuard DNS. |
agdcache
Package agdcache contains cache interfaces, helpers, and implementations.
|
Package agdcache contains cache interfaces, helpers, and implementations. |
agdhttp
Package agdhttp contains common constants, functions, and types for working with HTTP.
|
Package agdhttp contains common constants, functions, and types for working with HTTP. |
agdnet
Package agdnet contains network-related utilities.
|
Package agdnet contains network-related utilities. |
agdpasswd
Package agdpasswd contains authentication utils.
|
Package agdpasswd contains authentication utils. |
agdprotobuf
Package agdprotobuf contains protobuf utils.
|
Package agdprotobuf contains protobuf utils. |
agdservice
Package agdservice defines types and interfaces for long-running services.
|
Package agdservice defines types and interfaces for long-running services. |
agdtest
Package agdtest contains simple mocks for common interfaces and other test utilities.
|
Package agdtest contains simple mocks for common interfaces and other test utilities. |
agdtime
Package agdtime contains time-related utilities.
|
Package agdtime contains time-related utilities. |
backendpb
Package backendpb contains the protobuf structures for the backend API.
|
Package backendpb contains the protobuf structures for the backend API. |
billstat
Package billstat implements the AdGuard DNS billing statistics database.
|
Package billstat implements the AdGuard DNS billing statistics database. |
bindtodevice
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. |
cmd
Package cmd is the AdGuard DNS entry point.
|
Package cmd is the AdGuard DNS entry point. |
cmd/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. |
connlimiter
Package connlimiter describes a limiter of the number of active stream-connections.
|
Package connlimiter describes a limiter of the number of active stream-connections. |
consul
Package consul contains types and utilities for updating data from Consul.
|
Package consul contains types and utilities for updating data from Consul. |
debugsvc
Package debugsvc contains the debug HTTP API of AdGuard DNS.
|
Package debugsvc contains the debug HTTP API of AdGuard DNS. |
dnscheck
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. |
dnsdb
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. |
dnsmsg
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. |
dnssvc
Package dnssvc contains AdGuard DNS's main DNS services.
|
Package dnssvc contains AdGuard DNS's main DNS services. |
dnssvc/internal
Package internal contains common utilities for DNS middlewares.
|
Package internal contains common utilities for DNS middlewares. |
dnssvc/internal/devicefinder
Package devicefinder contains the default implementation of the agd.DeviceFinder interface.
|
Package devicefinder contains the default implementation of the agd.DeviceFinder interface. |
dnssvc/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. |
dnssvc/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. |
dnssvc/internal/mainmw
Package mainmw contains the main middleware of AdGuard DNS.
|
Package mainmw contains the main middleware of AdGuard DNS. |
dnssvc/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. |
dnssvc/internal/preupstream
Package preupstream contains the middleware that records anonymous DNS statistics.
|
Package preupstream contains the middleware that records anonymous DNS statistics. |
dnssvc/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. |
ecscache
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. |
errcoll
Package errcoll contains implementations of error collectors, most notably Sentry.
|
Package errcoll contains implementations of error collectors, most notably Sentry. |
experiment
Package experiment occasionally contains code for one-off experiments.
|
Package experiment occasionally contains code for one-off experiments. |
filter
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. |
filter/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. |
filter/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/. |
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. |
filter/internal/custom
Package custom contains the caching storage of filters made from custom filtering rules of profiles.
|
Package custom contains the caching storage of filters made from custom filtering rules of profiles. |
filter/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. |
filter/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. |
filter/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. |
filter/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. |
geoip
Package geoip contains implementations of the GeoIP database for AdGuard DNS.
|
Package geoip contains implementations of the GeoIP database for AdGuard DNS. |
metrics
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. |
optlog
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. |
optslog
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. |
profiledb
Package profiledb defines interfaces for databases of user profiles.
|
Package profiledb defines interfaces for databases of user profiles. |
profiledb/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. |
profiledb/internal/filecachepb
Package filecachepb contains the protobuf structures for the profile cache.
|
Package filecachepb contains the protobuf structures for the profile cache. |
profiledb/internal/profiledbtest
Package profiledbtest contains common helpers for profile-database tests.
|
Package profiledbtest contains common helpers for profile-database tests. |
querylog
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. |
remotekv
Package remotekv contains remote key-value storage interfaces, helpers, and implementations.
|
Package remotekv contains remote key-value storage interfaces, helpers, and implementations. |
remotekv/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. |
remotekv/rediskv
Package rediskv contains implementation of remotekv.Interface for Redis.
|
Package rediskv contains implementation of remotekv.Interface for Redis. |
rulestat
Package rulestat contains the filtering rule statistics collector and API.
|
Package rulestat contains the filtering rule statistics collector and API. |
tlsconfig
Package tlsconfig contains TLS related interfaces, helpers, and implementations.
|
Package tlsconfig contains TLS related interfaces, helpers, and implementations. |
version
Package version contains AdGuardDNS version information.
|
Package version contains AdGuardDNS version information. |
websvc
Package websvc contains the AdGuard DNS web service.
|
Package websvc contains the AdGuard DNS web service. |
dnsserver
Module
|
|
scripts
|
|
backend
main implements a single mock GRPC server for backend services defined by BILLSTAT_URL, PROFILES_URL, and REMOTE_KV_URL environment variables.
|
main implements a single mock GRPC server for backend services defined by BILLSTAT_URL, PROFILES_URL, and REMOTE_KV_URL environment variables. |
Click to show internal directories.
Click to hide internal directories.