AB Download Manager 上手指南:多线程下载、断点续传与定时调度
【免费下载链接】ab-download-managerA Download Manager that speeds up your downloads项目地址: https://gitcode.com/GitHub_Trending/ab/ab-download-manager
从浏览器下载一个 5GB 安装包,默认单线程往往只能跑到十几 MB/s,中途断网还得从头再来。AB Download Manager 是一款免费开源的桌面下载管理器,它把文件拆分成多个分块并行拉取(多线程下载),默认 8 个线程,并支持断点续传、下载队列和定时调度,目前提供 Windows 和 Linux 两个平台版本。
能力速览
| 核心能力 | 说明 | 适合人群 |
|---|---|---|
| 多线程分块下载 | 单个任务默认切 8 个分块并行下载,可在下载详情页逐块查看进度 | 经常下载大文件的用户 |
| 自动分类归档 | 内置 6 种默认分类(压缩、程序、视频、音乐、图片、文档),按扩展名将文件存入对应文件夹 | 下载目录混乱、需要整理的人 |
| 队列与定时调度 | 可建多个队列,按星期几和时间段控制何时开始、何时暂停 | 需要在夜间/空闲时段跑任务的用户 |
| 限速与代理 | 全局速度上限、HTTP/SOCKS 代理配置,支持按任务指定 | 办公时段需保留带宽的用户 |
快速上手:安装命令汇总
Windows(winget):
winget install amir1376.ABDownloadManagerWindows(scoop):
scoop install extras/abdownloadmanagerLinux(官方安装脚本):脚本会下载最新发布的压缩包并解压到~/.local/,同时创建桌面快捷方式,依赖的 curl 和 tar 会通过 apt 或 dnf 自动安装:
bash <(curl -fsSL https://raw.githubusercontent.com/amir1376/ab-download-manager/master/scripts/install.sh)如果你需要参与开发或自定义功能,从源码编译只需一步:克隆仓库后(仓库地址为 https://gitcode.com/GitHub_Trending/ab/ab-download-manager)执行./gradlew createReleaseDistributable,产物会输出到 Compose 的 binaries 目录。
功能详解
整理下载文件:分类规则怎么改
打开主界面后,左侧是分类导航栏,中间是当前分类下的任务列表。每个分类对应下载目录下的一个子文件夹,任务完成前文件就落在对应文件夹里,不用事后整理。
默认 6 个分类的扩展名规则写死在shared/app-utils/src/main/kotlin/com/abdownloadmanager/shared/utils/category/DefaultCategories.kt中,比如图片类包含jpg、png、webp、heic等 12 种后缀。匹配不到任何分类的文件会留在根目录,在"新增分类"对话框里可以自建分类、指定接收的扩展名和保存路径。适合"下载量大、事后找文件费劲"的场景。
加速大文件下载:断点续传与分块进度怎么看
在主页点击某条任务进入下载详情窗口,可以看到这个任务的每个分块(part)各自的状态和进度:绿色表示正在接收数据,黄色表示暂停或等待。引擎位于downloader/core/src/main/kotlin/ir/amirab/downloader/,每个分块的已下载字节数会写入本地数据库(downloader/core/src/main/kotlin/ir/amirab/downloader/db/),所以断网或重启应用后再打开,任务会从各分块记录的位置继续,不需要重头下载。
分块数量不是死的:引擎开启动态分块模式后,某个分块下载速度跟不上时会自动把剩余区间再切一半给另一个分块追赶,充分利用带宽。适合几十 GB 的镜像、游戏安装包这类大文件。
安排定时任务:队列调度怎么设
在"队列"页面(Queues)可以新建多个队列,每个任务可以选择加入哪个队列。调度配置按"星期几 + 开始时间 + 结束时间"三要素设置:比如勾选"周六、周日",开始时间 00:00、结束时间 06:00,到点自动开始,超时自动暂停。实现位于downloader/core/src/main/kotlin/ir/amirab/downloader/queue/ScheduleTimes.kt,时间精度到分钟。适合"白天上班不想占带宽、夜里把队列跑完"的场景。
端到端工作流:夜间下载一批素材并归档
下面这个案例完整走一遍"定时 + 分类"两个核心能力:
- 建队列:在队列页面新建一个名为"夜间批量"的队列,把调度时间设为每天 22:00 开始、次日 06:00 结束,并打开开始/结束时间的开关。
- 批量添加链接:在"添加下载"页面切换到批量模式,一次性粘贴多条下载链接。
- 指定队列:在添加页面的队列选择下拉框中把这一批任务指到"夜间批量"。
- 确认分类:检查每条任务的文件扩展名,确认它们会落入 Videos、Pictures 等默认分类目录。
- 启动观察:点击开始后到托盘查看总速度;到点未开始的话,回到队列页面核对调度时间是否保存成功。
- 次日验收:早上到对应分类文件夹检查文件是否齐全,缺的任务在列表里直接点重试即可。
进阶要点
- 全局限速:设置页的限速项对应引擎的
globalSpeedLimit(0 表示不限速),单位是字节/秒。办公时段设一个上限,夜间再改回 0,即可把带宽让给视频会议。 - 代理配置:代理策略支持四种——直连、跟随系统代理、手动填写 HTTP/SOCKS 代理、PAC 脚本路径。在设置页的 Proxy 分组里切换,手动模式需要填地址和端口。
- 主题切换:支持深色/浅色两种主题,跟随系统主题检测(桌面端有专门的系统主题探测模块),在设置页的 Theme 分组中修改。
排障速查
| 问题 | 解决路径 |
|---|---|
| 下载速度远低于宽带标称值 | 先看下载详情页哪个分块是绿色、哪个停滞;把分块数调高再试;确认服务器本身是否限速 |
| 文件没有落入预期分类 | 打开该任务的详情页核对实际保存路径;确认文件扩展名在分类规则内,否则手动把该任务拖到正确分类 |
| 定时任务到点没启动 | 进队列页面核对三要素:勾选的星期几是否包含今天、开始时间开关是否打开、应用当时是否在运行(托盘里存在) |
| 浏览器无法唤起下载 | 确认浏览器扩展已安装且应用进程在后台存活;扩展通过本地 REST 服务与应用通信,服务接口定义在REST-API.yml |
适合谁,下一步做什么
如果你每天下载量在 GB 级、下载目录常年混乱,或者需要在固定时段控制下载行为,AB Download Manager 的"多线程 + 分类 + 调度"三件套能覆盖主要需求;如果只是一周下载几个小文件,浏览器自带功能就够用。上手之后建议先花十分钟把默认分类的扩展名过一遍,再建一个夜间队列试跑一次,这两步能立刻看到效果。
关键资源:
- 下载引擎源码:downloader/core/
- 分类规则与存储:shared/app-utils/src/main/kotlin/com/abdownloadmanager/shared/utils/category/
- 浏览器集成 REST 接口定义:REST-API.yml
【免费下载链接】ab-download-managerA Download Manager that speeds up your downloads项目地址: https://gitcode.com/GitHub_Trending/ab/ab-download-manager
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考