1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
= 60
= "24h"
= "3s"
= "10s" # 1s-24h, including HTTP header/body and keep-alive timers.
= 1024
= 256
= ["hex.example.net"]
[[]]
= "dns"
= "0.0.0.0:5300"
# HTTP is unencrypted; use only on a trusted network or behind a TLS proxy.
# [[listeners]]
# type = "http"
# address = "0.0.0.0:8053"
# path = "/dns-query"
# auth_tokens = ["REPLACE_WITH_A_GENERATED_TOKEN"]
# Credential file paths are relative to this TOML file; restart to rotate.
# [[listeners]]
# type = "https"
# address = "0.0.0.0:8443"
# path = "/dns-query"
# http2 = true
# cert = "server.crt"
# key = "server.key"
# auth_tokens = ["REPLACE_WITH_A_GENERATED_TOKEN"]
# auth_token_file = "tokens.txt"
[[]]
= "doh"
= "https://cloudflare-dns.com/dns-query"
= ["1.1.1.1", "1.0.0.1"]
# Optional explicit plaintext fallback. No fallback is added automatically.
# [[upstreams]]
# type = "plain"
# address = "9.9.9.9:53"
[[]]
= "example.com"
# Replace with the output of `tendns keygen`. Protect this file as a secret.
= "REPLACE_WITH_A_GENERATED_KEY"