overture: DNS 分流净化器(更新 1.3.0)

2017-02-16 11:42:40 +08:00
 holyshawn

Github 项目传送门: https://github.com/holyshawn/overture

Binary 下载地址: https://github.com/holyshawn/overture/releases

添加了多上游 DNS 功能,自动选择最快应答。

添加了缓存功能,如果开启了 edns-client-subnet ,则命中时就会考虑到缓存时所用的 ip 。

添加了本地 Hosts 支持。

如需开启 edns-client-subnet,外网 IP 请手动填写,策略是如果访问 IP 是内网 IP 就用填的外网 IP,否则用访问 IP 进行查询。原先自动填写不太稳定而且耗时,这版本就取消了。

其他功能参见 README 。

配置文件语法有更改,请参照新版配置文件修改。

1.0.0 版本介绍传送门: https://www.v2ex.com/t/331100

1.1.0 版本介绍传送门: https://www.v2ex.com/t/332764

1.2.0 版本介绍传送门: https://www.v2ex.com/t/334691

14919 次点击
所在节点    DNS
65 条回复
hronro
2017-02-16 12:55:54 +08:00
有机会试试
ewex
2017-02-16 13:20:12 +08:00

1. 第一行提示个人认为可以去掉;
2. “口”是本来这样还是字体缺失?还没看源码;
3. "AlternativeDNS":[ "EDNSClientSubnet":{ 冒号后面加个空格更统一,强迫症晚期;
4. gfwlist.txt 和 hosts 能否去除最后一样空行,还是强迫症。

以上问题通过自行编译应该都可以解决(感谢楼主开源)。

环境: Win10 Ent N 2016 LTSB x64 英文版, Overture 64 位,系统自带 CMD

感谢!
holyshawn
2017-02-16 13:46:56 +08:00
@ewex #2
1. 还是留着吧,方便下载新版和提 issue ,主要是 程序本身除了这一行外是没有任何版权或者版本信息的。
2. 应该是字体,我在 osx 和 linux 下都没有问题, windows 下有人测试过了也没有这种问题。
3.4. 可以提 PR 。
Havee
2017-02-16 13:54:58 +08:00
“对策略是如果访问 IP 是内网 IP 就用填的外网 IP ,否则用访问 IP 进行查询。”
===

呃,这是打错字了还是本来就是如此, cdn 怎么解决。

还没看源码,感谢开源。
holyshawn
2017-02-16 14:05:26 +08:00
@Havee #4 这里的 IP 指的是发送 EDNS client subnet 请求时附属的 IP ,用于上游 DNS 服务器根据该 IP 返回合适的地址。我这里的策略是,对于来自客户端的请求,如果客户端的 IP 地址是内网 IP ,那我就用在配置文件中手动填写的外网 IP 发送给上游;如果客户端的 IP 地址是外网 IP ,那就直接用客户端的 IP 地址。这样就解决了 CDN 的问题。
bazingaterry
2017-02-16 15:57:17 +08:00
从第一个版本用到现在了,支持一下。

话说每次更新都改一次配置文件的格式啊(手动滑稽
JackyBao
2017-02-16 16:02:42 +08:00
比 dnsmasq 多了上游 tcp 请求的功能是吗?
其他还有什么创新,少年?
holyshawn
2017-02-16 16:11:06 +08:00
@bazingaterry #6 小版本改 bug 并没有动配置文件啊 ,大版本添加功能的话,想不动也是没有办法。
maojy1989
2017-02-17 08:47:15 +08:00
想在树莓派上跑这个程序要怎么玩呢? CPU 架构不一样,可以自己编译吗,我不会改代码。。。
whx20202
2017-02-17 09:40:33 +08:00
hi , 我问个题外问题希望不要嫌弃
不管是你这个软件还是 chinaDNS , 所谓的 alternative DNS 如果填写成国外的 那还不是一样被污染么? 加密这块是需要用户自己做还是说软件里已经做好了?
holyshawn
2017-02-17 09:53:57 +08:00
@maojy1989 #9
如果是 64 位的 arm 可以用:
GOOS=linux GOARCH=arm64 CGO_ENABLED=0 go build -o overture-linux-arm64 main/main.go

参见: https://golang.org/doc/install/source#environment
holyshawn
2017-02-17 09:56:42 +08:00
@whx20202 #10
目前只要在非 53 端口或者使用 TCP 两种手段下选择一项即可避免污染,如果在特定情况下这些都失效的话那可以用代理穿透, DNSCrypt 或者 HTTP DNS 之类的方案,这些由于需求多样,用户自己搭建填进去就好了。
maojy1989
2017-02-17 09:56:53 +08:00
@holyshawn #11 好的,晚上回去试试,谢谢啦
whx20202
2017-02-17 10:14:17 +08:00
@holyshawn 那么 overture 或者 chinaDNS 默认支持 TCP 吗?
holyshawn
2017-02-17 10:34:29 +08:00
@whx20202 #14 可以配置,请先看 README 吧。
maojy1989
2017-02-18 19:52:13 +08:00
GOOS=linux GOARCH=arm CGO_ENABLED=0 go build -o overture-linux-arm main/main.go

main/main.go:11:2: cannot find package "github.com/Sirupsen/logrus" in any of:
/usr/local/golang/go/src/github.com/Sirupsen/logrus (from $GOROOT)
/usr/local/golang/go/bin/src/github.com/Sirupsen/logrus (from $GOPATH)
main/main.go:12:2: cannot find package "github.com/holyshawn/overture/core" in any of:
/usr/local/golang/go/src/github.com/holyshawn/overture/core (from $GOROOT)
/usr/local/golang/go/bin/src/github.com/holyshawn/overture/core (from $GOPATH)

这个怎么解决啊
holyshawn
2017-02-19 08:58:26 +08:00
@maojy1989 #16
go get 一下吧,如果有 arm 的需求我等会把 binary 一起编译了传上去。
maojy1989
2017-02-19 10:42:32 +08:00
@holyshawn 谢谢大佬,我在树莓派上设置国外 IP 段走单独的通道,然后没有合适的 dns 客户端,暂时只能用中科大的 DNS 来避免污染,效果是有的,但是 cdn 不太好
huanter
2017-02-20 09:04:41 +08:00
这个能用来科学上网吗?
holyshawn
2017-02-20 09:34:32 +08:00
@huanter 可以用来规避 DNS 污染科技,其他高科技无能为力。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/340856

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX