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