# DNS-over-HTTPS A lightweight DNS-over-HTTPS ("DOH") proxy written in Rust. DNS-over-HTTPS is a lightweight proxy that will securely forward any requests to a DNS-over-HTTPS resolver such as [Cloudflare](https://developers.cloudflare.com/1.1.1.1/dns-over-https/). **Current version:** 0.2.0 **Supported Rust version:** 1.31 ## Install Download the latest binary for your architecture from the [releases page](https://github.com/ssrlive/dns-over-https/releases). ## Usage ``` Usage: dns-over-https.exe [OPTIONS] Options: -b, --bind Listen for DNS requests on the addresses and ports [default: 127.0.0.1:53] -u, --upstream-urls URL(s) of upstream DNS-over-HTTPS service [default: https://1.1.1.1/dns-query] -v, --verbosity Verbosity level [default: info] [possible values: off, error, warn, info, debug, trace] -h, --help Print help -V, --version Print version ``` ### Running on a Pi-Hole To use DNS-over-HTTPS to encrypt your DNS requests on a Pi-Hole, download and install the latest [release](https://github.com/ssrlive/dns-over-https/releases): ```console pi@raspberrypi:~ $ wget https://github.com/ssrlive/dns-over-https/releases/download/v0.2.0/dns-over-https-v0.2.0-arm-unknown-linux-gnueabihf.tar.gz pi@raspberrypi:~ $ tar xzf dns-over-https-v0.2.0-arm-unknown-linux-gnueabihf.tar.gz pi@raspberrypi:~ $ sudo mv dns-over-https /usr/local/bin/ ``` You can confirm dns-over-https is working properly by asking for the current version: ```console pi@raspberrypi:~ $ dns-over-https --version dns-over-https 0.2.0 ``` You can then configure dns-over-https to run as a Systemd service that listens on port 5053 and forwards requests to [Cloudflare's DNS-over-HTTPS resolvers](https://developers.cloudflare.com/1.1.1.1/dns-over-https/). First, create a system user for dns-over-https: ```console pi@raspberrypi:~ $ sudo adduser --system --no-create-home dns-over-https ``` Then write out a Systemd unit file: ```console pi@raspberrypi:~ $ sudo tee /lib/systemd/system/dns-over-https.service <