Skip to content

Instantly share code, notes, and snippets.

@leiless
Last active May 25, 2024 04:33
Show Gist options
  • Save leiless/df17252a17503d3ebf9a04e50f163114 to your computer and use it in GitHub Desktop.
Save leiless/df17252a17503d3ebf9a04e50f163114 to your computer and use it in GitHub Desktop.
List of direct IPv4/IPv6 DoH/DoQ

dns.google / 8888.google

8.8.4.4
8.8.8.8
2001:4860:4860:0:0:0:0:64
2001:4860:4860:0:0:0:0:6464
2001:4860:4860:0:0:0:0:8844
2001:4860:4860:0:0:0:0:8888

cloudflare-dns.com / one.one.one.one

1.0.0.1
1.1.1.1
162.159.36.1
162.159.46.1
2606:4700:4700:0:0:0:0:64
2606:4700:4700:0:0:0:0:1001
2606:4700:4700:0:0:0:0:1111
2606:4700:4700:0:0:0:0:6400

dns.adguard.com

94.140.14.14  # dns.adguard.com
94.140.14.15  # dns-family.adguard.com
94.140.14.140 # dns-unfiltered.adguard.com
94.140.14.141 # dns-unfiltered.adguard.com
94.140.15.15  # dns.adguard.com
94.140.15.16  # dns-family.adguard.com

AdGuard DNS-over-QUIC

Using the same IPv4 addresses above, and the QUIC port is 784.

# quic://94.140.14.14
# quic://dns.adguard.com
$ ./dnslookup google.com quic://94.140.14.14:784
dnslookup v. v1.8.0
2022/10/28 15:56:54 failed to sufficiently increase receive buffer size (was: 208 kiB, wanted: 2048 kiB, got: 416 kiB). See https://github.com/lucas-clemente/quic-go/wiki/UDP-Receive-Buffer-Size for details.
dnslookup result:
;; opcode: QUERY, status: NOERROR, id: 1258
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;google.com.	IN	 A

;; ANSWER SECTION:
google.com.	295	IN	A	142.251.42.238

https://github.com/ameshkov/dnslookup

https://adguard.com/en/blog/dns-over-quic.html

https://blog.apnic.net/2022/03/29/a-first-look-at-dns-over-quic/

dns.alidns.com

1.71.20.37
8.129.152.230
39.103.26.204
47.103.166.57
47.108.0.63
47.122.8.11
113.142.83.132
113.240.88.172
120.55.203.44
123.151.107.5
123.184.198.22
139.129.137.137
182.40.70.12
223.5.5.5
223.6.6.6

Tencent DNSPod doh.pub / dot.pub

1.12.12.12
119.28.28.99
119.29.29.99
120.53.53.53

doh.360.cn

39.156.84.71
101.198.191.4
101.198.192.33
101.198.193.29
101.198.198.198
101.198.199.200
101.199.113.208
101.199.254.118
101.226.4.6
111.7.73.60
111.206.170.220
112.65.69.15
123.6.48.18
123.125.81.6
140.207.198.6
180.163.249.75
218.30.118.6
221.181.72.233

quad9.net

9.9.9.9
9.9.9.10
9.9.9.11
9.9.9.12
9.9.9.13
9.9.9.14
9.9.9.15
149.112.112.9
149.112.112.10
149.112.112.11
149.112.112.12
149.112.112.13
149.112.112.14
149.112.112.15
149.112.112.112
2620:FE:0:0:0:0:0:9
2620:FE:0:0:0:0:0:10
2620:FE:0:0:0:0:0:11
2620:FE:0:0:0:0:0:12
2620:FE:0:0:0:0:0:13
2620:FE:0:0:0:0:0:14
2620:FE:0:0:0:0:0:15
2620:FE:0:0:0:0:0:FE
2620:FE:0:0:0:0:FE:9
2620:FE:0:0:0:0:FE:10
2620:FE:0:0:0:0:FE:11
2620:FE:0:0:0:0:FE:12
2620:FE:0:0:0:0:FE:13
2620:FE:0:0:0:0:FE:14
2620:FE:0:0:0:0:FE:15

doh.opendns.com

146.112.41.2
146.112.41.3
146.112.41.4
146.112.41.5
155.190.111.111
155.190.111.123
204.194.232.200
204.194.234.200
208.67.220.2
208.67.220.123
208.67.220.220
208.67.222.2
208.67.222.123
208.67.222.222
2620:0:CCC:0:0:0:0:2
2620:0:CCD:0:0:0:0:2
2620:119:35:0:0:0:0:35
2620:119:35:0:0:0:0:123
2620:119:53:0:0:0:0:53
2620:119:53:0:0:0:0:123
2620:119:FA:0:0:0:0:53
2620:119:FA:0:0:0:0:120
2620:119:FC:0:0:0:0:2
2620:119:FC:0:0:0:0:3
2620:119:FC:0:0:0:0:4
2620:119:FC:0:0:0:0:5

dns.switch.ch

130.59.31.248
130.59.31.251
2001:620:0:FF:0:0:0:2
2001:620:0:FF:0:0:0:3
@leiless
Copy link
Author

leiless commented Nov 23, 2022

package main

import (
	"encoding/base64"
	"github.com/miekg/dns"
	"os"
)

func main() {
	args := os.Args[1:]
	for i, arg := range args {
		m := new(dns.Msg)
		m.SetQuestion(dns.Fqdn(arg), dns.TypeA)
		m.RecursionAvailable = true
		m.MsgHdr.Id = 1
		msgData, err := m.Pack()
		if err != nil {
			panic(err)
		}
		println(m.String())
		println(base64.StdEncoding.EncodeToString(msgData))
		if i != len(args) - 1 {
			println()
		}
	}
}
$ go run main.go baidu.com google.com
;; opcode: QUERY, status: NOERROR, id: 1
;; flags: rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;baidu.com.	IN	 A

AAEBgAABAAAAAAAABWJhaWR1A2NvbQAAAQAB

;; opcode: QUERY, status: NOERROR, id: 1
;; flags: rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;google.com.	IN	 A

AAEBgAABAAAAAAAABmdvb2dsZQNjb20AAAEAAQ==

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment