Git Product home page Git Product logo

private-dns's Introduction

Private DNS

This project will do 3 things:

  • Encrypt your DNS requests
  • Serve DNS requests for internal domains
  • Cache DNS requests for faster browsing

To do that it uses a dnsmasq server and a dnscrypt proxy.

Encrypting DNS requests

It will encrypt your DNS requests by relaying upstream dns requests through a local dnscrypt proxy.

Serve DNS requests for internal domains

By default it contains an example extra_hosts file with an entry for a router pointing to 192.168.1.1.
After starting the containers you will be able to nslookup router.home.local localhost and have 192.168.1.1 returned.
It's recommended to create your own extra_hosts file with the entries you want.

The image also contains a *.docker.local domain pointing to 192.168.1.2 which enables this to be used with jwilders nginx-proxy for easy access to your local docker containers.
For instance I just need to type grafana.docker.local in my browser to access Grafana. No port conflicts!

Cache DNS requests for faster browsing

The last 5000 DNS requests are cached for their public time to live (or until these container is restarted) which will mean faster browsing since you won't need to query external servers each time anymore.

Running it

docker-compose up. That's it!

Configuration

An example docker-compose file is included.
It's recommended to change the dnscrypt provider to one close to your location. Here is a list of provider

private-dns's People

Contributors

mkjaer avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

sidrodev

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.