基于共享 Rust 下载核心和 Vue 3 的音乐下载工具,支持 Tauri 桌面端、Android 端与 Docker/Web 部署。
- 🔍 音乐搜索:支持多音源的关键词搜索、搜索建议、热搜词,结果支持分页加载更多
- 🎤 关联浏览:点击搜索结果中的歌手或专辑名称查看详情,返回时保留搜索状态与滚动位置
- 📋 歌单搜索与导入:支持歌单关键词搜索,或通过歌单链接/ID 导入并批量下载
- 🔎 结果批量下载:在搜索结果、歌单等列表中勾选多首歌曲统一加入下载队列
- ⬇️ 智能下载:多任务并发、断点续传、下载链接按需刷新与自动重试
- 🔄 自动降级:目标音质缺失或获取下载链接失败时,按配置顺序尝试后续品质,直到取得链接或候选耗尽
- 📊 实时速度:任务列表显示实时下载速度
- 🎵 音频解密:支持加密格式音频解密
- 🎤 歌词与标签:获取歌词并写入音频文件标签(支持封面、歌词),可独立下载
.lrc歌词文件 - 🔐 账号登录:支持扫码登录和手动输入
uin/authst登录,解锁会员歌曲与更高音质 - 🔁 重复文件处理:下载前检测同名文件,支持询问、覆盖、保留两份、取消四种策略,可在设置中配置
- 📱 Android 适配:默认使用系统 Download 目录,也支持通过 SAF 选择公共下载目录
- 🖥️ 系统托盘:桌面端常驻托盘,支持显示/隐藏主窗口与退出应用,左键点击托盘图标显示窗口
- 📋 任务管理:按任务状态分类,支持批量删除、全部重试、取消、恢复;支持批量清除已下载或全部历史任务;桌面端支持“打开文件位置”;任务列表分页渲染,任务量大时保持流畅
- 🔔 下载通知:任务结果与链接状态变化时弹出应用内通知
- ⬆️ 检查更新:从 GitHub Releases 检查新版本,展示更新说明,仅列出当前平台可用的安装包直链
- 🚪 退出确认:窗口关闭时若有进行中的下载任务,会先弹出二次确认
- ⚙️ 个性化设置:默认音质、自动降级、下载目录、文件命名模板、歌手分隔符、并发数、自动跳转任务页、写入歌曲标签、保存 LRC 歌词等
- 🎨 深色模式:跟随系统主题,沉浸式视觉体验
- 💾 持久化:Tauri 客户端保存本地数据;独立服务在持久化数据目录中保存任务、设置与登录状态
| 前端 | 后端 |
|---|---|
| Vue 3 (Composition API) | Rust 共享核心 |
| TypeScript | Tokio (异步运行时) |
| Vite | Reqwest (HTTP 客户端) |
| Pinia | lofty (音频标签写入) |
| Vue Router (Hash 模式) | Tauri 2 / 独立 HTTP 服务 |
| Naive UI | rumqttc (MQTT 登录) |
| Android SAF 适配器 |
- Docker/Web:Docker。
- 源码开发:Rust、Node.js 24+ 与 npm
- 桌面端:参考 Tauri 桌面端前置要求
- Android 端:参考 Tauri Android 前置要求
使用 Docker 镜像运行独立服务。
启动方式、目录挂载与更新说明见 服务端部署文档。
克隆仓库并安装依赖:
git clone https://github.com/lerdb/HotDownloader.git
cd HotDownloader
npm install开发运行:
npm run tauri dev构建安装包:
npm run tauri build构建产物位于 src-tauri/target/release/bundle/。
开发运行:
npx tauri android dev构建安装包:
npx tauri android build本项目基于 Apache License 2.0 开源。
本软件打包了完整的第三方许可证声明,随安装包分发:
NOTICE:所有第三方组件的名称、版本、许可证标识THIRD_PARTY_LICENSES.txt:上述组件的许可证全文
安装后可在应用安装目录中找到以上文件;也可在应用内「设置 → 关于」页面查看组件列表,点击任意组件可展开对应许可证全文。
注:v1.3.2 之前的版本在
NOTICE中仅列出直接依赖。自 v1.3.2 起,包含全部传递依赖及完整许可证文本。
HotDownloader 仅用于学习和研究目的。
用户需自行承担使用本软件所带来的法律责任。请确保你下载的音乐文件拥有合法的使用权,遵守相关音乐平台的版权规定。本项目开发者不对任何侵权行为负责。