Skip to content

isa0-gh/easydoh

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

EasyDoH

EasyDoH is a simple DNS-over-HTTPS (DoH) server written in Go. It allows you to run a local DoH server that forwards DNS queries to popular public resolvers.

GitHub Repository


Features

  • Lightweight and easy to configure
  • Supports multiple upstream resolvers:
    • Cloudflare
    • Google
    • Quad9
    • AdGuard
    • Cisco
  • Configurable TTL and bind address

Installation

  1. Build and install using Makefile
git clone https://github.com/isa0-gh/easydoh.git
cd easydoh
make install

The Makefile will automatically detect your init system and install the appropriate service script.

  1. Configuration file

Create or edit /etc/easydoh/config.json:

{
  "resolver": "adguard",
  "ttl": 300,
  "bind_address": "127.0.0.1:53"
}
  • resolver — choose from: cloudflare, google, quad9, adguard, cisco
  • ttl — DNS response time-to-live in seconds
  • bind_address — IP and port for the server to listen on

Service Management

Systemd

# Reload systemd and enable the service
sudo systemctl daemon-reload
sudo systemctl enable easydoh.service

# Start/Stop the service
sudo systemctl start easydoh.service
sudo systemctl stop easydoh.service

# Check status
sudo systemctl status easydoh.service

OpenRC

# Enable and start the service
sudo rc-update add easydoh default
sudo rc-service easydoh start

# Stop the service
sudo rc-service easydoh stop

Usage

Once installed and started, EasyDoH will listen on the configured bind_address and forward queries to the chosen resolver. You can use it as your local DoH server by pointing your applications or system DNS settings to it.


License

MIT License

Releases

No releases published

Packages

No packages published