这个项目能做什么
Go Music DL 是一个用 Go 编写的音乐搜索与下载工具,提供 Web 界面、TUI 终端和桌面应用三种使用方式。除单曲搜索下载外,还支持歌单搜索与解析、歌单分类浏览、我的歌单、专辑搜索与解析,以及整单/整专曲目查看与批量处理。
主要能力:
- 多平台聚合搜索,覆盖网易云、QQ 音乐、酷狗、酷我、咪咕、千千、汽水音乐、5sing、Jamendo、JOOX、Bilibili、Apple Music 等 10+ 平台,支持多源并发搜索。
- 支持单曲、歌单、专辑三种搜索类型,可直接粘贴歌曲/歌单/专辑分享链接自动识别来源并进入详情。
- 无损音质解析:网易云、QQ 音乐、Bilibili 支持 FLAC 无损下载,酷狗支持普通歌曲 FLAC。
- 歌词双格式支持:网易云、QQ、酷狗支持原文/译文/罗马音逐字 LRC 展示与卡拉 OK 式逐字高亮。
- 试听、歌词、封面下载,Range 探测显示大小与码率,过滤需付费资源。
- 本地自制歌单:可新建本地收藏夹,聚合收藏不同平台歌曲,数据持久化。
- 歌单分类与我的歌单:Web 端可按平台浏览官方分类歌单,登录后可读取个人歌单/收藏歌单。
- Cookie 扫码登录:设置面板支持网易云、QQ、酷狗、Bilibili 扫码获取 Cookie 并自动保存;汽水音乐扫码因风控签名暂未调通。
- 本地音乐管理:读取本地下载目录,支持上传、元信息补全、封面/歌词读取、删除,并可作为一等搜索源参与搜索;列表分页加载并缓存扫描与元数据。
- 换源:按歌名/歌手相似度、时长接近度与可播放探测在其它平台寻找替代版本,支持批量换源。
- 每日歌单推荐:Web 与 TUI 均可查看,聚合网易云、QQ、酷狗、酷我。
- WebDAV 同步:可将下载文件同时上传到 WebDAV。
- 视频生成相关按钮迁移到 Web 设置中管理,默认关闭。
部署与使用:
- 桌面应用:从 Releases 下载 music-dl-desktop-rust.exe 或 music-dl-desktop-go.exe,解压双击运行;支持 Windows、macOS、Linux。
- 移动端:Releases 提供 Android APK(arm64-v8a 推荐、x86_64、无分片兼容包),APK 内置 ffmpeg 与 ffprobe;iOS 提供待签名 ipa,配置证书后也可提供已签名包。
- Web 模式:./music-dl web,默认挂载 /music 路径,可用 --base-path 挂载到二级目录,附 Nginx 反向代理示例。普通功能无需登录,仅系统配置操作需管理员登录,首次通过终端打印的一次性初始化令牌创建管理员账号。
- TUI 模式:./music-dl -k "关键词",支持方向键移动、空格选择、a 全选、r 换源、Enter 下载、w 每日推荐、q 退出等按键。
- Docker:提供 docker-compose.yml(拉取预编译镜像)、docker-compose.dev.yml(本地构建)与 docker run 三种方式,默认挂载 ./data 持久化下载、配置与收藏数据,以非 root 用户运行。
- CLI 支持指定搜索源(-s)、下载目录(-o)、包含封面与歌词(--cover --lyrics)等参数。
技术栈:核心依赖 music-lib 音乐平台库,CLI 使用 Cobra,Web 使用 Gin,TUI 使用 Bubble Tea,桌面端使用 Rust + Tao/Wry 或 Go + webview2,移动端使用 Go + Gio。数据统一存放于 data 目录,含 downloads、video_output、cookies.json 与 settings.db(SQLite,存设置/Cookie/自制歌单)。
项目采用 AGPL-3.0 许可证,README 声明仅供学习和技术交流使用,下载的音乐资源请在 24 小时内删除。
评论
0 评分人数达到10人后显示
登录后参与讨论。