Metadata-Version: 1.2
Name: django-doh
Version: 0.1.0
Summary: A simple Django app to serve DOH.
Home-page: https://github.com/treussart/django-doh
Author: Matthieu Treussart
Author-email: matthieu@treussart.com
License: BSD License
Description: ==========
        Django-doh
        ==========
        
        Django-doh is a simple Django app to serve a DOH (DNS Over HTTPS) Proxy. It resolves DNS query on HTTP.
        
        Quick start
        -----------
        
        1. Install via pip::
        
            pip install django-doh
        
        2. Add "doh_server" to your INSTALLED_APPS setting like this::
        
            INSTALLED_APPS = [
                ...
                'doh_server',
            ]
        
        3. Include the polls URLconf in your project urls.py like this::
        
            from doh_server.views import doh_request
            path('dns-query', doh_request),
        
        4. Add the conf in your settings like this::
        
            DOH_SERVER = {
                "RESOLVER": "internal",
                # "RESOLVER": "8.8.8.8",
                "AUTHORITY": "",
                "LOGGER_LEVEL": "DEBUG",
            }
        
        For use local resolver set on the server who run Django use "internal".
        
        Implementation
        --------------
        
        RFC 8484
        ========
        
        * https://www.rfc-editor.org/rfc/rfc8484.txt
        
        Json implementation
        ===================
        
        * https://developers.cloudflare.com/1.1.1.1/dns-over-https/json-format/
        
        
        Use with Firefox
        ----------------
        
        in about:config edit::
        
            network.trr.mode;3
            network.trr.uri;https://127.0.0.1/dns-query
        
        
        For the URI, add your URI for your reverse proxy serving Django.
        
        You can use Nginx as reverse proxy ::
        
            events {
            }
            http {
                server {
                    listen 443 ssl http2 default_server;
                    location /dns-query {
                        proxy_set_header Host $host;
                        proxy_pass http://127.0.0.1:8000/dns-query;
                    }
                    ssl_certificate /etc/nginx/cert.pem;
                    ssl_certificate_key /etc/nginx/key.pem;
                }
            }
        
        
        
Platform: UNKNOWN
Classifier: Environment :: Web Environment
Classifier: Framework :: Django
Classifier: Framework :: Django :: 2.2
Classifier: License :: OSI Approved :: BSD License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3.7
Classifier: Topic :: Internet :: WWW/HTTP
Classifier: Topic :: Internet :: Name Service (DNS)
Requires-Python: >=3.7
