Skip to content

🚫 HTTPDNS

Virgil Clyne edited this page Apr 6, 2023 · 43 revisions

简介

  • 阻止常见的 HTTPDNS 服务器列表/插件/模块

关于 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在此列表中,无法完全代替`覆写`
Clone this wiki locally