Github 项目传送门: https://github.com/holyshawn/overture
1.0.0 版本介绍传送门: https://www.v2ex.com/t/331100
1.1.0 版本介绍传送门: https://www.v2ex.com/t/332764
二进制下载地址: https://github.com/holyshawn/overture/releases
添加了 TTL 最小值的设定,在绝大多数情况下, DNS 结果对用户而言在很长一段时间都是不变的,手动合适的 TTL 可以让浏览器乃至于 dnsmasq 的缓存更有效率,实现秒解析。我设了一段时间 604800 (一周) ,感觉良好。( -1 为禁用此特性)
添加了 edns-client-subnet 的支持,可以为支持此特性的如 119.29.29.29 提供指定的或者客户端的 IP 地址,从而使 DNS 返回的 CDN 地址更加准确,提升上网的速度。( auto 尝试使用客户端 IP 地址,如果不是公网地址使用服务器的 IP 地址, custom 完全使用自定义的 IP 地址)
其他功能参见 README 。
配置文件语法有更改,请参照新版配置文件修改。
更新 1.2.1 版本:
1
R18 2017-01-15 12:53:28 +08:00 via Android
战略性 Make
|
2
ztrt 2017-01-15 13:09:53 +08:00
战略性 install
|
3
DesignerSkyline 2017-01-15 13:30:03 +08:00
战略性 ./configure
|
4
Akesudia 2017-01-15 13:35:00 +08:00
战略性 star
|
5
usernametoolong 2017-01-15 13:38:34 +08:00
战略性 rm -rf /
|
6
chinafeng 2017-01-15 13:54:55 +08:00 via iPhone
战略性 git clone
|
7
kindjeff 2017-01-15 14:09:51 +08:00 via iPhone
战略性 reply
|
8
ovear 2017-01-15 14:12:51 +08:00
战略性 report
|
9
Vicer 2017-01-15 14:20:26 +08:00 via Android
战略性 collect
|
10
JohnLou 2017-01-15 14:21:27 +08:00 via iPhone
。。。
|
11
16500682 2017-01-15 14:25:14 +08:00 via iPhone
战略性 站队型
|
12
douglas1997 2017-01-15 14:26:14 +08:00
战略性 回复
|
13
baozijianke 2017-01-15 14:26:56 +08:00 via iPhone
战略性 watch
|
14
Phant0m 2017-01-15 14:29:36 +08:00
战略性 mark
|
15
qq29701 2017-01-15 14:37:40 +08:00
战略性 收藏
|
16
VYSE 2017-01-15 14:38:08 +08:00
加个 tcp dns listen 吧?
|
17
cncaihua 2017-01-15 14:38:47 +08:00 via Android
战略性吃瓜
|
18
youthcould 2017-01-15 14:40:55 +08:00
战略性 mark
|
19
laven 2017-01-15 14:48:34 +08:00
战略性吃瓜
|
20
lxll 2017-01-15 15:03:53 +08:00 via Android
战略性 群众
|
21
ClassicOldSong 2017-01-15 15:35:04 +08:00
overture 不是一个 midi 软件吗。。。
|
22
vibbow 2017-01-15 15:44:46 +08:00
overture 不是一个打谱软件吗?
|
23
holyshawn OP @VYSE 下个版本考虑直接同时监听 TCP , UDP ,不过监听 TCP 的场景很少感觉,毕竟 overture 一般都在墙内,运行在墙外的意义不大。
|
24
holyshawn OP @ClassicOldSong
@vibbow 的确是一个打谱软件,有点撞名了,取名的时候没看到。不过由于比较小众,感觉问题不大。 取这个名字主要是因为(来自 README ): Overture means an orchestral piece at the beginning of a classical music composition, just like dns which is nearly the first step of surfing the internet. 强行掰扯一下。 |
26
myguybetter 2017-01-15 16:03:05 +08:00 via Android
战略性 fork
|
27
v1024 2017-01-15 16:30:42 +08:00 via iPhone 1
战略性 fuck
|
28
tmac6740 2017-01-15 17:16:37 +08:00
战略性 已撸
|
30
ladeo 2017-01-15 17:41:22 +08:00
名字可以改个字母,比如 Dverture
TTL 最好别设置太长,遇到花生之类的动态域名估计会有问题 |
31
bianhua 2017-01-15 17:41:32 +08:00 1
其他的功能很好,但是手动修改 TTL 的功能具有一定破坏性(破坏了数据源对数据的定义),最好能斟酌一下。
我觉得更好地方式是维护一张最频繁访问域名的列表,记录足够多的项,然后根据它们的 TTL 自动刷新这些记录,并将新的记录缓存下来。 考虑到你的程序其实就是建立了一个本地 DNS 服务器,而本地查询的速度是很快的,这样既可以尊重数据源,又可以实现差不多相同的功能。 |
32
wclebb 2017-01-15 17:42:05 +08:00
看到楼上破坏了队形我就放心回复了……
请问这个是……做什么用的…… |
33
ins 2017-01-15 17:56:32 +08:00
战略性 redis
|
34
est 2017-01-15 18:34:32 +08:00
战略性 B52 轰炸机。
|
35
misaka00251 2017-01-15 18:35:27 +08:00 via Android
第一反应:打谱软件
|
37
holyshawn OP @bianhua 所以默认情况下 TTL 修改是不开启的,有需求的人自己手动开启。维护新的域名列表难度还是相当大, Github 上的域名列表除了某 List 外更新基本都十分缓慢。另外,根据我日常的使用,除了动态 DNS 这种特殊需求以外,基本上不影响,动态 DNS 可以用 dnsmasq 指定 DNS 服务器解决。至于缓存的问题,我现在的实践是把 overture 作为 dnsmasq 的上游,手动指定 edns-client-subnet ip ,让 dnsmasq 做它自己专业的缓存事情。我一直在想有没有必要把程序做成大而全的,感觉很多特殊问题都可以用套个 dnsmasq 完美解决。
|
38
holyshawn OP @bianhua 我刚才好像理解错了你列表的意思。如果是根据最频繁访问来设定阈值形成列表的话,感觉用处不是很明显,毕竟国内越大的网站越不会随意修改地区服务器的 IP 地址, TTL 的问题主要还是在动态 DNS 上。
|
39
wql 2017-01-15 19:46:00 +08:00 via Android
战略性 点赞
|
40
zyqf 2017-01-15 19:49:04 +08:00 via Android
mark
|
41
popu111 2017-01-15 19:59:40 +08:00
战略性 感谢
|
42
ladeo 2017-01-15 21:15:29 +08:00
@holyshawn
overture 的监听端口可以修改吗? 如果我想在同一台设备上同时安装 overture 和 dnsmasq ,应该会出现端口冲突吧? 大家都监听 udp:53 ,比如把 overture 的监听端口改成 udp:5533 这样我一台设备就能 2 个软件都安装了 PC --> dnsmasq:53 --> overture:5533 --> 上游 DNS |
43
lydasia 2017-01-15 21:17:32 +08:00
战略性 Star
|
45
Khlieb 2017-01-16 00:20:14 +08:00 via Android
哈喇咻👍
|
46
Haos 2017-01-16 00:21:26 +08:00 via Android
战略性 回复
|
47
Monstercat 2017-01-16 00:33:57 +08:00
战略性 build
|
48
laowood 2017-01-16 00:54:07 +08:00
战略性 懵逼
|
49
7colcor 2017-01-16 07:19:17 +08:00
战略性 Mark
|
50
vikeria 2017-01-16 07:32:36 +08:00 via iPhone
战略性 mark
|
51
lbp0200 2017-01-16 08:54:53 +08:00 via Android
原理是什么?
|
52
aheadlead 2017-01-16 08:54:55 +08:00
战略性 找节拍器
|
53
anym0us 2017-01-16 08:55:25 +08:00 via iPhone
战略性 马克
|
54
m939594960 2017-01-16 09:12:11 +08:00
我还以为你是 安正超 ( https://github.com/overtrue) 你俩就差一个字母
|
55
Ixizi 2017-01-16 09:18:04 +08:00
战略性 吃瓜
|
56
Sharuru 2017-01-16 09:21:23 +08:00
战略性 DMCA Takedown
|
57
hebeiround 2017-01-16 09:37:03 +08:00
战略性 围观
|
58
uqo28887 2017-01-16 10:05:28 +08:00
战略性保持队形
|
59
steveshi 2017-01-16 10:12:36 +08:00
战略性怎么样呢
|
60
chcx 2017-01-16 10:54:05 +08:00
战略性 入侵
|
61
chuhemiao 2017-01-16 11:04:53 +08:00
@m939594960 +1
|
62
chemandy 2017-01-16 12:13:07 +08:00
战略性 SEO
|
63
dewi 2017-01-16 12:55:56 +08:00 via iPhone
战略性 爆肛门
|
64
metowolf 2017-01-16 22:35:28 +08:00
战略性 收藏
|
65
mritd 2017-01-17 07:57:10 +08:00 via iPhone
战略性 装逼
|
66
SFsx 2017-01-17 13:03:07 +08:00
战略性 +1s
|
67
missdeer 2017-01-17 14:24:44 +08:00
怎么知道一个 DNS server 是否支持 edns-client-subnet ?
|
68
JackyBao 2017-01-17 14:46:02 +08:00
战略性 继续使用 pdnsd
|
69
holyshawn OP @missdeer 一般没有明确说明支持的都是不支持,可以 patch dig 直接测试,参见: http://noops.me/?p=653
|
70
maojy1989 2017-01-17 15:24:36 +08:00
{
"BindAddress": ":53", "PrimaryDNSAddress": "45.76.145.234:5533", "PrimaryDNSProtocol": "udp", "AlternativeDNSAddress": "208.67.220.220:443", "AlternativeDNSProtocol": "tcp", "Timeout": 6, "RedirectIPv6Record": true, "IPNetworkFilePath": "./china_ip_list.txt", "DomainFilePath": "./gfwlist.txt", "DomainBase64Decode": true, "MinimumTTL": -1, "EDNSClientSubnetPolicy": "disable", "EDNSClientSubnetIP": "" } 试了一下挺好用的,主 dns 是我在 VPS 上用这个软件搭的, EDNSClientSubnetPolicy 设置了 auto , TTL 3600 ,主 DNS 跟备用 DNS 设置的 Google 的 dns ,就是 8.8.8.8 跟 8.8.4.4 , ip 设置了禁止 ping ,有兴趣的可以试一下,国内用不了 Google 的 DNS ,要不然也不用这么麻烦了 |
71
maojy1989 2017-01-17 17:27:45 +08:00
想问楼主一个问题
{ "BindAddress": ":5533", "PrimaryDNSAddress": "8.8.8.8:53", "PrimaryDNSProtocol": "tcp", "AlternativeDNSAddress": "208.67.222.222:443", "AlternativeDNSProtocol": "tcp", "Timeout": 6, "RedirectIPv6Record": true, "IPNetworkFilePath": "./china_ip_list.txt", "DomainFilePath": "./gfwlist.txt", "DomainBase64Decode": true, "MinimumTTL": -1, "EDNSClientSubnetPolicy": "auto", "EDNSClientSubnetIP": "" } 这是我在 VPS 上配置文件,访问别的域名都没有问题,但是当我访问 home.console.aliyun.com 、 slbnew.console.aliyun.com 这一类的域名我本地就会出现 WARN[0209] Get dns response failed: Response message is nil, maybe timeout 时间长了以后重新启动程序就变成了 WARN[0002] DNS lookup for external ip failed, please check your internet configuration:read udp 192.168.50.245:57128->45.76.145.234:5533: i/o timeout 这是什么原因导致的呢? |
72
holyshawn OP |
73
maojy1989 2017-01-17 20:14:11 +08:00
@holyshawn 服务器是 centos7 我本机是 MacOS 如果主 DNS 用我的服务器就查询不到 home.console.aliyun.com 这类域名,不会返回结果,然后就是超时,但是在服务器上是能查到的,其他的域名全部都是正常的,如果服务器关闭 EDNSClientSubnet 的话能正常解析这个域名,但是国内的网站会被解析成国外的 IP ,所有没办法只能把我服务器的 IP 设置为备用 DNS 了
|
75
lybtongji 2017-01-18 10:43:38 +08:00 via Android
来看看, mark
|
76
iyuyue 2017-02-02 14:45:01 +08:00
请教一个问题。某些海外的 CDN ,虽然没有国内节点,但有相对靠近的亚洲节点。 overture 目前的方案可能无法在这种情况下得到最优的 IP 。能否考虑让 Alternative DNS 也支持 edns-client-subnet ?
|
77
holyshawn OP @iyuyue #76 一般支持 edns-client-subnet 的海外公共 DNS 都支持按照 IP 来源进行应答,你说的情况并不至于。目前不让 Alternative DNS 支持这个特性主要是考虑配置简单,毕竟海外 CDN 节点也不是近国内就访问的快,不过如果有这个需求的话,下个版本可以考虑单独把开关做出来。
|
78
helixzz 2017-03-23 11:44:00 +08:00
强烈关注……
|
79
jmxct520 323 天前
老板,6 年了,你项目好久没有 release 。。。
|