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.
- Lightweight and easy to configure
- Supports multiple upstream resolvers:
- Cloudflare
- Quad9
- AdGuard
- Cisco
- Configurable TTL and bind address
- Build and install using Makefile
git clone https://github.com/isa0-gh/easydoh.git
cd easydoh
make installThe Makefile will automatically detect your init system and install the appropriate service script.
- 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,ciscottl— DNS response time-to-live in secondsbind_address— IP and port for the server to listen on
# 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# Enable and start the service
sudo rc-update add easydoh default
sudo rc-service easydoh start
# Stop the service
sudo rc-service easydoh stopOnce 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.
MIT License