Skip to content
/ aiodns Public

A All-In-One DNS Solution written in Go

License

Notifications You must be signed in to change notification settings

honwen/aiodns

Folders and files

NameName
Last commit message
Last commit date

Latest commit

dc706bc · Apr 20, 2025

History

53 Commits
Apr 20, 2025
Mar 12, 2024
Apr 20, 2025
Mar 12, 2021
Apr 20, 2025
Mar 12, 2024
Mar 12, 2024
Mar 12, 2024
May 24, 2022
Aug 1, 2024
Apr 20, 2025
Apr 20, 2025
Apr 20, 2025
Dec 29, 2024
Mar 12, 2024

Repository files navigation

AIO DNS

A All-In-One DNS Solution, A Specail-List Rule Generator of AdguardTeam/dnsproxy

Source

Thanks

Docker

Usage

$ docker pull chenhw2/aiodns

$ docker run -d \
    ---network=host \
    -e PORT=53 \
    chenhw2/aiodns

Help

$ 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 command

GLOBAL 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
aiodns --special-list=https://raw.githubusercontent.com/honwen/openwrt-dnsmasq-extra/master/dnsmasq-extra/files/data/tldn.gz
  • use list-file locally
aiodns --special-list=/data/tldn