夜雨聆风学习资料网

ARTICLE · 1332885

一首歌要开五个 App?这个开源工具把 12 个音乐源收进一个搜索框

一首歌要开五个 App?这个开源工具把 12 个音乐源收进一个搜索框

找歌这件事,现在有点荒诞。

一首歌在网易云,另一首只在 QQ 有版权,翻唱版得去 B 站;苹果那边还有一首,得开会员才能听全。

上周想找一首 2013 年的现场版,我在四个 App 之间来回切了二十分钟,最后靠朋友发链接才找到。

Go Music DL 是我最近在用的解法:一个搜索框,把十二个平台的搜索结果并排摆出来。Go 写的,AGPL-3.0,现在 5974 star,作者 guohuiyuan。

Web 端:搜「香水有毒」,十二个平台的开关排一行,下面是 87 条结果

01界面就三块,十分钟能摸熟

中间一个搜索框,下面一排平台开关,再往下是结果卡片。每张卡上标着来源、码率、文件大小。

同一首歌,网易云给 320kbps、29.9MB,酷狗给 128kbps、4.1MB——哪个划算,一眼看得出。这种信息密度,比各家 App 里只敢写个「HQ」标签要诚实得多。

卡片右侧一排小按钮:播放、换源、收藏、下载、歌词、详情。我用得最多的是换源——某个平台下不了,按一下,它去别处找同名同时长的版本。

换源的规则写在 README 里:先比歌名和歌手相似度,再比时长差(差太多就跳过),最后做一次可播放探测。不是随便找个同名文件糊弄你。

搜完还能顺手切平台筛选:只留网易云和 QQ,或者只看标了 FLAC 的。批量操作能把整批结果一起下载。

02十二个源,不止能搜单曲

按名字数一遍:网易云、QQ、酷狗、酷我、咪咕、千千、汽水、5sing、Jamendo、JOOX、Bilibili、Apple Music。正好十二个。

类型上也不止单曲:歌单、专辑、排行榜都能搜。粘贴分享链接它也认——单曲、歌单、专辑三种链接会自动识别来源,直接跳详情。

TUI 里搜「抖音神曲」,77 个歌单,曲目数、创建者、来源都列出来了

这一步比想象中实用:朋友甩来一个歌单链接,不用再手动抄歌名,粘进去、回车、看详情。

排行榜是把各家官方榜单合在一页:网易云、QQ、酷狗、酷我、咪咕、汽水和 Apple Music 的热歌榜都在。想写稿找素材,这一页够用了。

03终端、桌面、手机,都有各自的版本

Web 是最省事的:跑 ./music-dl web,浏览器打开 localhost:8080/music 就能用。要挂在反向代理的二级目录,加个 --base-path 参数。

TUI 是给终端党准备的。一条命令出结果:

./music-dl -k "周杰伦" -s netease,qq --cover --lyrics

TUI 结果页:序号、歌名、歌手、专辑、时长、大小、码率、来源,八列齐了

按键逻辑很顺手:上下移动,空格选中,a 全选,r 换源,回车下载,w 拉每日推荐。不用装任何 GUI 依赖。

除此之外还有:桌面端(Rust 和纯 Go 两个版本,Windows / macOS / Linux)、安卓 APK(内置 FFmpeg,装完把下载目录改成 /sdcard/Music)、iOS 待签名 IPA、Docker 镜像。

还有一处我没想到:它给 AI 留了精简的 JSON API,/music/api/ai/search,可以指定平台、限制条数,还配了 llms.txt。想让 Agent 帮你找歌,不用逼它读整页 HTML。

04播放器做得比预期认真

全屏播放器:封面转成黑胶,右侧歌词逐行跟随,左下角还有导出视频

封面会转成一张黑胶唱片压在左边,右边是歌词,支持逐字高亮、切换歌词字体、全局快捷键和媒体键。

