You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
dnscrypt-proxy is a flexible DNS proxy. It runs on your computer or router, and can locally block unwanted content, reveal where your devices are silently sending data to, make applications feel faster by caching DNS responses, and improve security and confidentiality by communicating to upstream DNS servers over secure channels.
Extract and adjust the configuration file dnscrypt-proxy.toml to your needs. In case you started fresh, ensure you back up your modified dnscrypt-proxy.toml file.
Note: You can choose a set of preferred servers in the dnscrypt-proxy.toml file.
Change to the servers you would like to use and remove the leading #.
Example:
server_names = ['google', 'cloudflare']
When doing this, filters are ignored if you explicitly name the set of resolvers to use ['google', 'cloudflare'].
Filters are used when the list is empty, which means all resolvers from configured sources, matching the filters.
Make sure that nothing else is already listening to port 53 on your system and run (in a console with elevated privileges on Windows) the dnscrypt-proxy application.
Change your DNS settings to the configured IP address and check that everything works as expected.
./dnscrypt-proxy -resolve example.com
should return one of the chosen DNS servers instead of your ISP's resolver.
Register as a system service.
Verification of downloaded files
Pre-compiled binaries can be verified with Minisign:
(warning: long line, that may require horizontal scrolling if you use a large font. Make sure to copy the whole of it; the last characters are jB5)
On Windows, archives are ZIP files, not .tar.gz files, so use dnscrypt-proxy-*.zip in the command above.
The public key can also be obtained using a (DNSSEC-signed) DNS query:
dig txt dnscrypt-proxy.key.dnscrypt.info.
Storing the application and its configuration in different directories
This approach is feasible. However, the developers chose to keep them together for simplicity.
If you do decide to store them separately, you must specify the configuration file using an absolute path with the -config option when running any command that requires the configuration file but is not located in the current directory.
The subordinate files (such as allow/block lists, source/log files, and so on) use relative paths based on the location of the dnscrypt-proxy.toml file.
Upgrading
Assuming that the official package from this repository was installed, here's how to upgrade to a new version:
Check the change log for configuration files that need to be updated. When in doubt, start over from the example configuration files.
Check that the new version can properly load the old configuration files:
/path/to/new/dnscrypt-proxy -config /path/to/old/dnscrypt-proxy.toml -check (it shouldn't print any error)
Replace the old dnscrypt-proxy file with the new one.