The Domain Name System (DNS) is the fundamental component of Internet communications. It translates human-readable names, such as www.example.net, to IPv4 or IPv6 addresses that can be accessible through a network.
The standard DNS protocol is very old and cannot satisfy the requirements of modern networking, including security, flexibility and reliability. To address these problems, a number of improvements and new protocols have been suggested, but unfortunately, they are not well supported, even by the latest operating systems and apps.
YogaDNS helps to resolve all these problems and move DNS to the next level. It can resolve hostnames over DNSCrypt, DNS over HTTPS (DoH) and plain (standard) DNS protocols as well as perform DNSSEC validation (local and remote).
The key feature of YogaDNS is the system-level integration. In other words, there is no need to change any existing DNS settings in multiple places. YogaDNS captures DNS requests at the system level and processes them according to your configuration and rules.
Even if you do not plan to use modern DNS protocols yet, you can get a lot of benefits and powerful features. YogaDNS allows you to define and use multiple DNS servers and pools simultaneously and set the rules based on hostname mask. You can process or block the resolves, choose the network interface, and so on. Optionally, you can set the rules to be triggered only if there is a specific network or VPN connection available.
Installation is easy and straightforward. YogaDNS is available as a download package at www.yogadns.com. It can be installed on Microsoft Windows 7, 8, 8.1 or 10 or Windows Server 2012, 2016 or 2019. Both 32- and 64-bit editions are supported.
Simply run the YogaDNSSetup.exe setup program and follow the steps of the installation wizard. No reboot is required.
Similarly, you can uninstall YogaDNS at any time. Simply go to
When you start YogaDNS, it runs in the background and adds its icon to the system tray. (If you do not see the YogaDNS icon, click on the arrow-like icon on the left side of the system tray.)
There are no default DNS servers or rules in YogaDNS, and all DNS queries are bypassed. Still, you should see them in the log window as below:
[10.31 15:53:16] google.com - bypass : rule=Default [10.31 15:56:14] www.google.com - bypass : rule=Default [10.31 15:56:14] ssl.gstatic.com - bypass : rule=Default
At this point, you can manage DNS resolves with Rules. It is possible to block certain domains or force resolves through the selected network interfaces (default DNS servers will be used).
To add a specific
After adding a
It is possible to create multiple Rules to resolve certain hostnames through selected DNS servers. When a resolve gets processed by YogaDNS through a DNS server, you should see the log messages as below (set Screen Log to Verbose or Debug for more output):
[10.31 17:08:51] iana.org - request : type=A, server=10.0.0.1:53, program=nslookup.exe [10.31 17:08:51] iana.org - process : server=Google Public DNS (Plain, 184.108.40.206), rule=Default [10.31 17:08:51] iana.org - reply : type=A, ips=220.127.116.11 [10.31 17:08:51] iana.org - request : type=AAAA, server=10.0.0.1:53, program=nslookup.exe [10.31 17:08:51] iana.org - process : server=Google Public DNS (Plain, 18.104.22.168), rule=Default [10.31 17:08:51] iana.org - reply : type=AAAA, ips=2001:500:88:200::8
You can now close the main window of YogaDNS, as it will keep running while minimized in the system tray. To make YogaDNS start automatically on Windows startup (user logon), enable
To open the main window, click the YogaDNS icon on the system tray or taskbar. The window has a menu, a toolbar and the log output, as seen below.
The elements of the toolbar correspond to the menu commands. You can manage the DNS Servers and Rules, clear the screen log by clicking
When you close the main window, YogaDNS keeps running while minimized in the system tray. You can change this behavior by
To manage the list of DNS servers used by YogaDNS, open
You can use the
When you add or edit a DNS Server, the following window is displayed.
The available parameters depend on the selected protocol. The above example is of the Google Public DNS (Plain protocol).
For the DNSCrypt protocol, you can specify the
For the DNS over HTTPS protocol, you can specify the
By clicking the
Rules are an essential part of YogaDNS. Basically, they allow you to specify a DNS Server that will be used for each resolve request based on the requested hostname. You can also block or bypass the request or force it through a selected network interface. To find the list of the rules, go to
You can use the
If you set a specific network interface for a rule, you can tell YogaDNS to
You can edit the Rule Name, set the Action and set the DNS Server right in the list. To edit Hostnames and change other parameters, double-click the rule or click
Here you can set an arbitrary
Depending on the actual values of
YogaDNS stores configurations in files (human-readable XML). From the
YogaDNS provides highly detailed, real-time messages about all activities. The messages can be output on the screen (log window) and/or as a file. There are four levels of verbosity: Errors Only, Normal, Verbose and Debug. You can set them independently for Screen and File through the toolbar or Log menu. To set the log file path, go to