EndDNS是一款能帮你将域名解析成最快的IP,特别适合CDN域名的解析,比如可以解决上coursera遇到视频不能播放,卡顿的问题,这个也是该工具的最初始动因,EndDNS更能表达终点,边缘DNS的概念,即DNS完全自己控制基本功能!欢迎需要此款工具的朋友前来下载使用。
基本原理
基本原理就是配置一组上游DNS,同时解析,评估后选择最快的IP返回给用户。评估的原理也简单,就是目标IP的80或443端口的建链时间(也支持ping)。另外除去解析最快IP外,还根据分域名配置不同解析规则,可以实现最快解析,屏蔽广告,cache等功能。安装包中的缺省配置适合大部分使用者的需求,如有其它修改化需求也可自己修改配置文件。
软件特色
智能选择最快的IP
最快解析速度(与最快IP不能共存,只能二选一)
屏蔽广告
本地hosts
防DNS染污
本地cache,二次访问直接返回
分域名配置不同解析规则(详情参考配置文件注释)
注意事项
DNS是系统的重要服务,修改本地hosts及DNS配置都需要管理员权限。基于安全考量,dnswhitelist.toml限制可以使用的上游DNS(局域网地址不限)。如果确有需要,可以自己添加白名单签名(需root)后使用。注意自己签名的白名单与本机绑定,只能用于本机。
完全小白用户不建议使用此工具
完全IPv6环境没有测试过,理论上可以
非A或AAAA请求,只有一个IP,没有配置评估器等等情况不会测速,直接返回最先响应的
网络情况复杂,测速不能保证每次都是最优的
使用方法:
安装前说明
1. 此软件为免费软件,且当前仍处于开发阶段,不能确保稳定性。愿意使用此软件的用户都被视为测试用户,此软件开发者不对用户使用此软件造成的直接或间接损失承担任何责任,如果不同意此申明,请不要使用此软件。
2. 确定当前账号具有管理权限
3. 操作EndDNS服务需要管理员(可通过打开一个管理员命令行窗口来操作)
4. enddns-winclient分查看模式与管理模式,随机启动为查看模式,不能进行操作,通过授权后可进入管理模式
5. 安装EndDNS后可通过ipconfig /flushdns刷新本地dns cache,但好像并不一定好使,最好重启机子确保解析是通过EndDNS得到的
安装:
直接按照安装向导安装即可,可能会有反病毒软件报警,这个是正常的,新程序都会有类似警告,如果特别介意就不要用了
安装后使用:
1. 双击桌面上的EndDNSWinClient,启动服务(此时会有一个切换为管理员的操作,因为这些操作都需要管理员权限)
2. 重新启动后再次运行,再选择设备自动启用。等一下,如果相应的网络设备前的选中框选中,即表示启用了
验证:
打开一个命令行窗口,输入命令:ping test.enddns.com
如果解析出来的地址是127.0.0.1,表示EndDNS正常运行
如果解析出来的地址是0.0.0.0,表示没有用到EndDNS
其它情况,你可能没有联网
卸载:
1. 确定先将EndDNS服务停止后
2. 退出EndDNS客户端程序(需要从托盘图标上,右键菜单中选择退出)
3. 通过系统的“程序和功能”卸载EndDNS
测试说明
安装后的简单验证
ping test.enddns.com
解析为127.0.0.1,EndDNS服务正常运行
解析为1.2.4.8,本机上网正常,但解析不是用的EndDNS
无法解析,DNS配置错误或没有联网
ping d3c33hcgiwev3.cloudfront.net
应该能ping通过,否则看下一条
nslookup d3c33hcgiwev3.cloudfront.net,看解析出的IP地址是否与ping解析的一致,如果一致,则EndDNS解析失败了,否则看下一步
则可能需要清除一下本机DNS Cache(操作系统或浏览器),可参考。其实最简单的办法是重启一下电脑。。。
enddns主程序命令参数
help 输出此帮助信息
version 输出版本信息
run 以普通方式运行EndDNS服务
verify 验证配置文件有效性
sign 对IP白名单签名(need root),实际是计算私有签名,需要手工替换
service 以服务方式运行EndDNS服务
-action 参数
install 安装EndDNS服务
start 启动EndDNS服务
stop 停止EndDNS服务
uninstall 卸载EndDNS服务
-sysService 参数
false 安装为用户服务,缺省
true 安装为系统服务
日志中的一些解释(以服务方式运行不会输出日志)
isTCP,是否为TCP请求
isNeedChoose,是否为需要IP选择处理的DNS请求
totalTime,整个解析总耗时,单位为毫秒(不严格等于resolveTime+priority)
resolveTime,DNS解析时间,单位为毫秒
priority,IP质量,数值越低越好,当前其实就是TCP建链的耗时,单位为毫秒,小于或等0的数字有特殊含义:
0,超时或未知
-1,无需测速
-2,命中Cache
-3,没有成功的DNS返回记录(这个应该很少见)
-4,假测速(staticrv)