Crate kapiti Copy item path Source cache Local and Redis cache clients. client Clients for querying upstream DNS servers over various protocols/methods codec Parsers/generators for converting raw DNS messages into equivalent framebuffer representations config Utilities relating to Kapiti toml configuration. fetcher Client for downloading data over HTTP to local disk. filter Filters/overrides to be applied before querying upstream DNS servers hyper_smol Implements support for running the hyper HTTP library against smol, not tokio.
This allows me to stop spending hours every 4-6 months to keep Kapiti on the Tokio upgrade treadmill.
The hyper integration meanwhile is set up to resolve hosts against ourselves, instead of the system resolver. listen_tcp Listens to a TCP socket for incoming requests, adding them to a channel. listen_udp Listens to a UDP socket for incoming requests, adding them to a channel. logging Utilities relating to setting up log output. lookup Runs a DNS query, checking for matching filters or going to the upstream resolver panic Configures custom panic handler to exit the process if a worker thread dies. resolver Wraps one or more DNS clients and performs queries through them runner Runs the UDP/TCP listeners and worker threads. specs Definitions of serializable framebuffer representations for DNS messages timeout Shared utility for handling timeouts