当前位置: 首页 > news >正文

关于Internet Download Manager(IDM)强制下载合并相关二次开发

目录

前言

强制下载视频

强制合并

迁移下载列表

免责声明

附录


前言

那个下载工具IDM不说了,确实有很多便捷的功能,不过也有一些限制

常见的包括但不限于:

1.无法下载有版权保护的视频(不管真假)

2.有时候下载后不能合并(m3u8,ts)

3.不完整的下载不能强制合并

研究发现 IDM 对存储路径是加密的,老外对隐私和版权的保护这方面,个人认为值得我们学习,还有研究。

本文将简要介绍一些简易解决办法,并附上一些软件、代码、资源

强制下载视频

很多网站的视频使用修改m3u8配置的方式,让IDM以为是加密的视频,从而不下载嗅探到的流媒体,其实并没有加密,此类下载一般会提示:“由于法律原因,IDM 无法下载此受保护的数据”

解决办法是使用 m3u8dl 下载器(这个东西好像被很多杀毒软件归类为黑客软件,但 GitHub 上有),其原理是模拟一个迷你的浏览器,只有你可以播放,就可以下载

由于附带的代码中已经有调用 m3u8dl 的傻瓜式功能(见下文),如果有必要再随缘发文介绍吧

强制合并

有时候下载到100%了但是无法合并,此类问题比较复杂,但是可以确定流媒体是下载完成了

一般提示“整合各下载块为一个文件时无法打开本地文件供写入”

解决方法是用 ffmpeg 直接合并,不过用 bat 等方式遍历到的文件是无序的,所以免不了又要写代码,代码我已经写好了

int EnumFiles(string path, string pattern, string lstName = "files.txt"){// dir /b /ODList<FileItem> items = new List<FileItem>();var files = System.IO.Directory.GetFiles($"{path}", pattern);foreach (var file in files){var f = System.IO.Path.GetFileName(file);var ext = f.Substring(10);System.Diagnostics.Debug.Assert(string.IsNullOrEmpty(ext) == false);var it = new FileItem();it.Name = f;it.idx = int.Parse(ext);items.Add(it);}if (items.Count > 0){// orderby idx ascendingitems.Sort((a, b) => a.idx.CompareTo(b.idx));// file '***' \nusing (var sw = new System.IO.StreamWriter($"{path}\\{lstName}")){// 覆盖foreach (var it in items){sw.WriteLine("file '" + it.Name + "'");}sw.Close();}// C:\Users\Administrator\m3u8DL\ffmpeg.exe -f concat -i files.txt -c copy output.mp4}return items.Count;}

底部注释可以使用 ffmpeg.exe 手动合并生成的 files.txt 碎片列表,提供的软件有便捷的功能(见下文),同时处理了工作路径的问题

迁移下载列表

将下载列表迁移到另外一台电脑时,使用 IDM 自带的导出功能,只能导出链接,不包括文件名,而且对于流媒体,导入后会下载索引,几十个 KB 那种,而不是下载流媒体,所以这是最复杂的部分

1.其实 IDM 的下载任务都保存在注册表中,这也是下载任务多了容易卡顿的原因之一,位置是:HKEY_CURRENT_USER\Software\DownloadManager,每个下载任务以编号作为子项保存相关信息(文件名、原链接、来源页面、进度等)

2.文件名是加密的,保存在注册表任务项 EncLNFSW 中,我找了一下资料很少,有一份俄语的(鄙人俄语只会说你好)

机器翻译一下,没什么价值,还有一位南京的计算机专业博士,可惜他说的是错的,这里跳过研究细节

3.不要问我会不会解密文件名,问就是不会!

免责声明

附带资源用于给遭受反复下载失败的用户提供补救措施,同时代码编写仓促,可能有 BUG 等影响数据安全的隐患,需要使用者自担风险

本人资源一贯免费提供,此次例外,主要是防止没有技术功底的小白和外行人拿来乱试导致数据损坏,及其它不可描述的用途等

本人仅保证软件不包含木马病毒,不对使用者产生的任何影响负责

附录

资源随后上传,可以评论留言或私信获取附带资源链接,相关建议帮助请留意博客更新

http://www.lryc.cn/news/531308.html

相关文章:

  • 鸿蒙HarmonyOS Next 视频边播放边缓存- OhosVideoCache
  • (10) 如何获取 linux 系统上的 TCP 、 UDP 套接字的收发缓存的默认大小,以及代码范例
  • 程序代码篇---项目目录结构HSV掩膜Opencv图像处理
  • 注解与反射基础
  • Vue指令v-html
  • 院校联合以项目驱动联合培养医工计算机AI人才路径探析
  • CDDIS从2025年2月开始数据迁移
  • 前端 | JavaScript中的reduce方法
  • 【C++】B2124 判断字符串是否为回文
  • 人工智能学习(五)之机器学习逻辑回归算法
  • Bash 基础与进阶实践指南
  • 基于开源AI智能名片2 + 1链动模式S2B2C商城小程序视角下的个人IP人设构建研究
  • 基于springboot+vue的航空散货调度系统
  • 【C++】B2122 单词翻转
  • OSCP 渗透测试:网络抓包工具的使用指南
  • Android 进程间通信
  • Kubernetes学习之通过Service访问Pod
  • 【Numpy核心编程攻略:Python数据处理、分析详解与科学计算】2.18 对象数组:在NumPy中存储Python对象
  • Web - CSS3基础语法与盒模型
  • CSS知识总结
  • 基于Spring Security 6的OAuth2 系列之十 - 授权服务器--刷新token
  • 信息学奥赛一本通 2113:【24CSPJ普及组】小木棍(sticks) | 洛谷 P11229 [CSP-J 2024] 小木棍
  • 安装hami的笔记
  • 【区块链】区块链密码学基础
  • 强化学习笔记(5)——PPO
  • 【C语言入门】解锁核心关键字的终极奥秘与实战应用(三)
  • 寒假day10
  • 本地部署与使用SenseVoice语音大模型简析
  • Kafka SASL/SCRAM介绍
  • 中间件漏洞之CVE-2024-53677