Skip to content

Releases: LeiSureYu/dsh-smart-download

v1.9.1

Choose a tag to compare

@LeiSureYu LeiSureYu released this 03 Nov 18:36

新增

  • 鸿蒙适配第一阶段:识别 OpenHarmony 运行时(process.platform === 'ohos'),插件在鸿蒙开箱可用(缺省 curl 单线程;PATH 上有 aria2c 或用环境变量指定则自动多线程)。随包 ohos-arm64 子包在路线图上。
  • DSH_SMARTDL_ARIA2_PATH 环境变量:显式指定 aria2 二进制,优先于随包子包与 PATH,对所有平台生效。

变更

  • aria2 定位顺序改为「环境变量 → 子包 → PATH」;显式指定的二进制验证失败不回落其它来源,直接回退 curl,并在 reason 里提示核对环境变量。

升级

DSH 侧边栏「插件」更新到 1.9.1,重启 DSH。鸿蒙设备开箱即用;要多线程见 COMPATIBILITY.md 的 HarmonyOS 一节。

v1.8.0

Choose a tag to compare

@LeiSureYu LeiSureYu released this 01 Nov 19:01

新增

  • 暂停 / 继续:运行中的任务可暂停,半包与旁车指纹保留,「重试」即从断点继续。批量中被暂停的条目标记 paused,其余条目照常。
  • 自动镜像按探测延迟排序:在通过同源校验(可达 / 等长 / ETag 一致)的候选取最快者,理由带实测延迟;并列时保持候选表顺序。
  • 下载管理器「重试全部失败」:对列表中所有 failed / cancelled / paused 的行顺序重试。

升级

DSH 侧边栏「插件」更新到 1.8.0,重启 DSH。

v1.7.0

Choose a tag to compare

@LeiSureYu LeiSureYu released this 31 Oct 08:37

新增

  • 后台下载:background: true,校验完成后立即返回 taskId(批量返回批次 ID),下载在宿主进程继续。进度用 download_status 查询,批量可用 batchId 过滤。
  • 代理:proxy 参数。探测、镜像探测与下载共用同一代理;支持 NO_PROXY,显式参数优先于环境变量。仅 http(s)。
  • expectedSize:按官方文档声明的字节数核对,与远端声明冲突则在下载前拒绝。
  • macOS 子包:dsh-aria2-darwin-x64 / -arm64,由本仓库 CI 从官方源码构建(源码 pin SHA256,otool 断言只链系统库,SLSA provenance)。
  • download_status 新增 batchId 参数。
  • curl 退出码 36 的中文说明。

变更

  • 自定义请求头改走 stdin(curl -K - / aria2 --input-file=-),凭证不再出现在进程命令行。无自定义头时命令行与 1.6.0 逐字节相同。
  • 探测与镜像解析失败现在写入 failed 终态(此前进度轨道停在「探测中」)。
  • 新增运行时依赖 undici ^7(探测走显式代理需要 ProxyAgent)。

修复

  • 批量中探测失败的条目,进度轨道卡在「探测中」。
  • ifExists: skip 且只传 expectedSize 时不校验已有文件。
  • 探测用的 ProxyAgent 不关闭导致连接积压。
  • background 传非布尔值时静默按前台执行。

升级

DSH 侧边栏「插件」更新到 1.7.0,重启 DSH。六平台均随包分发 aria2,无需自行安装。

v1.6.0

Choose a tag to compare

@LeiSureYu LeiSureYu released this 23 Oct 13:33

新增

  • 管理器运行中的任务可取消:中止子进程,终态记 cancelled;不需要 confirm,只对当前宿主进程有效。
  • 失败 / 已取消的任务可原地重试:复用原 taskId 与请求元数据(URL、输出路径、摘要、ifExists、镜像、限速、超时);重试前重新校验 URL 与摘要,非法值回 not-retryable。
  • 进度记录新增 request 字段:只含可安全落盘的请求信息,请求头与凭证一律不保存、不重放。
  • 管理器行内新增「取消下载」/「重试」按钮,行级动作在途时其余行按钮禁用。

变更

  • smartdl.manage 的 op 白名单扩展为 inspect / forget / delete / reveal / cancel / retry;cancel 与 retry 在 delete 的 confirm 分支之前分派。
  • 条目级取消信号与批量信号、timeoutMs 信号合并;修正 aria2 → curl 回退路径此前只传批量信号、导致条目级取消与超时失效的问题。

v1.4.5

Choose a tag to compare

@LeiSureYu LeiSureYu released this 13 Oct 02:38

变更

  • 开发基线数字改为实测值:541 例(539 通过 / 2 跳过 / 0 失败),行覆盖 99.40% / 分支 92.71% / 函数 97.11%。
  • 「覆盖率必须在 LF 工作区测量」的警告补上实测对照。
  • 未覆盖行注释更新为当期的 4 处,逐条核对全部是注释与续行。

v1.4.4

Choose a tag to compare

@LeiSureYu LeiSureYu released this 13 Oct 01:01

变更

  • README 新增目录(41 条锚点,0 死链)与「参数与选项速查」三张表(数据取自工具 schema)。
  • 章节重排:支持平台 / 权限 / 兼容性提前。
  • 48 处相对链接改为绝对地址,npm 页面上不再死链。
  • 中英 README 同步。

v1.4.3

Choose a tag to compare

@LeiSureYu LeiSureYu released this 13 Oct 00:40

变更

  • COMPATIBILITY.md:桌面版必须用自带 CLI 安装的警告补上真实后果(手跑 pnpm install 会 prune 掉 9 个核心包,DSH 启动即崩溃、所有工具调用无响应)。
  • TROUBLESHOOTING.md:新增对应条目 —— 症状、根因、官方逃生口与手工恢复步骤。

依据为实测崩溃日志(DSH 0.2.0-rc.2),非推测。

v1.4.2

Choose a tag to compare

@LeiSureYu LeiSureYu released this 12 Oct 23:53

变更

  • ARCHITECTURE.md 模块表按真实数据重写(19 个模块),新增下载管理器一节。
  • COMPATIBILITY.md 新增「客户端插件的服务依赖」与 pnpm 11 构建审批说明。
  • TROUBLESHOOTING.md 新增五条实战排查。

v1.4.1

Choose a tag to compare

@LeiSureYu LeiSureYu released this 12 Oct 23:53

变更

  • 补齐 1.4.0 的 CHANGELOG 与 README(此前缺 12 个提交的内容)。
  • 发布包只带面向用户的文件:62 文件 / 465 KB → 49 文件 / 305 KB。
  • 新增端到端断言:真跑 npm pack --dry-run 核对实际发出的文件清单。

v1.4.0

Choose a tag to compare

@LeiSureYu LeiSureYu released this 12 Oct 23:53

新增

  • 下载管理器:任务列表页,支持状态筛选(带计数)、文件名搜索、多选批量删除记录;每行状态色点、进度条、大小与时间,下载中另有速度与 ETA;支持键盘操作。
  • 删除确认显示完整绝对路径与大小;「同时删除本地文件」只在文件仍在原位时提供,批量删除只删记录。
  • POST /api/smartdl.manage 新增 reveal:由宿主进程打开文件管理器并定位产物。
  • 进度记录新增可选 outPath / size / fileMtimeMs。

修复

  • 「文件删得掉、记录删不掉」(manage 不带会话)。
  • 「在文件夹中显示」失败时静默。
  • 打开文件管理器会崩掉宿主(spawn 异步 error 无监听器)。
  • Linux 上绝对路径泄漏进用户文案。
  • 完成态显示为灰色而非绿色。