forked from yaosj2k/dnsforwarder
-
Notifications
You must be signed in to change notification settings - Fork 0
/
default.config
347 lines (299 loc) · 10.9 KB
/
default.config
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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
# DNS 转发器的配置文件
# Configure File for dnsforwarder
# 此配置文件最好是 ANSI 编码的
##################################################
#
# 本地
#
##################################################
# LocalInterface <IP>
# 设置在本地开启的界面,可以是本地回环地址 (127.0.0.1) ,本地局域网,以及互联网 (since 2.2)
# 如果是 IPv6 地址,请在地址两端加上方括号,例如 [::1] (本地回环)、[fe80::699c:f79a:9bb6:1] (since 2.3)
LocalInterface 127.0.0.1
# LocalPort <NUM>
# 本地开启的端口 (since 2.2)
LocalPort 53
# OpenLocalTCP <BOOLEAN>
# 在本地开启TCP,以便接收TCP协议的查询 (since 2.2)
# 可选值:`false' 或 `true'
OpenLocalTCP false
##################################################
#
# IP 选择策略
#
##################################################
#########################
# 服务器地址
#########################
# 您可以设置两组上游服务器,
# 一组是用 TCP 协议的服务器 (由 `TCPServer' 指定),
# 另一组是用 UDP 协议的服务器 (由 `UDPServer' 指定)
# 选项 `PrimaryServer' 用来指定首选的服务器(同时也指定了协议)
# 任何不在排除列表 (或者 GFW List) 中的域都会优先通过首选服务器及其协议来查询,
# 在排除列表 (或者 GFW List) 中的域会优先使用另一组服务器并通过另一种协议查询。
# PrimaryServer
# 首选服务器 (since 2.2)
# 可选值:`TCP' 或 `UDP'
PrimaryServer UDP
# TCPServer <IP[:PORT]>
# 指定用 TCP 协议查询的上游服务器 (since 2.2)
# 可以指定多个服务器,服务器之间用半角逗号隔开 (since 2.3)
# 如果不加端口号,则默认为 53 (since 2.3)
# 例如 192.168.1.2:500 以及 4.2.2.2 (since 2.3)
# 对于IPv6地址,请在地址两端加方括号,例如 [2001:4860:4860::8888] 以及加端口的形式 [2001:4860:4860::8888]:53 (since 2.3)
TCPServer 8.8.4.4,8.8.8.8
# UDPServer <IP[:PORT]>
# 指定用 UDP 协议查询的上游服务器 (since 2.2)
# 可以指定多个服务器,服务器之间用半角逗号隔开 (since 2.3)
# 如果不加端口号,则默认为 53 (since 2.3)
# 例如 192.168.1.2:500 以及 4.2.2.2 (since 2.3)
# 对于IPv6地址,请在地址两端加方括号,例如 [2001:4860:4860::8888] 以及加端口的形式 [2001:4860:4860::8888]:53 (since 2.3)
UDPServer 8.8.8.8,114.114.115.115
# DedicatedServer <DOMAIN1 SERVER_IP1>,<DOMAIN2 SERVER_IP2>,...
# 为某些域名指定专门的查询服务器,而不使用服务器列表(`TCPServer' 和 `UDPServer')中的服务器 (since 2.5 b1)
# 格式为:域名 服务器地址
#
# 例如:DedicatedServer www.google.com 8.8.8.8
# 这样所有对域名 www.google.com 的查询都通过 8.8.8.8 这个服务器来进行
# 如果所指定的域名不在排除列表中,那么将通过 `PrimaryServer' 所指定的协议与服务器通讯,
# 否则将通过另一种协议与服务器通讯。
# 不同项之间用半角逗号 (`,') 分隔,同时注意最后不要有逗号
# 可以有多条 `DedicatedServer' 选项
DedicatedServer
#########################
# 服务器选项
#########################
# AllowFallBack <BOOLEAN>
# 如果第一次对某个域名(不在排除列表和 GFW List 中)查询失败,是否再次用另一种协议及其服务器查询 (since 2.5 b1)
# 对于已经指定专用服务器的域名,只切换协议
# 可选值:`false' 或 `true'
AllowFallBack false
# TimeToServer <NUM>
# 与服务器的超时时间,毫秒 (since 2.2)
# 一般 DNS 响应都在 200 毫秒以内
TimeToServer 700
# ParallelQuery <BOOLEAN>
# 是否启用 UDP 并发查询 (since 2.6 b1)
# 并发查询指的是,向所有指定的 UDP 服务器发送查询请求,取最先接受到的有效回复作为查询结果,并丢弃其余的回复
# 开启此选项必须保证 `UDPServer' 中的服务器都是 IPv4 或者都是 IPv6 的
# 此选项不影响 `DedicatedServer' 的设置,也就是说,对于已经指定专用服务器的域名,只通过专用服务器进行查询
# 可选值:`false' 或 `true'
ParallelQuery true
# UDPAntiPollution <BOOLEAN>
# 是否开启 UDP 防污染 (since 2.6 b1)
# “防污染”指的是过滤伪造的 DNS 数据包
# 开启时需要保证 `UDPServer' 中存在国外的 DNS 服务器,如果配合使用 `UDPBlock_IP' 选项将大大提高过滤的精确度
# 可选值:`false' 或 `true'
UDPAntiPollution true
# UDPBlock_IP <IP1>,<IP2>,.....
# 阻挡含有以下 IP 地址(只支持 IPv4 地址)的 UDP DNS 数据包 (since 2.6 b1)
# 以下列表中已经含有部分伪造的 IP 地址,可以执行 `dnsforwarder -P' 来获取更多伪造的 IP 地址
# 如果 `UDPAntiPollution' 为 `false',此选项无效
UDPBlock_IP 243.185.187.39,46.82.174.68,37.61.54.158,93.46.8.89,59.24.3.173,203.98.7.65,8.7.198.45,78.16.49.15,159.106.121.75
#########################
# 排除列表
#########################
# ExcludedDomain <DOMAIN1>,<DOMAIN2>,.....
# 排除列表,每个域之间用半角逗号 (`,') 分隔,同时注意最后不要有逗号 (since 2.2)
# 支持通配符。 (since 2.2.2)
# 一个项目如果不含通配符,则从域名尾部开始匹配,例如 `123.com' 则会匹配所有以 `123.com' 结尾的域名。
# 如果含通配符则严格按照通配符来匹配。
# 可以有多条 `ExcludedDomain' 选项 (since 2.2.2)
ExcludedDomain
# GfwList <STRING>
# 加载 GFW List (since 2.2.3)
# GFW List 中的域名将被添加到排除列表
# 如果保留为空,则不载入 GFW List
#GfwList https://autoproxy-gfwlist.googlecode.com/svn/trunk/gfwlist.txt
# GfwListBase64Decode <BOOLEAN>
# GFW List 是否需要 Base64 解码
# 可选值:`false' 或 `true'
GfwListBase64Decode true
# GfwListUpdateInterval <NUM>
# 重新载入 GFW List 的间隔时间,秒 (since 2.2.4)
# -1 表示不重新载入
# 如果保留为空。则使用默认值 (7200)
GfwListUpdateInterval 7200
# GfwListRetryInterval <NUM>
# 当下载 GFW List 失败后的重试时间,秒 (since 2.2.4)
# 如果保留为空,则使用默认值 (30)
GfwListRetryInterval 30
# GfwListDownloadPath <STRING>
# GFW List 下载到本地文件的路径 (since 2.3)
# 如果保留为空,则默认在与程序所在相同的文件夹内
GfwListDownloadPath
#########################
# Hosts
#########################
# Hosts <STRING>
# Hosts 文件路径 (绝对路径),可以是本地 Hosts 文件,也可以是网络上的 Hosts 文件 (以 http:// 或者 https:// 开头)。 (since 2.2)
# 例如 C:\Windows\System32\drivers\etc\hosts 或 /etc/hosts 或 http://xxx.com/hosts
# 在 Hosts 文件中,支持通配符 (`*' 和 `?') (只能在域名中出现通配符)
# 路径两头不要加引号
# Hosts 文件必须是原始格式,不能是压缩文件或者 HTML 文件
# Hosts 文件最好是 ANSI 编码的
# Hosts 中的 IPv6 地址不用加方括号
# 如果保留为空,则不从文件载入 Hosts
Hosts
# HostsUpdateInterval <NUM>
# 重新载入 Hosts 文件的间隔时间,秒 (since 2.2)
# -1 表示不重新载入
# 如果保留为空,则使用默认值 (600)
HostsUpdateInterval 1800
# HostsDownloadPath <STRING>
# 当 Hosts 为网络 Hosts 时,Hosts 文件的下载到本地文件的路径 (不是文件夹路径) (since 2.2)
# 例如 C:\Windows\Temp\hosts 或者 /tmp/hosts
# 绝对路径,路径两头不要加引号
# 如果文件存在则覆盖
# 对本地 Hosts 文件此选项无效
# 如果保留为空,则使用默认路径 (默认在与程序所在相同的文件夹内 (since 2.3) )
HostsDownloadPath
# HostsScript <STRING>
# 当 Hosts 为网络 Hosts 时,在每次下载完 Hosts 文件后、加载 Hosts 文件之前执行的脚本 (since 2.2)
# 绝对路径,路径两头不要加引号
# 对本地 Hosts 文件此选项无效
# 如果保留为空,则不执行脚本
HostsScript
# HostsRetryInterval <NUM>
# 当网络 Hosts 下载失败后的重试时间,秒 (since 2.2.2)
# 仅对网络 Hosts 有效
# 如果保留为空,则使用默认值 (30)
HostsRetryInterval 30
# AppendHosts <HOSTS>,<HOSTS>,<HOSTS>,...
# 附加的 Hosts,即使 `Hosts' 选项为空也照样载入 (since 2.2.2)
# <HOSTS>的写法与文件中的一样,同样支持通配符
# IPv6 地址不用加方括号
# 多条 Hosts 可以用半角逗号分隔开,也可以写多条 `AppendHosts'
# 比如可以写成:
# AppendHosts 127.0.0.1 123.com,127.0.0.1 456.com,1.2.3.4 foobar.*
# 也可以分多条写:
# AppendHosts 127.0.0.1 123.com
# AppendHosts 127.0.0.1 456.com
# AppendHosts 1.2.3.4 foobar.*
#
# 也可以定义 CName 的 Hosts 项,例如:
# AppendHosts www.google.cn *.google.com
# 这样所有匹配 *.google.com 的域名都将指向 www.google.cn 的 IP 地址 (since 2.3)
#
# 如果使某些域名跳过在 Hosts 中的查询,可以
# AppendHosts @@ *.012345.com
# 这样所有匹配 *.012345.com 的域名都不会在 Hosts 中查询
AppendHosts
##################################################
#
# 缓存控制
#
##################################################
# UseCache <BOOLEAN>
# 是否使用缓存(默认为文件缓存) (since 2.2)
# 可选值:`false' 或 `true'
UseCache false
# CacheSize <NUM>
# 缓存大小 (字节)
# 缓存大小不能小于 102400 (100KB) (since 2.3)
CacheSize 1048576
# MemoryCache <BOOLEAN>
# 是否使用内存缓存,而不是文件缓存 (since 2.3.2)
# 可选值:`false' 或 `true'
MemoryCache true
# CacheFile <STRING>
# 手工指定缓存文件 (不是文件夹) (since 2.3)
# 如果保留为空,则默认在与程序所在相同的文件夹内
# 如果 `MemoryCache' 为 `true',此选项无效
CacheFile
# IgnoreTTL <BOOLEAN>
# 是否忽略 TTL (since 2.2)
# 可选值:`false' 或 `true'
# 为 `true' 时将忽略 TTL,此时所有的缓存条目将不会被移除
# 为 `false' 时不忽略 TTL,缓存条目将会按照 TTL 的时间来移除
# 当 `UseCache' 的值为 `false' 时,此选项无效
IgnoreTTL false
# OverrideTTL <NUM>
# 强制使所有缓存的条目的 TTL 为 <NUM> (since 2.2)
# 若 <NUM> 为 -1,则表示不进行强制
# 当 `UseCache' 的值为 `false' 时,此选项无效
OverrideTTL -1
# MultipleTTL <NUM>
# 将所有缓存条目的 TTL 加倍,倍数为 <NUM> (since 2.2)
# 当 `UseCache' 的值为 `false' 时,此选项无效
# 当 `IgnoreTTL' 的值为 `true' 时,此选项无效
MultipleTTL 1
# ReloadCache <BOOLEAN>
# 当程序启动后是否重新载入已有的文件缓存 (since 2.2.3)
# 已有的缓存大小必须和 `CacheSize' 所指定的大小相等
# 可选值:`false' 或 `true'
# 如果 `MemoryCache' 的值为 `true',此选项无效
ReloadCache false
# OverwriteCache <BOOLEAN>
# 如果已有的文件缓存无法重载,是否直接将其覆盖掉 (since 2.3)
# 可选值:`false' 或 `true'
# 如果 `MemoryCache' 的值为 `true',此选项无效
# 如果 `ReloadCache' 的值为 `false',此选项无效
OverwriteCache false
##################################################
#
# 杂项
#
##################################################
# UDPThreads <NUM>
# 在本地进行 UDP 监听的线程数 (since 2.2)
UDPThreads 5
# DisabledType <NUM1>,<NUM2>,.....
# 禁止查询的 DNS 类型列表,每个类型(用数字代表)之间用半角逗号 (`,') 分隔 (since 2.2)
# 所有的 DNS 类型:
# A 1 IPv4 地址
# AAAA 28 IPv6 地址
# APL 42
# CERT 37
# CNAME 5
# DHCID 49
# DLV 32769
# DNAME 39
# DNSKEY 48
# DS 43
# HIP 55
# IPSECKEY 45
# KEY 25
# KX 36
# LOC 29
# MX 15
# NAPTR 35
# NS 2 Name Server
# NSEC 47
# NSEC3 50
# NSEC3PARAM 51
# PTR 12 Domain pointer
# RRSIG 46
# RP 17
# SIG 24
# SOA 6 start of authority record
# SPF 99
# SRV 33
# SSHFP 44
# TA 32768
# TKEY 249
# TSIG 250
# TXT 16
# ANY 255
# AXFR 252
# IXFR 251
# OPT 41
DisabledType
# DisabledDomain <DOMAIN1>,<DOMAIN2>,.....
# 禁止查询的域列表,每个域之间用半角逗号 (`,') 分隔 (since 2.2)
# 支持通配符。 (since 2.2.2)
# 一个项目如果不含通配符,则从域名尾部开始匹配,例如 `123.com' 则会匹配所有以 `123.com' 结尾的域名。
# 如果含通配符则严格按照通配符来匹配。
# 可以有多条DisabledDomain (since 2.2.2)
DisabledDomain
# RefusingResponseCode <NUM>
# 当拒绝一次查询(`DisabledType' 或者 `DisabledDomain')的时候所返回的状态码 (since 2.6 b1)
# 参见 RFC 1035,`4.1.1. Header section format',`Response code'
RefusingResponseCode 0
# DomainStatistic <BOOLEAN>
# 是否启用域名统计 (since 2.5 b1)
# 可选值:`false' 或 `true'
DomainStatistic false
# StatisticUpdateInterval <NUM>
# 域名统计刷新时间间隔(秒) (since 2.5 b1)
StatisticUpdateInterval 29