右下角那个「导出视频」按钮挺意外——它能把当前这首歌和歌词渲染成一段视频。做歌单推荐视频的人可能用得上。

桌面版还做了任务栏缩略图控制:鼠标移到任务栏图标上,上一首、暂停、下一首直接点,不用把窗口调出来。

05音质这件事,得拆开说清楚

原稿写得太顺了,这里我把话说细一点。

无损确实支持:网易云、QQ、酷狗、Bilibili 都能拿 FLAC。但高音质和受限资源不是白给的。

QQ 音乐下载需要有效 Cookie;

汽水音乐的会员整曲,需要 Cookie 加本机签名器(装过汽水官方客户端就自动可用),签名不可用时自动回退到公开试听片段;

Apple Music 只能下 preview,完整版要另外用 gamdl 解密。

它是个聚合器,不是付费墙拆解器。

你有权限的资源,它帮你一把抓下来;没有的,给你试听,或者告诉你去配 Cookie。把它当成「全平台会员平替」,用两天就会失望。

配 Cookie 倒是不难:设置页里,网易云、QQ、酷狗、Bilibili 可以直接扫码登录,扫完自动保存。汽水新版扫码还没调通,入口临时藏了,得手动填。

这三个平台的 Cookie 只存在本地数据目录里。别把配置文件传群里——那等于把账号给别人。

06顺手把本地曲库也管了

它能扫本地目录(默认 data/downloads,安卓建议 /sdcard/Music),认 mp3、flac、m4a、ogg、wav、wma、aac,读内嵌封面和歌词,缺的用 ffprobe 补。

扫进来的歌会作为一个叫 local 的搜索源参与搜索——这就有意思了:一次搜索,既有线上的,也有你自己硬盘里的。

下载后处理有几个开关:内嵌封面和歌词(要装 FFmpeg,没有就跳过)、同目录生成 LRC、同步到 WebDAV。文件名支持 {name}、{artist}、{album}、{source} 这类模板,整理癖会喜欢。

下载走流式,支持 Range 断点续传,进度条能拖。这些细节不影响「能不能用」,但影响「愿不愿意长期用」。

07怎么跑起来,以及一个协议上的提醒

最省事是 Docker:

docker compose up -d --pull always --remove-orphans

起来后访问 8080。搜索、试听、下载、逛歌单都不需要登录,只有改设置、配 Cookie 才要管理员账号——首次启动的日志里会打印 Web setup token,拿它建号。

协议是 AGPL-3.0。自己家里用、局域网用都没问题。但要把它挂成公开服务给别人用,你的改动也得按 AGPL 公开源码。自建之前先想清楚这一层。

另外,这类工具天生踩在版权灰区。项目自己的免责声明写着「仅供学习和技术交流,下载的资源请在 24 小时内删除」。平台接口一变,某个源就可能失效——README 里用 ⚠️ 标了好几处,不是作者偷懒,是这事本来就不稳。

08适合谁,不适合谁

适合:会员分散在好几个平台、经常找冷门歌的人;想批量整理歌单、归档现场版的人;手上有 NAS 或小服务器、想自建曲库的人;整天泡终端、不想再开浏览器的人。

不适合:只用一个平台、听歌全靠推荐流的人;以及指望它把付费墙全拆了的人——做不到,也不该做。

歌你爱听,钱该给创作者还是得给。工具只是让你少切几个 App。

一句话总结:十二个源、四种客户端、一套本地曲库,把「找歌」这件事从五个 App 收进一个搜索框。前提是你接受它拿不到的东西——它拿不到。

项目地址:github.com/guohuiyuan/go-music-dl。在线演示站 music.zkkp.nyc.mn,也可以直接拉 Releases 里的安装包。

如果这篇帮你少切两个 App,点个「在看」。

#开源工具 #音乐下载 #Go #效率工具

回首页,搜索你想要的文档

在首页搜索框输入关键词,快速定位资料

文库首页搜索指引 立即搜索

相关学习资料