V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
KIRAYOMATO
V2EX  ›  问与答

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

  •  1
     
  •   KIRAYOMATO · 2023-06-12 17:34:46 +08:00 · 985 次点击
    这是一个创建于 514 天前的主题,其中的信息可能已经有所发展或是发生改变。
    就是如果点了一个下载链接,在 IDM 成功响应链接创建下载任务之前,整个浏览器都会处于断网状态
    4 条回复    2023-06-13 22:51:49 +08:00
    Zy143L
        1
    Zy143L  
       2023-06-12 18:52:36 +08:00 via Android
    确实有发现这个问题
    blackcrystal
        2
    blackcrystal  
       2023-06-12 21:45:48 +08:00   ❤️ 3
    确实有这个问题,复现流程:
    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
        3
    KIRAYOMATO  
    OP
       2023-06-13 01:59:18 +08:00
    @blackcrystal 有办法解决吗
    flynaj
        4
    flynaj  
       2023-06-13 22:51:49 +08:00 via Android
    @KIRAYOMATO 换下载器,xdown,或者浏览器直接下载,今天浏览器直接下载 Debian 12 的 DVD ,几分钟就好了。现在的宽带大多数情况直接浏览器下载就行。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1005 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 22:00 · PVG 06:00 · LAX 14:00 · JFK 17:00
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.