GitHub - AdguardTeam/dnsproxy: Simple DNS proxy with DoH, DoT, and DNSCrypt supp...
source link: https://github.com/AdguardTeam/dnsproxy
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
README.md
DNS Proxy
A simple DNS proxy server that supports all existing DNS protocols including DNS-over-TLS
, DNS-over-HTTPS
, and DNSCrypt
.
Usage
$ ./dnsproxy -h
Usage:
dnsproxy [OPTIONS]
Application Options:
-v, --verbose Verbose output (optional)
-o, --output= Path to the log file. If not set, write to stdout.
-l, --listen= Listen address (default: 0.0.0.0)
-p, --port= Listen port (default: 53)
-t, --tls-port= Listen port for DNS-over-TLS (default: 853)
-c, --tls-crt= Path to a file with the certificate chain
-k, --tls-key= Path to a file with the private key
-b, --bootstrap= Bootstrap DNS for DoH and DoT (default: 8.8.8.8:53)
-u, --upstream= An upstream to be used (can be specified multiple times)
Help Options:
-h, --help Show this help message
Examples
Runs a DNS proxy on 0.0.0.0:53
with a single upstream - Google DNS.
./dnsproxy -u 8.8.8.8:53
Runs a DNS proxy on 127.0.0.1:5353
with multiple upstreams.
./dnsproxy -l 127.0.0.1 -p 5353 -u 8.8.8.8:53 -u 1.1.1.1:53
Runs a DNS-over-TLS proxy on 127.0.0.1:853
.
./dnsproxy -l 127.0.0.1 --tls-port=853 --tls-crt=example.crt --tls-key=example.key -u 8.8.8.8:53
The same proxy with verbose logging enabled writing it to the file log.txt
.
./dnsproxy -u 8.8.8.8:53 -v -out log.txt
DNS-over-TLS upstream:
./dnsproxy -u tls://dns.adguard.com
DNS-over-HTTPS upstream:
./dnsproxy -u https://dns.adguard.com/dns-query
DNSCrypt upstream (DNS Stamp of AdGuard DNS):
./dnsproxy -u sdns://AQIAAAAAAAAAFDE3Ni4xMDMuMTMwLjEzMDo1NDQzINErR_JS3PLCu_iZEIbq95zkSV2LFsigxDIuUso_OQhzIjIuZG5zY3J5cHQuZGVmYXVsdC5uczEuYWRndWFyZC5jb20
DNS-over-HTTPS upstream (DNS Stamp of Cloudflare DNS):
./dnsproxy -u sdns://AgcAAAAAAAAABzEuMC4wLjGgENk8mGSlIfMGXMOlIlCcKvq7AVgcrZxtjon911-ep0cg63Ul-I8NlFj4GplQGb_TTLiczclX57DvMV8Q-JdjgRgSZG5zLmNsb3VkZmxhcmUuY29tCi9kbnMtcXVlcnk
TODO:
- Configure fallback resolver
- Listen on TCP as well
- Mobile builds
- Gobind interfaces
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK