【发布时间】:2021-03-18 19:33:15
【问题描述】:
WebExtension 是否可以覆盖服务器的 IP 地址,或者修改/拦截 DNS 请求或覆盖 DNS 缓存?我正在尝试编写一个 WebExtension,它为浏览器提供与 cURL's --resolve 相同的功能。
具体来说:
- 连接到与 DNS 中列出的 IP 不同的 IP
- 为用户希望解决的特定
NXDOMAIN添加条目就好像它存在 - 离线“解决”特定条目
- 以软件定义的方式缓存或固定 DNS 条目,为即将发生的已知 DNS 中毒攻击做好准备
简而言之:模拟hosts 文件的效果,但没有管理权限/干扰系统的其余部分。
【问题讨论】:
-
如果在 Firefox 中不可能并且在 Chrome 中是可能的,我将接受将此答案转换为 Chrome。
-
我相信您的问题在这里与编程无关。然而,还有一个比上述更简单的选择:只需将 Firefox 配置为使用特定的 DOH 端点并控制该名称服务器,您可以在其中完全定义名称的解析方式。这仍然完全包含在浏览器中。
-
不,扩展无法做到这一点。
-
嗯,它看起来像 WebExtensions can conditionally force requests through a proxy of their choice,并且,截至 FF57(2017 年 11 月发布),it's become possible for WebExtension-induced proxying to handle DNS requests as well。因此,虽然需要一些“伙伴脚本”软件来打开 TCP 端口来运行 DNS 处理代理服务器,但它可以在 PC 甚至 VPS 上轻松运行,无需管理员权限或系统配置更改。
-
@PatrickMevzek 这个问题特别是关于 API 在一个有点流行的软件开发平台中的功能/限制。如果这不是编程问题,我很想知道是什么。
标签: dns firefox-addon-webextensions