-
Notifications
You must be signed in to change notification settings - Fork 91
🚫 HTTPDNS
Virgil Clyne edited this page Apr 12, 2023
·
43 revisions
- 阻止常见的 HTTPDNS 服务器列表/插件/模块
HttpDNS是使用HTTP协议向DNS服务器的80端口进行请求,代替传统的DNS协议向DNS服务器的53端口进行请求。也就是使用Http协议去进行dns解析请求,将服务器返回的解析结果(域名对应的服务器IP),直接向该IP发起对应的API服务请求,代替使用域名。
该服务基于Http协议向服务商的DNS服务器发送域名解析请求,替代了基于DNS协议向运营商Local DNS发起解析请求的传统方式,可以避免Local DNS造成的域名劫持和跨网访问问题,解决移动互联网服务中域名解析异常带来的困扰。
HTTPDNS是面向多端应用(移动端APP,PC客户端应用)的域名解析服务,解析请求基于HTTP(S)协议,有效解决了传统域名解析容易被劫持、解析不准确、更新不及时、服务不稳定等问题。使用HTTP(S)协议绕过运营商的Local DNS,避免域名劫持,也更准确地判断客户端地区和运营商,得到更精准的解析结果。
更多功能介绍
- LocalDNS劫持
- 由于HttpDNS是通过 IP直接请求http获取服务器A记录地址,不存在向本地运营商询问Domain解析过程,所以从根本避免了劫持问题。
- 平均访问延迟下降
- 由于是IP直接访问省掉了一次Domain解析过程,(即使系统有缓存速度也会稍快一些“毫秒级”)通过智能算法排序后找到最快节点进行访问。
- 用户连接失败率下降
- 通过算法降低以往失败率过高的服务器排序,通过时间近期访问过的数据提高服务器排序,通过历史访问成功记录提高服务器排序。 如果ip(a)访问错误,在下一次返回ip(b)或者ip(c) 排序后的记录。(LocalDNS很可能在一个ttl时间内(或多个ttl)都是返回记录)。
- 绕过系统/路由器/VPN/本地 DNS
域名防劫持
解析请求基于HTTP(S)协议直接发送至HTTPDNS服务器,绕过运营商Local DNS,避免域名劫持问题
安全防劫持
域名解析请求直接发送至 HTTPDNS 服务器,绕过运营商 Local DNS,支持 AES/DES/HTTPS 加密方式,查询过程更安全。
- 暴露源IP
调度精准
基于真实客户端IP,精准判断客户端所在区域,实现精准调度
智能化调度
直接获取到用户 IP,利用自有专利技术生成的 IP 地址库以及测速系统,确保请求访问到最优、最快的节点。
- 绕过用户分流与规则设置
- 不再由用户代理指定的内置DNS进行解析,相关DNS设置失效
- 可视为另一种“DNS劫持”行为
- APP使用HttpDNS的解析结果,直接发起IP地址访问,用户设置的域名分流与过滤规则失效
- 移动端上常常使用此方法隐藏广告与跟踪器的服务请求
- HttpDNS不是IETF标准协议
- 由各大HttpDNS供应商自行定义接口与使用方法
- 无法由标准防火墙与流量监控设备或进程分析与处理
- 可能采用特殊的加密算法,发送更多用户隐私数据
-
Loon:
-
插件
链接: HTTPDNS.Block.plugin -
订阅规则
链接: HTTPDNS.Block.list⚠️ 注意:因格式限制,仅部分HttpDNS在此列表中,无法完全代替插件
-
-
Quantumult X:
-
引用资源-重写
链接: HTTPDNS.Block.snippet⚠️ 注意:因格式限制,仅部分HttpDNS在此列表中,无法完全代替引用资源-分流
,需两者配合使用
-
引用资源-分流
链接: HTTPDNS.Block.list⚠️ 注意:因格式限制,仅部分HttpDNS在此列表中,无法完全代替引用资源-重写
,需两者配合使用
-
-
Surge(Shadowrocket):
-
模块
链接: HTTPDNS.Block.sgmodule -
外部规则集
链接: HTTPDNS.Block.list⚠️ 注意:因格式限制,仅部分HttpDNS在此列表中,无法完全代替模块
-
-
Stash:
-
覆写
链接: HTTPDNS.Block.stoverride -
外部规则
链接: HTTPDNS.Block.yaml⚠️ 注意:因格式限制,仅部分HttpDNS在此列表中,无法完全代替覆写
-