Sign inSign up

mosquito/doh-proxy

By mosquito

Updated about 3 years ago

DNS over HTTPS proxy server

Image
0

805

mosquito/doh-proxy repository overview

DNS Over HTTPS proxy server

Source code here

This image allows you to run a caching DNS server on your local network, and requests will be proxied to DoH (DNS over HTTPS) servers of service providers or your own.

Technically there are several proxy server processes running and dnsmasq making requests to them.

Simple example

docker run mosquito/doh-proxy

selected providers by default is:

  • cloudflare-dns.com
  • dns.google
  • doh.opendns.com

Example with explicitly use selected service providers

docker run \
  -e DOH_PROVIDERS=cloudflare-dns.com,dns.adguard.com,doh.pub \
  mosquito/doh-proxy

Example with custom DoH url

docker run \
  -e DOH_URLS=https://dns.google/dns-query,https://doh.libredns.gr/dns-query \
  mosquito/doh-proxy

Available providers

Provider AliasProvider name
cloudflare-dns.comCloudflare
ControlD-Malware-Ads-SocialControlD (Block Malware + Ads + Social)
ControlD-Malware-AdsControlD (Block Malware + Ads)
ControlD-MalwareControlD (Block Malware)
ControlD-UnfilteredControlD (Unfiltered)
basic.rethinkdns.comRethink DNS (Configurable)
blitz.ahadns.comAhaDNS Blitz (Configurable)
dns-family.adguard.comAdGuard (Family Protection)
dns-family.adguard.comAdGuard (Family Protection)
dns-unfiltered.adguard.comAdGuard (Non-filtering)
dns.adguard.comAdGuard (Standard)
dns.cfiec.netCFIEC Public DNS (IPv6 Only)
dns.comss.oneComss.ru DNS (West)
dns.decloudus.comDeCloudUs DNS
dns.digitale-gesellschaft.chDigitale Gesellschaft - CH
dns.east.comss.oneComss.ru DNS (East)
dns.googleGoogle
dns.nextdns.ioNextDNS.io (Configurable)
dns.oszx.coOSZX DNS - UK
dns.pumplex.comOSZX DNS (Pumplex)
dns.quad9.netQuad 9 (Recommended)
dns.rubyfish.cnrubyfish.cn
dns.switch.chSwitch DNS - CH
dns.tuna.tsinghua.edu.cnTsinghua University Secure DNS - CN
dns.twnic.twQuad 101 - TW
dns10.quad9.netQuad 9 (Unsecured)
dns11.quad9.netQuad 9 (Secured with ECS Support)
dns9.quad9.netQuad 9 (Secured)
dnsforfamilyDNS For Family
dnsforge.deDNS Forge - DE
doh-2.seby.ioSeby DNS - AU
doh-ch.blahdns.comBlahDNS - CH
doh-de.blahdns.comBlahDNS - DE
doh-fi.blahdns.comBlahDNS - FI
doh-jp.blahdns.comBlahDNS - JP
doh-sg.blahdns.comBlahDNS - SG
doh.360.cn360 Secure DNS - CN
doh.applied-privacy.netApplied Privacy DNS - AT/DE
doh.au.ahadns.netAhaDNS - AU (Block Malware + Ads)
doh.chi.ahadns.netAhaDNS - US/Chicago (Block Malware + Ads)
doh.cleanbrowsing.org-doh-adult-filterCleanBrowsing (Adult Filter)
doh.cleanbrowsing.org-doh-family-filterCleanBrowsing (Family Filter)
doh.cleanbrowsing.org-doh-security-filterCleanBrowsing (Security Filter)
doh.dns.sbDNS.SB
doh.dnslify.comDNSlify DNS
doh.es.ahadns.netAhaDNS - ES (Block Malware + Ads)
doh.familyshield.opendns.comOpenDNS (Family Shield)
doh.ffmuc.netFFMUC DNS - DE
doh.idnet.netIDNet.net - UK
doh.in.ahadns.netAhaDNS - IN (Block Malware + Ads)
doh.it.ahadns.netAhaDNS - IT (Block Malware + Ads)
doh.la.ahadns.netAhaDNS - US/Los Angeles (Block Malware + Ads)
doh.libredns.gr-adsLibreDNS - GR (No Ads)
doh.libredns.grLibreDNS - GR
doh.nl.ahadns.netAhaDNS - NL (Block Malware + Ads)
doh.no.ahadns.netAhaDNS - NO (Block Malware + Ads)
doh.ny.ahadns.netAhaDNS - US/New York (Block Malware + Ads)
doh.opendns.comOpenDNS
doh.pl.ahadns.netAhaDNS - PL (Block Malware + Ads)
doh.pubDNSPod Public DNS - CN
doh.tiar.appTiarap Public DNS - SG
doh.tiar.jpTiarap Public DNS - JP
family.canadianshield.cira.caCIRA Canadian Shield (Family)
family.cloudflare-dns.comCloudflare (Family Protection)
fi.doh.dns.snopyta.orgSnopyta DNS - FI
freedns.controld.com-familyControlD (Family)
freedns.controld.com-p0ControlD (Unfiltered)
freedns.controld.com-p1ControlD (Block Malware)
freedns.controld.com-p2ControlD (Block Malware + Ads)
freedns.controld.com-p3ControlD (Block Malware + Ads + Social)
kaitain.restena.luRestena DNS - LU
odvr.nic.czODVR (nic.cz)
ordns.he.netHurricane Electric
private.canadianshield.cira.caCIRA Canadian Shield (Private)
protected.canadianshield.cira.caCIRA Canadian Shield (Protected)
public.dns.iij.jpIIJ Public DNS - JP
resolver-eu.lelux.fiLelux DNS - FI
security.cloudflare-dns.comCloudflare (Security Protection)

Customize dnsmasq behaviour

Any dnsmasq option can be passed in an environment variable that matches the following pattern:

  • DNSMASQ_{OPTION_NAME}={OPTION_VALUE}

If you need to pass multiple options this should look like a valid python list.

  • DNSMASQ_LISTEN_ADDRESS="['::', '0.0.0.0']" means --listen-address=:: --listen-address=0.0.0.0

To override an option, such as a declared default, you must pass it the value False:

  • DNSMASQ_NO_RESOLV=True means --no-resolv
  • DNSMASQ_NO_RESOLV=False ignored
Defaults
  • DOH_PROVIDERS=cloudflare-dns.com,dns.google,doh.opendns.com
  • DNSMASQ_CACHE_SIZE=500000
  • DNSMASQ_LISTEN_ADDRESS="['::', '0.0.0.0']"
  • DNSMASQ_NO_HOSTS=True
  • DNSMASQ_NO_NEGCACHE=True
  • DNSMASQ_NO_POLL=True
  • DNSMASQ_NO_RESOLV=True
  • DNSMASQ_PORT=53
  • DNSMASQ_STRICT_ORDER=True
  • DNSMASQ_USE_STALE_CACHE=48h

Tag summary

Content type

Image

Digest

sha256:5cd53c0d7

Size

83.8 MB

Last updated

about 3 years ago

docker pull mosquito/doh-proxy