为什么 idm 卡住会导致整个浏览器上不了网

2023-06-12 17:34:46 +08:00
 KIRAYOMATO
就是如果点了一个下载链接,在 IDM 成功响应链接创建下载任务之前,整个浏览器都会处于断网状态
1023 次点击
所在节点    问与答
4 条回复
Zy143L
2023-06-12 18:52:36 +08:00
确实有发现这个问题
blackcrystal
2023-06-12 21:45:48 +08:00
确实有这个问题,复现流程:
1 、使用 Microsoft Edge 安装 IDM 的浏览器扩展,然后将 IDMan.exe 挂起;
2 、在 Edge 的地址栏中打开一个可正常下载的直链,在 IDM 无法接管下载过程的情况下,Microsoft Edge 自带的下载程序也无法开始下载;此时在 Edge 中新建标签页,经尝试后任何网站包括内网服务均一直在加载,无法打开。
3 、将 IDMan.exe 恢复,此时 IDM 立即弹窗接管下载,Edge 上的网页也立即正常加载并打开。

=======================
原因:IDM 扩展程序的问题。
已知 IDM 在安装后会在 Windows 上创建一个名为"IDMWFP"( Internet Download Manager WFP Driver )的服务,这个服务由 C:\Windows\System32\drivers\idmwfp.sys 这个内核模块(或者说“驱动”)提供。启用 IDMWFP 服务后,System(ntoskrnl.exe)会打开一个监听 127.0.0.1:1001 的 HTTP 服务器
IDM 扩展程序就利用这个 HTTP 服务器发起 WebSocket 连接 或者 用 runtime.connectNative()对接 IDM 程序来新建下载任务。

然而 IDM 扩展程序在这里并没有用异步来处理,但是这个扩展程序又要处理整个浏览器的请求。
也就是说,IDM 卡住时这个 WebSocket 服务器会卡住,其扩展程序得等 WebSocket 服务器响应,然后浏览器又得等 IDM 扩展程序处理完新建下载的任务再浏览器里的其它请求。在此期间,浏览器看起来就像断网了一样。

你可以在浏览器设置的已安装扩展里找到"IDM Integration Module",点击"检查视图 background.html",然后用调试器把 background.js 断下来,你就会神奇地发现浏览器“断网了”。
KIRAYOMATO
2023-06-13 01:59:18 +08:00
@blackcrystal 有办法解决吗
flynaj
2023-06-13 22:51:49 +08:00
@KIRAYOMATO 换下载器,xdown,或者浏览器直接下载,今天浏览器直接下载 Debian 12 的 DVD ,几分钟就好了。现在的宽带大多数情况直接浏览器下载就行。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/948085

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX