https://github.com/mudge/homer
A lightweight DNS-over-HTTPS ("DOH") proxy written in Rust.
https://github.com/mudge/homer
Last synced: about 1 year ago
JSON representation
A lightweight DNS-over-HTTPS ("DOH") proxy written in Rust.
- Host: GitHub
- URL: https://github.com/mudge/homer
- Owner: mudge
- License: mit
- Created: 2018-12-30T17:58:53.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2019-01-03T21:25:24.000Z (over 7 years ago)
- Last Synced: 2025-05-08T18:53:38.754Z (about 1 year ago)
- Language: Rust
- Homepage: https://github.com/mudge/homer/releases
- Size: 53.7 KB
- Stars: 16
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Homer [](https://travis-ci.org/mudge/homer)
A lightweight DNS-over-HTTPS ("DOH") proxy written in Rust.
Homer 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/mudge/homer/releases).
## Usage
```
USAGE:
homer [OPTIONS]
FLAGS:
-h, --help Prints help information
-V, --version Prints version information
OPTIONS:
-b, --bind listen for DNS requests on this address and port [default: 127.0.0.1:53]
-u, --upstream ... URL(s) of upstream DNS-over-HTTPS service [default: https://1.1.1.1/dns-query]
```
### Running on a Pi-Hole
To use Homer to encrypt your DNS requests on a Pi-Hole, download and install the latest [release](https://github.com/mudge/homer/releases):
```console
pi@raspberrypi:~ $ wget https://github.com/mudge/homer/releases/download/v0.2.0/homer-v0.2.0-arm-unknown-linux-gnueabihf.tar.gz
pi@raspberrypi:~ $ tar xzf homer-v0.2.0-arm-unknown-linux-gnueabihf.tar.gz
pi@raspberrypi:~ $ sudo mv homer /usr/local/bin/
```
You can confirm Homer is working properly by asking for the current version:
```console
pi@raspberrypi:~ $ homer --version
Homer 0.2.0
```
You can then configure Homer 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 Homer:
```console
pi@raspberrypi:~ $ sudo adduser --system --no-create-home homer
```
Then write out a Systemd unit file:
```console
pi@raspberrypi:~ $ sudo tee /lib/systemd/system/homer.service <