How technitiumsoftware/dnsserver works
Technitium DNS Server is a self-hosted authoritative and recursive DNS server with a web administration console. The principal workflow is a DNS client query entering the server, which resolves it using authoritative zones or recursion and can apply installed DNS apps; the README also documents caching, DNSSEC, encrypted DNS transports, and blocking. Administrators use the web service for zones, users, logs, DHCP, and cluster management. The graph covers major documented capabilities, but unsampled modules are represented at directory level and their internal wiring is not inferred.
Main entry points: DnsWebService.cs Web administration service · DnsServer.cs DNS server · DnsApplicationManager.cs DNS applications · AuthZoneManager.cs Authoritative zones
Components 20
DNS Resolution
- DNS server
DnsServerCore/Dns/DnsServer.cs - Resolver caches
DnsServerCore/Dns/ResolverDnsCache.cs - DNS statistics
DnsServerCore/Dns/StatsManager.cs
Zones and Apps
- Authoritative zones
DnsServerCore/Dns/ZoneManagers/AuthZoneManager.cs - Zone implementations
DnsServerCore/Dns/Zones - DNS applications
DnsServerCore/Dns/Applications/DnsApplicationManager.cs - Advanced blocking
Apps/AdvancedBlockingApp/App.cs - Advanced forwarding
Apps/AdvancedForwardingApp/App.cs - DNS64
Apps/Dns64App/App.cs
Administration
- Authentication and roles
DnsServerCore/Auth/AuthManager.cs - Web administration service
DnsServerCore/DnsWebService.cs - Web API routes
DnsServerCore/WebServiceApi.cs - Web console
DnsServerCore/www/js/main.js - Cluster management
DnsServerCore/Cluster/ClusterManager.cs - Query logging
DnsServerCore/LogManager.cs
Network Services
- DHCP server
DnsServerCore/Dhcp/DhcpServer.cs - Log export
Apps/LogExporterApp/Strategy/ExportManager.cs - Query log stores
Apps/QueryLogsSqliteApp/App.cs
Other components
- DNS client
- Administrator
Connections 18
- DNS client → DNS server: queries
- DNS server → Authoritative zones: resolves zones
DnsServerCore/Dns/ZoneManagers/AuthZoneManager.cs - DNS server → Resolver caches: caches responses
DnsServerCore/Dns/DnsServer.cs - DNS server → DNS statistics: queues statistics
DnsServerCore/Dns/StatsManager.cs - DNS server → DNS applications: dispatches apps
DnsServerCore/Dns/DnsServer.cs - Authoritative zones → Zone implementations: manages zones
DnsServerCore/Dns/ZoneManagers/AuthZoneManager.cs - Advanced blocking → DNS applications: implements app contract
Apps/AdvancedBlockingApp/App.cs - Advanced forwarding → DNS applications: implements app contract
Apps/AdvancedForwardingApp/App.cs - DNS64 → DNS applications: implements app contract
Apps/Dns64App/App.cs - Administrator → Web console: administers
- Web console → Web administration service: uses console service
- Web administration service → Web API routes: routes requests
DnsServerCore/DnsWebService.cs - Web administration service → Authentication and roles: uses authentication
DnsServerCore/DnsWebService.cs - Web administration service → Cluster management: uses cluster manager
DnsServerCore/DnsWebService.cs - Web administration service → DHCP server: manages DHCP
DnsServerCore/DnsWebService.cs - Web administration service → Query logging: manages logs
DnsServerCore/DnsWebService.cs - Cluster management → Authoritative zones: updates cluster zones
DnsServerCore/Cluster/ClusterManager.cs - Log export → Query log stores: exports log data