A simple DNS proxy, with support for some hooks (such as webhooks).
DNSHooks-Proxy's inbound/outbound channel handler pipeline in Netty:
+--------+ +--------------------+
| | --> DatagramDnsQueryDecoder | +----------------+ |
| DNS | DnsProxyServerClientHandler --> | | DNSHooks Proxy | |
| Client | | | Server | |
| | DnsProxyServerDisruptorHandler <-- | +----------------+ |
| | <-- DatagramDnsResponseEncoder | | A | | +--------+
+--------+ | | | V | | |
| | +----------------+ | --> ProxyQueryEncoder --------------> | DNS |
| | | DNSHooks Proxy | | | Server |
V | | Client | | ProxyResponseDecoder <-- | |
+-------------+ | +----------------+ | <-- ObtainMessageChannelHandler | |
/ /| +--------------------+ +--------+
+-------------+ |
| Disruptor | |
| Ring Buffer |/
+-------------+
| | |
V V V
Hook Hook Hook
- RFC 1034 Domain Names - Concepts And Facilities
- RFC 1035 Domain Names - Implementation And Specification
- RFC 2136 Dynamic Updates in the Domain Name System (DNS UPDATE)
- RFC 2181 Clarifications to the DNS Specification
- RFC 2535 Domain Name System Security Extensions
- RFC 2929 Domain Name System (DNS) IANA Considerations
- RFC 7766 DNS Transport over TCP - Implementation Requirements