# README
doh-relay ·

doh-relay is a tool for relaying DNS queries
-
Ability to provide
DNS53
andDNS-over-HTTPS
services simultaneously. -
Relay DNS queries to upsteram service (can be
DNS53
orDNS-over-HTTPS
). -
Support
EDNS-Client-Subnet
.
Build
make release
Usage
Usage:
doh-relay [options]
Options:
-cache
Enable cache for DNS answers. (default true)
-cache-backend string
Specify cache backend (default "internal")
-config string
use config file (yaml format)
-dns53
Enable dns53 relay service.
-dns53-2nd-ecs-ip string
Set dns53 secondary EDNS-Client-Subnet ip, eg: 12.34.56.78.
-dns53-listen string
Set dns53 service listen port. (default "udp://:53,tcp://:53")
-dns53-upstream string
Upstream resolver for dns53 service (default upstream type is standard DoH), e.g. https://149.112.112.11/dns-query,https://9.9.9.11/dns-query
-dns53-upstream-dns53
If dns53 service relays DNS queries to upstream endpoints using dns53 protocol.
-dns53-upstream-json
If dns53 service relays DNS queries to upstream endpoints transfer with json format.
-dns53-use-client-ip
If dns53 service use client ip as ECS.
-doh
Enable DoH relay service.
-doh-2nd-ecs-ip string
Specify secondary EDNS-Client-Subnet ip, eg: 12.34.56.78
-doh-listen string
Set doh relay service listen port. (default "127.0.0.1:15353")
-doh-path string
DNS-over-HTTPS endpoint path. (default "/dns-query")
-doh-tls
Enable DoH relay service over TLS, default on clear http.
-doh-tls-cert string
Specify tls cert path.
-doh-tls-key string
Specify tls key path.
-doh-upstream string
Upstream resolver for doh service (default upstream type is standard DoH), e.g. https://149.112.112.11/dns-query,https://9.9.9.11/dns-query
-doh-upstream-dns53
If DoH service relays queries to upstream endpoints using dns53 protocol.
-doh-upstream-json
If DoH service relays queries to upstream DoH endpoints transfer with json format.
-doh-use-client-ip
If doh service use client ip as ECS.
-loglevel string
Set log level. (default "info")
-maxmind-citydb-file string
Specify maxmind city db file path.
-redis-uri string
Specify redis uri for caching
-version
Print version info.
Config file
There's a example config file with comments here.
Usage example
-
Set up a
DNS53
(listening ontcp://0.0.0.0:53
andudp://0.0.0.0:53
) service relaying DNS queries toDNS-over-HTTPS
service (https://9.9.9.11/dns-query
):doh-relay -dns53 -dns53-listen tcp://:53,udp://:53 -dns53-upstream https://9.9.9.11/dns-query -maxmind-citydb-file /usr/local/var/GeoIP/GeoLite2-City.mmdb
-
Set up a
DNS-over-HTTPS
(listening onhttp://0.0.0.0:15353
) service relaying DNS queries toDNS-over-HTTPS
service (https://9.9.9.11/dns-query
), also with internal cache on:doh-relay -cache -doh -doh-listen :15353 -doh-upstream https://9.9.9.11/dns-query -maxmind-citydb-file /var/lib/GeoIP/GeoLite2-City.mmdb
-
Set up a
DNS-over-HTTPS
(listening onhttp://0.0.0.0:15353
) service relaying DNS queries toDNS53
service (tcp://9.9.9.11:53
):doh-relay -doh -doh-listen :15353 -doh-upstream tcp://9.9.9.11:53 -doh-upstream-dns53 -maxmind-citydb-file /var/lib/GeoIP/GeoLite2-City.mmdb
TODOs
- Implement redis cache backend.
Thanks
License
# Functions
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
# Constants
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
# Variables
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
# Structs
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
# Interfaces
No description provided by the author
No description provided by the author
No description provided by the author
# Type aliases
No description provided by the author
No description provided by the author