Github - https://github.com/tobyxdd/anchorDNS
懒得写所以下面内容直接复制README了... :)
anchorDNS 是一个运行在本地的分流DNS服务器
众所周知的 CHNRoutes 项目能够修改系统路由表使拨VPN后 中国IP依然直接连接,仅国外连接通过VPN以防止国内网站也通过VPN绕行。然而为了解决DNS污染,一般会让DNS解析全部走VPN到国外DNS服务器,因此上了CDN或有国外服务器的中国网站 依然会解析到国外或国内非最佳服务器降低访问速度。
anchorDNS 正是为解决此问题而设计,通过先从国内DNS解析域名,若发现是中国IP则直接返回结果,若非中国IP则改用境外DNS解析的方法 能够既完全保持国内网站的解析正确 又获得无污染的境外网站DNS查询结果。用户只需分别提供一个自己喜欢的国内DNS与国外DNS地址,与一个中国IP段的CIDR表(已自带)
另附"reverse"反模式,解释见下文
示例——
解析 www.baidu.com -> 查询114.114.114.114 -> 发现是中国IP -> 直接使用
解析 twitter.com -> 查询114.114.114.114 -> 发现非中国IP -> 抛弃结果查询8.8.8.8 -> 使用正确无污染结果
去 Release 下载最新版,解压后bin目录下 带参数运行 anchorDNS
参数详解——
usage: anchorDNS
-a,--alternativeDNS <arg> Specify the alternative DNS server.
-c,--cidr <arg> Specify the CIDR list.
-d,--defaultDNS <arg> Specify the default DNS server.
-h,--help Show this help message.
-r,--reverse Check the alternative DNS first.
-a 指定国外DNS服务器
-d 指定国内DNS服务器
-c 指定中国IP CIDR表(可用本项目下的 **ChinaCIDR.txt** 或 [此处下载最新版][3])
-r 反模式:优先查询国外DNS 发现中国IP后再改用国内DNS **(不建议使用!)**
比如: anchorDNS -d 114.114.114.114 -a 8.8.8.8 -c ChinaCIDR.txt
然后设置机器的DNS服务器为 127.0.0.1 !
使用 Netty 5.0 / dnsjava 处理DNS通信,Gradle构建,JDK1.6+
1
tux 2015-07-20 00:26:21 +08:00
finally
|
2
Daniel65536 2015-07-20 02:28:53 +08:00 via iPhone
解析 twitter.com -> 查询114.114.114.114 -> 返回的随机fake ip恰好是国内的 怎么解决?
另外居然不同时请求国内国外,会拖慢速度的。 |
3
tobyxdd OP @Daniel65536 fake ip不可能是国内的 不过确实应该同时请求国内外dns 之后版本改进
|
4
dopcn 2015-07-20 09:52:24 +08:00
“彻底解决 CHNRoutes 分流国内网站时 DNS 问题” 是指解决chnroutes 私有地址无法解析?
|
5
jiangzhizhou 2015-07-20 10:14:21 +08:00
可以跑在openwrt上么?目前发现有污染就是路由器ss才出现,直接Pac ss一般都没有发现dns污染。
|
7
tobyxdd OP @jiangzhizhou 如果你能在wrt上跑java的话。。。
|
8
plqws 2015-07-20 12:07:14 +08:00
@jiangzhizhou 有一种曲线救国的方法,就是把路由器的DNS设置成你的内网IP,然后在你的PC上跑这个DNS服务器。
有个疑问就是路由器DNS充当的角色有点不明白。@tobyxdd |
10
21grams 2015-07-20 20:54:10 +08:00
这不就跟chinadns是一样的嘛
|
11
qucklay 2015-07-20 21:40:56 +08:00
能说出和ChinaDNS的区别吗
|
12
kathylincn 2016-09-02 20:14:20 +08:00
可以增加不只设置 IP 。也可以设置端口吗?比如 114.114.114.114:53 或 202.48.72.85:443 之类的.因为有的 DNS 不是默认的 53 端口,带端口的话,程序不认。现在只能本程序设置端口,DNS 不能指定端口。很大程序上限制了自定义 SS
|