EndDNS(原DNS Chooser)找到最快IP的上网加速工具

简介

EndDNS(原DNS Chooser),一个能帮你将域名解析成最快的IP,特别适合CDN域名的解析。比如可以解决上coursera遇到视频不能播放,卡顿的问题,这个也是该工具的最初始动因。基本原理就是配置一组上游DNS,同时解析,评估后选择最快的IP返回给用户。评估的原理也简单,就是目标IP的80或443端口的建链时间(也支持ping)。另外除去解析最快IP外,还根据分域名配置不同解析规则,可以实现最快解析,屏蔽广告,cache等功能。安装包中的缺省配置适合大部分使用者的需求,如有其它修改化需求也可自己修改配置文件。
改名的原因一是DNS Chooser直接让人想到的是选择不同的DNS服务器(而不是最快的IP,让人误解),虽然老版的DNS Chooser本身没有这个功能,新版EndDNS却有。另外EndDNS更能表达终点,边缘DNS的概念,即DNS完全自己控制

基本功能

  • 智能选择最快的IP
  • 最快解析速度(与最快IP不能共存,只能二选一)
  • 屏蔽广告
  • 本地hosts
  • 防DNS染污
  • 本地cache,二次访问直接返回
  • 分域名配置不同解析规则(详情参考配置文件注释)

一些说明

  • DNS是系统的重要服务,修改本地hosts及DNS配置都需要管理员权限。基于安全考量,dnswhitelist.toml限制可以使用的上游DNS(局域网地址不限)。如果确有需要,可以自己添加白名单签名(需root)后使用。注意自己签名的白名单与本机绑定,只能用于本机。
  • 完全小白用户不建议使用此工具
  • 完全IPv6环境没有测试过,理论上可以
  • 非A或AAAA请求,只有一个IP,没有配置评估器等等情况不会测速,直接返回最先响应的
  • 网络情况复杂,测速不能保证每次都是最优的

一个简单对比测试

域名 用途 不使用 EndDNS 使用EndDNS
d3c33hcgiwev3.cloudfront.net Coursera视频地址 不通 128ms
devstreaming.apple.com 苹果开发视频地址 140ms 87ms
cdn.cnn.com CNN视频地址 200ms 96ms
vod-dash-ww-live.bbcfmt.hs.llnwd.net BBC视频地址 >600ms 350-450ms
snappytvpoc-vh.akamaihd.net MSNBC视频地址 250-300ms 90ms

(网络状况随时在变,数据不一定准确,就是这么个意思,测试时请注意清系统DNS Cache,最好用dig或nslookup解析域名)

关于本软件的申明

此软件为免费软件,且当前仍处于开发阶段,不能确保稳定性。愿意使用此软件的用户都被视为测试用户,此软件开发者不对用户使用此软件造成的任何直接或间接损失承担责任,如果不同意此要求,请不要使用此软件。

用户数据收集及隐私

  • 域名解析记录是很敏感的信息,你的DNS解析请求只会发送到配置里的上游DNS,EndDNS本身不会收集这些记录。
  • 开启日志功能后会打印访问记录,请妥善处理。(缺省以服务运行方式不会记录DNS解析记录)
  • 另外EndDNS还有一个基于GA的安装启动数统计。

FAQ

  • 我能用EndDNS科学上网么?
    • 抱歉,EndDNS不是用于这个目的的
  • 那这东西有什么用?
    • 找到域名最快的IP(针对当前解析的你),最典型的应用场景是上coursera课程,解决卡顿,视频不流畅问题。这个也是本软件最原始的动因。通常来讲,适用于CDN域名的解析(可以理解成一个域名有多个可能的IP的)场景。
    • 最快解析,可以配置成最快解析,上流DNS服务器最先返回直接返回结果,还有容错的效果
    • 屏蔽广告域名
    • 本地hosts
  • 基于80或443端口测速,那如果相应服务器这些端口本身都没有打开会解析失败么?
    • 首先,绝大部分要解析的域名,这两个端口中的其中一个应该是打开了的。
    • 其次,对于只有一个IP的情形,不会评估(测速),直接返回。
    • 如果确实需要测速,但端口都没有打开,那EndDNS也能正常返回IP,只是要等一个超时(reviewerTimeout)。
    • 最后,如果有兴趣,可以试一下ping评估器。
  • 安装时系统或杀毒软件会有报警,为什么需要管理员权限?
    • EndDNS服务缺省需要监听在53端口,一般还需要安装成服务,界面辅助程序还需要设置系统的DNS服务器,这些都需要管理员权限。一般操作系统对于不是通过其官方渠道发布的软件,都有警告信息。如果特别介意,慎用。
  • 既然是选择最快的IP,为什么dig或nslookup时,有时候的返回结果是多个IP?
    • 单个DNS请求,返回的结果是可能有多个IP的,这些IP(组)一般都在同一个区域,质量(对你的连接速度这些)应该都是一致的。而CDN是针对不同的DNS请求,根据请求者IP来源(或通过EDNS0的subnet),返回不同的IP(组),EndDNS的测速是在这些IP(组)之间进行的,EndDNS不会修改上游DN的返回结果,要不舍弃,要不原样返回。
  • EndDNS需要服务器么?完全免费么?
    • EndDNS只会根据你配置的上游DNS服务器进行解析,除此外的功能实现不依赖于其它特定服务器。本质上讲,当前EndDNS是一个纯客户端软件,不是一个云服务。
    • EndDNS现在和以后都完全免费使用,当然如果你认可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)

参考

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,921评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,635评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,393评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,836评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,833评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,685评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,043评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,694评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 42,671评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,670评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,779评论 1 332
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,424评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,027评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,984评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,214评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,108评论 2 351
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,517评论 2 343

推荐阅读更多精彩内容

  • 在使用consul做docker容器服务化的过程中,使用到了dnsmasq做DNS请求转发,于是研究了下DNS协议...
    __七把刀__阅读 3,978评论 2 13
  • 1、前言 在当下互联网时代,我们日常生活和工作基本都离开不域名和 DNS ,如通过一个网址打开一个网站进行购物、使...
    cinder_lv阅读 3,529评论 1 27
  • 日月如梭,转眼间,我小学就要毕业了。新的中学生活即将来临。心中不由的充满了期待和不安。 首先,初中课程增加了,有七...
    黄奕章一阅读 1,699评论 0 0
  • 第四集 多彩的四季 之 秋日童话 《秋天到了》 ,“天气凉了,树叶黄了……” 在秋天,要看最美的树叶,那自然是10...
    元素12阅读 350评论 0 0
  • 寒夜风守候 雪地独自思 仰望北斗星 归期是何日 痴痴盼归期 了却相思苦 遥夜举杯醉 谁解相思愁
    胡杨公主阅读 274评论 4 10