一、项目概览
guohuiyuan/go-music-dl 是一个基于 Go 语言的全网音乐搜索与下载工具,将 12 个主流音乐平台的搜索、试听、歌词、无损下载整合到一个界面,支持 Web、TUI 终端、桌面应用三端使用,一个 Docker 搞定 NAS 部署。
核心 slogan:把分散的音乐资源收拢到同一套工具里。
截至 2026 年 9 月:
- Stars:4,406 / Forks:422
- 技术栈:Go + Web(TUI / 桌面 / 移动端)
- 许可证:AGPL-3.0
- 创建时间:2026 年 1 月 18 日,最后推送 2026 年 9 月 17 日(非常活跃)
- 官方演示:https://music.zkkp.nyc.mn
- 交流群:755087923
二、三端使用模式
同一个二进制文件,切换三种使用方式:
桌面应用(推荐新手)
- 从 Releases 下载
music-dl-desktop-rust.exe或music-dl-desktop-go.exe - 解压,双击运行,享受原生窗口体验
- 自动启动内置 Web 服务器
- 使用罕见端口(37777),避免与其他服务冲突
Web 模式(适合 NAS 用户)
./music-dl web
浏览器访问 http://localhost:8080,默认挂载在 /music 路径下。支持二级目录反向代理(--base-path 参数)。普通功能无需登录,只有系统设置、Cookie 管理才需要管理员账号。
TUI 终端模式(适合命令行党)
./music-dl -k "搜索关键词"
支持 p 播放、s 停止(TUI 内置试听,基于系统 ffplay 后台播放,退出时自动停止)。
移动端
- Android:Releases 提供三个 APK(arm64-v8a 推荐 / x86_64 / 无分片兼容包),已内置 FFmpeg 和 ffprobe
- iOS:提供 unsigned IPA,用户自行签名
三、支持的 12 大音乐平台
| 平台 | 搜索 | 下载 | FLAC 无损 | 歌词 | 歌单 | 扫码登录 | 备注 |
|---|---|---|---|---|---|---|---|
| 网易云音乐 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | 完整支持 |
| QQ 音乐 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | 完整支持 |
| 酷狗音乐 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | 完整支持 |
| 酷我音乐 | ✅ | ✅ | ❌ | ✅ | ✅ | ❌ | — |
| 咪咕音乐 | ✅ | ✅ | ❌ | ✅ | ✅ | ❌ | — |
| 千千音乐 | ✅ | ✅ | ❌ | ✅ | ⚠️ | ❌ | 歌单搜索可能为空 |
| 汽水音乐 | ✅ | ✅ | ❌ | ✅ | ✅ | ⚠️ 未调通 | 音频解密 |
| 5sing | ✅ | ✅ | ❌ | ✅ | ✅ | ❌ | — |
| Jamendo | ✅ | ✅ | ❌ | ✅ | ⚠️ | ❌ | 歌单搜索可能为空 |
| JOOX | ✅ | ✅ | ❌ | ✅ | ✅ | ❌ | — |
| Bilibili | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | 完整支持 |
| Apple Music | ✅ | ⚠️ | ❌ | ✅ | ✅ | ❌ | 仅 preview |
⚠️ 表示平台接口结果不稳定,建议用已知 ID 或链接解析。
四、核心功能详解
多源并发搜索
输入歌名,同时从所有平台返回结果,显示来源平台、时长、音质,帮助你选择哪个源最优。搜索结果可按平台过滤,支持单曲 / 歌单 / 专辑三种类型切换。
智能换源
当某平台歌曲失效时,自动在其他平台找相似版本:
- 先看歌名 / 歌手相似度
- 再看时长差异(太大则跳过)
- 最后做可播放探测验证
当前自动跳过 soda 和 fivesing。
无损音乐下载
支持网易云、QQ 音乐、酷狗、Bilibili 的 FLAC 无损下载。通过 Range 探测和音频解密技术,绕过平台限制直接获取原始音频。
歌词与封面
- 自动下载歌词(.lrc 格式,支持时间轴同步)
- 网易云 / QQ 音乐 / 酷狗支持原文 / 译文 / 罗马音逐字歌词 + 卡拉 OK 逐字高亮
- 自动匹配专辑封面
- 下载时可选择内嵌封面和歌词(需安装 FFmpeg)
歌单与专辑
- 链接解析:直接粘贴分享链接,自动识别来源并进入详情
- 歌单分类浏览:按平台切换分类来源,查看推荐歌单
- 我的歌单:登录后读取个人歌单 / 收藏歌单(支持网易云 / QQ / 酷狗 / 汽水)
- 批量处理:整单 / 整专曲目查看与批量下载
- 每日歌单推荐:聚合网易云 / QQ / 酷狗 / 酷我每日推荐
Cookie 扫码登录
Web 设置面板支持扫码登录的平台:网易云音乐、QQ 音乐、酷狗音乐、Bilibili。扫码成功自动写入 Cookie,Cookie 本地保存,不上传第三方服务。
本地音乐管理
Web 端可读取本地下载目录音频文件,作为独立搜索源参与聚合搜索:
- 支持格式:mp3 / flac / m4a / ogg / wav / wma / aac
- 元数据补全:ffprobe 探测时长 / 码率,内嵌封面 / 歌词优先,同名文件兜底
- 搜索索引:启动时建立 SQLite 索引,几千首本地音乐秒级命中
- 批量收藏:选中多首一次性加入自制歌单
- 硬删除:删除即真正移除文件 + 清理索引,二次确认防误删
五、Docker 一键部署
services:
music-dl:
image: guohuiyuan/go-music-dl:latest
container_name: music-dl
restart: unless-stopped
ports:
- "8080:8080"
volumes:
- ./data:/home/appuser/data
environment:
- TZ=Asia/Shanghai
user: "1000:1000"
docker compose up -d
# 访问 http://你的IP:8080
WebDAV 同步
开启后下载音乐时同时上传到 WebDAV,支持自建家庭音乐库同步。Docker 提供本地 WebDAV 测试配置(docker-compose.webdav.yml)。
六、技术架构
- 后端:Go 语言,Web 服务 + TUI + 桌面三端共用核心
- 前端:模块化 Web(JS / CSS / HTML 模板拆分),后端按业务域拆分路由
- 桌面应用:Rust 包装器(desktop/src/main.rs)嵌入 WebView
- 移动端:Gio 打包 Android APK / iOS IPA
- 数据层:SQLite(settings.db 持久化收藏 / 配置 / Cookie)
- 平台适配:github.com/guohuiyuan/music-lib 提供各平台接口
- GitHub Actions:自动构建 Docker 镜像、跨平台二进制、Android APK、iOS IPA
七、与同类工具对比
| 维度 | Go Music DL | Music-解锁 | Listen1 |
|---|---|---|---|
| 平台数量 | 12 个 | 常见 5-8 个 | 4-5 个 |
| 无损下载 | ✅(网易云/QQ/B站) | ⚠️ 部分支持 | ❌ 仅有试听 |
| 三端模式 | ✅ Web/TUI/桌面/移动 | ⚠️ 通常只有 Web | ⚠️ 桌面端 |
| 本地音乐管理 | ✅ 完整 | ❌ | ❌ |
| NAS 部署 | ✅ Docker 一键 | ⚠️ 需手动配置 | ❌ 不支持 |
| 开源 | ✅ AGPL-3.0 | ⚠️ 部分闭源 | ✅ MIT |
| 歌单/专辑 | ✅ 完整链路 | ⚠️ 部分 | ⚠️ 部分 |
| 歌词 | ✅ 逐字 LRC + 译文 | ✅ 基础 | ✅ 基础 |
八、适合人群
强烈推荐:
- NAS 用户(24 小时挂着下载,Docker 一键部署)
- 多平台音乐用户(不想在各个 App 间反复横跳)
- 无损音乐发烧友(需要 FLAC 格式)
- 命令行党(TUI 模式批量下载)
- 跨端用户(Windows / macOS / Linux / Android / iOS 通用)
需要注意:
- 下载受版权保护的音乐仅供个人使用,请勿传播
- 汽水音乐扫码登录暂未调通,需手动配置 Cookie
- FFmpeg 为可选依赖,未安装时部分功能降级
九、一句话总结
Go Music DL 是一个基于 Go 语言的全网音乐聚合搜索与下载工具,支持 12 大音乐平台(网易云/QQ/酷狗/B站等),内置 Web、TUI、桌面、移动端四端模式,支持 FLAC 无损下载、歌词封面自动匹配、歌单批量处理、本地音乐管理、Docker 一键部署,NAS 用户和家庭音乐库的首选。
GitHub 地址:https://github.com/guohuiyuan/go-music-dl
官方演示:https://music.zkkp.nyc.mn
许可证:AGPL-3.0(开源)
