软件名称
IDM 智能管理器
应用平台
- Windows
一句话简介
一个通过 Chrome 的 management API 按预设规则管理 IDM 扩展的开关状态的小扩展
这个小扩展解决了什么?
用 IDM(Internet Download Manager)的同学一定遇到过这个问题:
IDM 的浏览器扩展实在太霸道了。它会在网络层监听并强行劫持 Chrome 的下载事件。如果你平时和我一样会用到其他带下载功能的扩展,比如用 SingleFile 保存网页、用油猴脚本/扩展批量抓 Pixiv 插画、推特原图或者采集图片,IDM 的扩展就跑出来横插一脚。结果就是:其他扩展设置的指定存储目录失效、自定义的文件名变成哈希乱码,最后还会全被一股脑扔进浏览器的默认下载路径。
这个小扩展就是实现了2个功能
规则匹配:打开特定网站时自动关闭 IDM 扩展
在选项页里可以填入由其他扩展负责批量抓取或存档的域名。如 pixiv.net、x.com (这些网站都有更专业更好用的下载扩展/脚本,没必要用 IDM 下载)。只要浏览器中有任意标签页打开了这些网址,扩展就会在后台静默禁用 IDM,保证抓图/抓视频的扩展正常走浏览器原生下载机制并保留文件名与路径。当关掉所有相关标签页后,IDM 会被自动重新开启。这功能适合固定站点——像 Pixiv、推特这种你常年要抓且你有比 IDM 更好的抓取扩展的地方,配一次规则就再也不用管了。
快捷键与单击切换:应对随手存网页
我习惯用 SingleFile 扩展把看到的有意思的文章原样抓下来存档,因为这种抓取情况会在随机网站上发生,不适合用规则匹配。所以设计了一个手动快捷启动机制,遇到这种场景,可以直接按快捷键 Alt + Shift + D(快捷键可以在 chrome://extensions/shortcuts 里修改),或者鼠标左键直接点一下固定在工具栏的扩展图标,就能一键关闭 IDM;存档完毕再点一下就能切回去。比手动去 chrome://extensions/ 页面折腾「进入扩展页、找到 IDM 扩展、关掉、切回存档页、存档、再切回来打开」要方便不少。
下载与源码
-
去「蓝奏云」或者「GitHub Release」下载打包好的扩展
-
把文件解压放在一个本地文件夹内(比如
D:\Extensions\idm-smart-controller,这个文件夹不能删,删了扩展就无了)。 -
打开 Chrome 地址栏访问
chrome://extensions/,打开右上角 “开发者模式”。 -
点击 “加载未打包的扩展程序”,选中文件夹即可。
-
右键点击扩展图标 → “选项”,配置你的抓图/白名单域名。
最后的一些碎碎谈
Chrome扩展市场里倒是也有其他能按规则启停扩展的管理器,但都是综合性的扩展管理器,功能非常多,就为了管一个 IDM 去装个大家伙,属实没必要。于是抽空写了一个没啥技术含量的超轻量级的 Chrome 扩展(Manifest V3),专门用来按需控制 IDM 的启停。
因为最初设计就是为了应对 IDM,所以叫「IDM 智能管理器」,但其实你也可以在设置页里选择其他扩展,让「IDM 智能管理器」根据规则管理其他扩展的开关。至于为什么不上架商店——因为要过审核还得配隐私政策、商店截图,就这么个解决小痛点的小扩展,不值得折腾。你看我连扩展的图标都没做,工具栏图标是直接用代码生成的。
至于为啥没Firefox版:根据Firefox的安全策略,用户安装的扩展只能控制主题的开关,不能控制其他扩展的开关。如果扩展想要这个权限, 需要被企业策略安装。被企业扩展安装的扩展需要Mozilla 官方数字签名(也就是说必须传到扩展商店被审核一次)好容易安装进去了。Firefox有个奇怪的机制,被关闭标签页的底层对象销毁是异步延迟完成的,直到新建标签页时,旧标签页才会被实际销毁。所以扩展无法做到标签页关闭后,及时恢复IDM扩展的开启状态(如果需要即及时恢复,需要主动循环检查标签页,要么性能不友好,要么反应延迟高,除非用UC脚本实现)一句话:Firefox想要实现按规则开关扩展太费劲了,谁爱做谁做

