https://github.com/honwen/aiodns
A All-In-One DNS Solution written in Go
https://github.com/honwen/aiodns
dns dns-over-https dns-over-quic dns-over-tls dnsproxy golang
Last synced: 4 months ago
JSON representation
A All-In-One DNS Solution written in Go
- Host: GitHub
- URL: https://github.com/honwen/aiodns
- Owner: honwen
- License: mit
- Created: 2018-05-11T15:41:15.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2024-12-29T11:22:48.000Z (5 months ago)
- Last Synced: 2024-12-29T12:23:00.750Z (5 months ago)
- Topics: dns, dns-over-https, dns-over-quic, dns-over-tls, dnsproxy, golang
- Language: Go
- Homepage:
- Size: 250 KB
- Stars: 34
- Watchers: 3
- Forks: 9
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# AIO DNS
A All-In-One DNS Solution, A Specail-List Rule Generator of `AdguardTeam/dnsproxy`
### Source
- https://github.com/honwen/aiodns
### Thanks
- https://github.com/AdguardTeam/dnsproxy
- https://github.com/honwen/openwrt-dnsmasq-extra### Docker
- https://hub.docker.com/r/chenhw2/aiodns
### Usage
```bash
$ docker pull chenhw2/aiodns$ docker run -d \
---network=host \
-e PORT=53 \
chenhw2/aiodns
```### Help
```bash
$ docker run --rm chenhw2/aiodns -h
NAME:
AIO DNS - All In One Clean DNS Solution.USAGE:
aiodns [global options] command [command options] [arguments...]VERSION:
Git:[MISSING BUILD VERSION [GIT HASH]] (dnsproxy version)(go version)COMMANDS:
help, h Shows a list of commands or help for one commandGLOBAL OPTIONS:
--listen value, -l value Listening address (default: ":5300")
--upstream value, -u value An upstream to be default used (can be specified multiple times) (default: "tls://dns.pub", ...)
--special-upstream value, -U value An upstream to be special used (can be specified multiple times) (default: "https://8.8.8.8/dns-query", ...)
--fallback value, -f value Fallback resolvers to use when regular ones are unavailable, can be specified multiple times (default: "tcp://9.9.9.11:9953", ...)
--bootstrap value, -b value Bootstrap DNS for DoH and DoT, can be specified multiple times (default: "tls://223.5.5.5", "tls://1.12.12.12", ...)
--special-list value, -L value List of domains using special-upstream (can be specified multiple times), (file path from local or net)
--bypass-list value, -B value List of domains bypass special-upstream (can be specified multiple times), (file path from local or net)
--edns value, -e value Send EDNS Client Address to default upstreams
--timeout value, -t value Timeout of Each upstream, [1, 59] seconds (default: 3)
--cache, -C If specified, DNS cache is enabled
--insecure, -I If specified, disable SSL/TLS Certificate check (for some OS without ca-certificates)
--ipv6-disabled, -R If specified, all AAAA requests will be replied with NoError RCode and empty answer
--refuse-any, -A If specified, refuse ANY requests
--fastest-addr, -F If specified, Respond to A or AAAA requests only with the fastest IP address
--http3, -H If specified, Enable HTTP/3 support
--verbose, -V If specified, Verbose output
--help, -h show help
--version, -v print the version
```### Example
- use latest list-file fetching online
```bash
aiodns --special-list=https://raw.githubusercontent.com/honwen/openwrt-dnsmasq-extra/master/dnsmasq-extra/files/data/tldn.gz
```- use list-file locally
```bash
aiodns --special-list=/data/tldn
```