github a1175815821/MegaDownloader-Revival v2.5.9

3 hours ago

📥 下载:下方 Assets 二选一 —— MegaDownloader.exe(单文件,双击即用)/ MegaDownloader-Revival-win-x86.zip(解压即用)。
升级:关闭旧程序后替换 exe;设置与下载队列保存在 %LOCALAPPDATA%\MegaDownloader\,保留下载目录中的 .part,已有断点继续兼容。
系统要求:Windows 7 SP1+ · .NET Framework 4.8(Win10 1903+ 系统自带)· 无需管理员权限

补丁版,一句话:同名文件同时下载不再互相写坏;解压不再覆盖同名、同大小的原文件;解压中断后重启会校验并复用已下完成品;在线观看的短 Range 请求不再返回错误字节。

这次修复了什么症状?

  • 两个同名文件一起下载,一个报“文件被占用”,另一个报 MetaMAC 校验失败 —— 下载临时文件按任务隔离,同名文件和重复链接都能分别完成
  • 解压显示成功,原有同名文件却被替换掉了 —— 不再把“大小相同”当作同一文件,已有原件保留副本;无法保留时明确停止 7z 解压
  • 下载已经 100%,却在重命名 README 时失败;选了磁盘根目录,文件又存到了别处 —— 无扩展名重名与盘符根路径分别修复
  • .part 被清理后仍从 50% 接着下,最后必报校验失败 —— 断点文件不存在就清零进度,从头重建
  • 解压中途退出,重启后完整压缩包又下了一遍,还多出 (2) 副本 —— 先验证已下载成品,通过后直接复用
  • 短 Range 响应看起来正常,播放器拿到的媒体字节却不对 —— 分段到达时也会读够对齐前缀,再解密并返回请求的字节

全部修复明细

📥 下载与断点恢复

  • 每个下载任务使用独立的临时文件名,并写入下载队列;重启恢复身份,旧版 文件名.part 的已有进度会迁移,避免新旧格式切换丢掉断点
  • 成品重命名统一同步。同名文件依次使用空闲的 (n) 后缀,文件和同名目录都会避让;不再让两个下载器改写同一 .part
  • 无扩展名文件重名时,只对文件名拆分扩展名,正确得到 README (2);父目录包含点号也不会被误当扩展名
  • 磁盘根路径保留尾部分隔符,不再把 I:\ 变成盘符相对路径 I:;UNC 根路径与目录边界检查保留
  • .part 丢失时清零全部分块进度,避免新建空文件后只填后半段,直到最后才报 MetaMAC 错误
  • 完整断点对应的成品先校验长度与真实 MetaMAC,通过后复用,不再发起整文件的分块传输;损坏成品保留,重新下载另存,不会被冒充为成功
  • 保留成品实际使用的重名后缀,文件信息刷新不会再把 same (2).bin 改回 same.bin
  • 迟到的下载成功通知不再覆盖正在解压或校验的状态;重置和取消清理只针对本任务的临时文件,保护其他同名任务与已有成品

🗜️ 解压:保留原文件,恢复空目录

  • ZIP 与 7z 都不再以“字节数相同”认定是同一压缩包的旧输出:已有文件保留到空闲 (n) 后缀,新条目再使用原名
  • ZIP 原文件被占用、无法移动时,新条目写入空闲后缀,原文件保持不动
  • 7z 无法保留原文件时明确停止;CLI 增加 -aou,防止检查之后新出现的重名文件被覆盖
  • ZIP 空目录与多级空目录会实际创建,不再一边丢掉目录、一边报告成功;目录条目同样要通过路径边界检查

▶️ 在线观看:修复 Range 字节错误

  • 短请求如 bytes=15-16,上游先送一小段密文、稍后继续发送时,旧代码可能把尚未读入的缓冲区当成已读数据解密,返回 HTTP 206、长度也正确,但内容错误
  • 现在将首块需要裁掉的对齐前缀计入读取长度,读够后再解密;只返回实际读到且落在请求区间内的字节
  • 覆盖单字节探测、未对齐起点、跨多个缓冲区、分段到达和非完整 AES 尾块

🧪 验证与文档

  • 新增可重复运行的回归程序:136 项断言通过,Debug / Release 均构建成功
  • 验证正常下载与续传、旧断点迁移、同名并发和重复链接、临时文件持久化与清理、成品复用和损坏保护、ZIP/7z 防覆盖、空目录和 Range 明文字节对照
  • 测试使用合成密钥、临时文件与本机 HTTP 服务,无需真实 MEGA 账号;播放器端具体报错文字未作为已实测结果
  • 五种语言 README(含两份英文入口)、中英文 CONTRIBUTING、中文 CHANGELOG 与更新检查版本号同步

Full Changelog: v2.5.8...v2.5.9


⭐ 用得顺手的话,欢迎给项目点个 Star —— 遇到问题也欢迎提 Issue,请附上版本、复现步骤和日志。

Don't miss a new MegaDownloader-Revival release

NewReleases is sending notifications on new releases.