explaingit

dnscrypt/dnscrypt-proxy

13,298GoAudience · ops devopsComplexity · 3/5Setup · moderate

TLDR

A privacy tool that encrypts your DNS lookups so your internet provider cannot see which websites you visit, with optional ad blocking and malware filtering built in.

Mindmap

mindmap
  root((repo))
    What it does
      Encrypt DNS lookups
      Block ads and malware
      Local DNS cache
    Protocols
      DNSCrypt v2
      DNS-over-HTTPS
      Anonymized DNSCrypt
      Oblivious DoH
    Extra Privacy
      Tor routing
      SOCKS proxy
      Relay anonymization
    Platforms
      Windows
      macOS
      Linux
      Android and BSD
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Encrypt all DNS lookups on your computer so your ISP cannot log which websites you visit.

USE CASE 2

Block ads and malware domains at the DNS level for every app and browser on your machine without any browser extension.

USE CASE 3

Route DNS requests through Tor or a proxy so the DNS server cannot see your IP address either.

USE CASE 4

Set up a fast local DNS cache that automatically measures and picks the fastest encrypted resolver from a list.

Tech stack

GoDNSCryptDNS-over-HTTPSTorSOCKS

Getting it running

Difficulty · moderate Time to first run · 30min

After installing, you must change your system DNS settings to point at the local proxy, full docs and server lists are at dnscrypt.info.

In plain English

When you type a website address into your browser, your computer has to look up the actual server location behind that name. This lookup process, called DNS, is usually sent in plain text across the internet, which means your internet provider or anyone monitoring the network can see which websites you visit. dnscrypt-proxy is a tool that sits between your computer and the internet and encrypts those lookups so they stay private. It supports several different encrypted DNS protocols: DNSCrypt v2, DNS-over-HTTPS, Anonymized DNSCrypt, and Oblivious DoH. Each of these sends your lookup requests in an encrypted form to a remote server that resolves them on your behalf. Some options add an extra layer by routing requests through relays so the final DNS server cannot see your IP address either. For even more privacy, it can route traffic through Tor or SOCKS proxies. Beyond privacy, the tool includes features for filtering and control. It can block ads, malware domains, and other unwanted content by checking each request against lists you configure. Time-based filtering lets you apply different rules at different hours of the week. A cloaking feature works like an enhanced hosts file, letting you return custom addresses for specific domain names, which some users also use to enforce safe search on major search engines. For performance, dnscrypt-proxy keeps a local cache of recent lookups to speed up repeated requests, and it can connect to multiple DNS resolvers at once, automatically measuring their speed and spreading traffic across the fastest ones. Pre-built binaries are available for a wide range of systems including Windows, macOS, Linux, Android, and several BSD variants, so most users can install it without compiling anything. The README is a short overview. Full documentation, setup guides, and a list of public DNS servers that support these encrypted protocols are on the project website at dnscrypt.info.

Copy-paste prompts

Prompt 1
I want to install dnscrypt-proxy on Ubuntu to encrypt my DNS traffic and block ads. Walk me through downloading the binary, writing a minimal config, and setting it as my system DNS resolver.
Prompt 2
How do I configure dnscrypt-proxy to block ads and malware using public blocklists, and add my own list of domains to block?
Prompt 3
Set up dnscrypt-proxy to route all DNS requests through Tor for maximum anonymity. What config changes do I need to make?
Prompt 4
I have dnscrypt-proxy running. How do I configure it to benchmark multiple DNS resolvers and automatically use the fastest ones?
Open on GitHub → Explain another repo

← dnscrypt on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.