Skip to content

XDownload v2.9.7

Choose a tag to compare

@github-actions github-actions released this 17 Aug 19:12
· 14 commits to master since this release
5e184c9

🚀 v2.9.7 聚焦工具下载体验与 ffmpeg 更新检测:下载 yt-dlp / ffmpeg 时实时显示直连 / 代理模式、可一键切换「代理下载」,ffmpeg 彻底弃用 gyan.dev 改为 GitHub BtbN 统一检测(24 小时缓存不再频繁联网),并全链路补齐排查日志。


🐛 关键修复

  • 取消下载不再误弹失败:修复取消后 download_with_fallback 把"用户取消"当"直连失败"继续走代理、错误信息被 with_context 覆盖导致前端误判——现在取消即透传,静默关闭无弹窗,也不再发多余代理请求
  • ffmpeg 更新检测不再持续误报:本地基准改用解压时恢复的 zip 内构建时间戳(此前是下载时刻,BtbN 高频构建导致一直提示有更新);远端发布时间解析失败不再污染 24h 缓存
  • 下载失败残留临时文件清理:超时 / 读错 / 写错等所有失败路径统一删除 .tmp 半成品(此前仅取消分支清理)
  • 工具下载失败展示真实原因:错误串保留 cause 链,前端能区分超时 / 连接拒绝 / DNS 等并展示

✨ 新功能 / 改进

工具下载(设置 → Tools)

  • 实时显示网络模式:下载时提示「正在通过直连下载 / 正在通过代理下载」,直连失败自动切代理时提示实时更新
  • 「代理下载」开关:开启后工具下载直接走代理(不再先试直连);未配置代理时开关自动禁用并提示;开关即时保存(无需点「保存」)
  • 慢速下载提醒:超过 3 分钟无进度时提示,提供「继续等待 / 前往网页下载」入口(GitHub BtbN 页面)
  • 取消下载静默:识别"下载已取消",不再弹失败弹窗

ffmpeg 更新检测

  • 彻底移除 gyan.dev:首次下载(GitHub BtbN)与更新检测(GitHub API 发布时间)统一数据源
  • 24 小时跨进程缓存:远端发布时间存 data.db,启动 / 重复检查不联网(毫秒级本地对比),解决 GitHub API 未认证限流(60 次/h)
  • 手动检查强制刷新:点「检查更新」绕过缓存立即请求 GitHub 并更新记录
  • API 限流后备:GitHub API 403 时自动走 Web 页面解析(<relative-time>),全程日志可查

下载历史

  • 新增 handle 字段:从 URL 提取用户 id(如 yung_dimsum)写入历史记录,老库自动迁移 + 存量回填

移动中状态

  • 下载完成后进入合并阶段显示「移动中」徽标与循环条,与下载 / 合并阶段明确区分

🎨 UI 优化

  • 退出弹窗:点击遮罩(弹窗外空白处)取消退出(此前会误触发最小化)
  • 书签查看弹窗:打开时自动实时刷新下载状态(监听 download-finished)
  • 版本显示:ffmpeg 底部版本号解析兼容 BtbN master(N-<git号>),更新后不再显示问号

🛠 日志补全(排查不再黑盒)

  • 代理测试:入口 / 结果 / 耗时 / 失败原因全记录
  • cookie 验证:浏览器选择、auth_token 提取、x.com 验证状态码
  • 网络检测:直连 / 代理可达性、GitHub / Google / x.com 预检
  • 命令执行:spawn 失败、超时被杀、非零退出码(含 stderr 摘要)
  • 数据库:连接池借用失败、初始化失败
  • Web fallback:403 后自动降级执行过程全程留痕

📦 安装

从 GitHub Releases 下载:

  • Windows: XDownload_2.9.7_x64-setup.exe (NSIS) / .msi
  • 浏览器扩展: 沿用已发布版本即可(本版未改扩展)

⚠️ 升级说明

  • 本次发版同时包含 v2.9.6 的改动:「下载时防休眠」开关(Windows SetThreadExecutionState,队列有活跃任务时阻止系统休眠,任务结束 / 暂停 / 清空 / 主动退出自动恢复)、视频保存位置卡片改版、设置页下载目录显示绝对路径
  • ffmpeg 更新检测逻辑变更:旧版数字版本(如 7.1)与新版 N- 构建统一走 GitHub 检测,无需迁移
  • 升级无需迁移配置,历史与书签数据保留

🙏 致谢