This package install the command line interface for Stubby. A future release will include a Graphical Interface to manage Stubby.
Download and run the installer: Stubby.msi
SHA256 Checksum: 9622299c86738859fdfe5fefbe08950612229a74b9b66069ee79658edf18e115
This installs the following files in C:\Program Files\Stubby\
- README.txt - containing these instructions
- stubby.exe - binary
- stubby.yml - configuration file
- getdns_query.exe - tool for testing stubby
- Powershell scripts for modifying system resolvers:
This version of the installer is built from:
- getdns commit: 12272dda368e81b519c7b192d8ee98dcd39d9720 (1.2.0 release with fixes from the develop branch)
- stubby version: 0.1.4
It is recommended to use the default configuration file provided which will use 'Strict' privacy mode and spread the DNS queries among several of the current DNS Privacy test servers. Note that this file contains both IPv4 and IPv6 addresses. It installed in "C:\Program Files\Stubby\stubby.yml"
More information on how to customise the configuration can be found here.
Simply invoke Stubby on the command line from a command prompt window (To get a command prompt go to the Windows search box and type 'cmd' and then choose the 'Command prompt' option)
The -l flag enables full logging. Alternatively a specific logging level can be controlled by using the -v flag (run '
- h' for details of available levels).
We are working on support for running Stubby as a service on Windows 10
A quick test can be done by opening a separate Command prompt window and using getdns_query (or your favourite DNS tool) on the loopback address:
You should see a status of GETDNS_RESPSTATUS_GOOD and and rcode of GETDNS_RCODE_NOERROR in the getdns_query output. You should also see a connection being made in the stubby logs.
Modify your upstream resolvers
Once this change is made all your DNS queries will be re-directed to Stubby and sent over TLS!
(You may need to restart some applications to have them pick up the network settings).
For Stubby to re-send outgoing DNS queries over TLS the recursive resolvers configured on your machine must be changed to send all the local queries to the loopback interface on which Stubby is listening.
In most cases your system will use the 'default' DNS servers that are provided by whatever network you are on at the time. Using the two Powershell comands will be all you need to switch back and forth from Stubby to the default DNS settings for the network you are on. (The scripts don't store any DNS config information because it can change dynamically). If you want to double check what servers you are using right now you can use then follow the instructions below to inspect your system settings. If you have reason to think your system uses specific servers on all networks it might be useful to note your existing default nameservers before making this change so you can use the same instructions to reset them!
To set your nameservers to use Stubby
- From Windows search box type 'cmd' and on the 'Command prompt' option that appears right click and select 'run as Administrator'
In the command prompt window that appears type
PowerShell -ExecutionPolicy bypass -
to switch the system DNS resolvers to use Stubby.
You can monitor the DNS traffic using Wireshark watching on port 853.
If you encounter problems or want to turn Stubby off for any reason then reverse this change to restore the default network settings (no DNS Privacy) by running
- We are aware of occasional issues when Windows sleeps and resumes when stubby must be restarted to work correctly.
- If you get an error when trying to run Stubby that includes the words "Could not bind on given address" then retry the command from an 'Administrator' Command prompt window
- The '-h' output of stubby.exe shows the wrong path for the installed configuration file. An issue has been opened for this.
Manual update of system revolvers on Windows
If you need to manually inspect or change your system revolvers on Windows through the GUI then do the following:
- Open the Control Panel
- Choose 'Network and Internet'
- Choose 'View network status and tasks' under 'Network and Sharing Center'
- Choose 'Change adapter settings' from the left hand menu
- Then choose your interface - most likely either 'Wi-fi' or 'Ethernet'
- In the dialog that appears, click on the 'Properties' button at the bottom
- In the list that appears double click on 'Internet Protocol Version 4 (TCP/IPv4)'
- You can toggle your DNS between using the default DNS servers provided by the network you are on and setting specific servers using the botton radio buttons on this page
- Be sure to press OK and then Close to apply the settings.
- Repeat step 7 for 'Internet Protocol Version 6 (TCP/IPv6)' if you have IPv6 enabled
A helpful screenshot (in German):
If you have changed the default config in the stubby.yml file and are running in Opportunistic mode then you may want to add an alternative DNS server in here for robustness. However DNS queries sent to this server will be sent clear text over UDP/TCP, so this is NOT recommended for Strict mode unless required for bootstrapping (e.g. in a corporate network).
This release has not been tested on Windows 7 but we have user reports that Stubby works fine on Windows 7. However, the Powershell scripts release with the installer do not work on Windows 7. Windows 7 users can manually update their system resolvers using the instructions above, or see this issue for a suggested script that should work on Windows 7. We hope to include Windows 7 scripts in the next version of the installer.