A simplistic DNS daemon that you can use as your local DNS server and have it route DNS requests to upstream servers based on the requested domain.
I’ve created this so that I can effectively set up split DNS (sometimes called split horizon DNS) such that my setup will properly forward DNS requests through a VPN connection only when the domain being queried is told to do so.
Why? Split DNS is apparently supported by common DNS server software but
my experience is that it’s not implemented in the way I expect. For example
dnsmasq
will send DNS requests to all servers regardless of the rules and
when an upstream DNS server is dropping connections it will hang the whole server.
This service can also answer with internal DNS entries, avoiding the need for host file modifications.
Checkout the Github project for a full breakdown.