侧边栏壁纸
博主头像
天寅阁 博主等级

忽有故人心头过,回首山河已是秋。

  • 累计撰写 23 篇文章
  • 累计创建 6 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

Go Music DL:NAS 上全网搜歌下载,一首不漏

Administrator
2026-09-20 / 0 评论 / 0 点赞 / 0 阅读 / 0 字
温馨提示:
本文最后更新于2026-09-20,若内容或图片失效,请留言反馈。 部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

自建了 NAS,装上了 Koel、Jellyfin 这类播放器,最尴尬的一刻是什么?是库建得漂漂亮亮,打开播放器却翻不出几首歌。很多人把 NAS 弄成私人音乐库,最后卡住的不是播放,而是「歌从哪来」。今天要说的是 Go Music DL(go-music-dl)——一个把「全网搜歌 + 下载」做成一件事的开源工具,专门解决这个「有库没歌」的问题。

  它是 NAS 上走出音乐闭环的那一块拼图:前端你用自家音乐库(Koel、Jellyfin 都能接)负责播放,后端它负责把歌找回来、下载进库。它不是一个播放器,而是给音乐库输送歌曲的「进歌通道」。这一次搜索,不是在一个 App 里搜,而是把网易云、QQ、酷狗、酷我、咪咕、汽水、Bilibili 等主流平台聚合在一起查,找到更好的音源就自动换。

   认识 Go Music DL,一个 Go 写就的「全网音乐聚合搜索器」

  Go Music DL 是 GitHub 上一个 Go 语言写的开源项目(guohuiyuan/go-music-dl),到 2026-09-05 已经有约四千多 star(4.1k★),镜像在 Docker Hub 上累计拉取超过 21 万次,支持 AMD64 和 ARM64 两种架构——也就是说绝大多数 NAS 都能直接部署,不挑平台。

  它有三种使用形态:Web 界面(挂在 /music 子路径,浏览器打开就用)、TUI 终端界面(适合在 SSH 里批量操作)、还有免安装的桌面应用。对整个自托管生态最有价值的,是它接口面向「聚合」:一次搜索,把 12 大平台的单曲结果一起拉回来比对,支持 FLAC 无损下载(网易云、QQ、Bilibili),支持歌单、专辑、每日推荐的解析与分类浏览。

  这里要说明白一点:它支持「过滤需要付费的资源」,也有直连音源下载的能力。这类工具的边界,文章后面会专门强调——你在自家 NAS 上部署它给自己用、把自购或自己制作的内容搬进私人音乐库是正当场景,但别用来绕开平台付费墙、别把受版权保护的内容整首二次分发。这是工具本身的边界,也是我们用它的分寸。

   一份 docker-compose 把它跑起来

  Go Music DL 官方就提供了 docker-compose 文件,我们按「通用 NAS」的口径梳理一份能直接用的版本。这份 compose 适用于群晖、威联通、绿联、极空间、飞牛(UGOS/DSM/fnOS 均可)以及所有支持 Docker 的自组 NAS——只要你按自己 NAS 的路径网关调整挂载目录即可,不绑定某个特定系统。

  创建好部署目录,比如叫 go-music-dl,在里面放一个 data 数据目录:

mkdir -p go-music-dl/data && cd go-music-dl
chmod 777 data

  先把这支 data 目录权限搞定,是最关键的一步,原因放在「排坑」一节说。这份 compose(docker-compose.yml):

services:
  music-dl:
    image: guohuiyuan/go-music-dl:latest
    container_name: music-dl
    restart: unless-stopped
    ports:
      - "18082:8080"
    volumes:
      - ./data:/home/appuser/data
    environment:
      - TZ=Asia/Shanghai
    command: ["./music-dl", "web", "--port", "8080", "--no-browser"]

  端口这里解释一句:默认 Go Music DL 在容器里监听 8080,宿主端口如果被占用,就像我们这里把它映射到 18082(8080 在宿主机上已经被别的服务占了)。访问入口就是你 NAS 的 IP 加 18082。./data 是挂在宿主机上负责持久化的目录,下载的音乐、设置、收藏都写在这里。

  启动:

docker compose up -d --remove-orphans

  起来之后,在浏览器打开 http://你的NAS的IP:18082/music/ ,就能看到它托管的 Web 界面。第一次进去会要求建管理员账号,获取那一串注册用的初始化令牌,是接下来这节要讲的重点。

640-cCfw


   去日志里拿 token,5 分钟建好管理员

  Go Music DL 的 Web 默认不要求登录就能搜索、试听、下载,但要进「设置」管理下载目录、配置平台、扫码登录,就需要管理员账号。它采用的是「一次性令牌 + 建号」的方式,安全且不涉及全局默认密码。

  首次触发系统配置时,如果还没建管理员,日志里会打印一串一次性初始化令牌(Web setup token)。你可以这样看容器的日志:

docker compose logs -f music-dl

  在输出里找到类似 Web setup token: XXXX... 的一行,复制下来(它只打印这一次)。然后访问初始化页:

http://你的NAS的IP:18082/music/setup

  填入那串令牌,设置一个用户名和至少 6 位的密码,管理员就建好了。之后从右上角登录,就能进设置面板,把「本地下载目录」指到你想让歌曲落盘的位置——比如你 Koel 或 Jellyfin 音乐库扫的那个目录,下载完的歌直接进库

图片

载的按钮。

  我们实际的搜索结果是这样的:搜「周杰伦」,一次返回 39 条真实的多源结果,覆盖多个平台,每一条都能点击试听,音源失效的曲目还能一键「换源」——它按歌名歌手相似度、时长接近、可播放验证三步,在其它平台里找最像的版本替换,失效链接自动回归可用。

  这一步你不会再遇到「这个 App 没有、那个 App 收费」的来回切换。它在搜索这一层就把跨平台比对做完了,你要做的只是选中、

图片

类也能按

图片

ili 支持 FLAC 无损(酷狗普通歌曲也支持),想存高音质的直接选。二是文件名模板:设置里支持 {name}(歌名)、{artist}(歌手)、{album}(专辑)等占位符,还能用斜杠创建子目录,把下载落盘整理成「歌手 / 专辑 / 歌名」这种规整结构——正好是音乐库刮削喜欢的样子。

  它还带一个「本地音乐」页,会把下载目录扫描成一个可搜索的本地歌单,自动读取内嵌的封面与歌词,几千首歌也能秒开。我在说是怎么用之前,先举个实例:放一段自制的 WAV(nas_test_tone)进去,本地音乐页能把它扫出来并建立索引,用这段自己做的、不涉及版权的音源举个例子,就能说明本地音乐管理怎么读目录。

640-ZRLb
640-rhsA
640-CLUu


  下载目录映射到位、文件名模板设对之后,整个链路就通了:搜索 → 选歌 → 下载落盘 → 你的音乐库扫描到新歌 → 播放器拉起来就能听。前面那篇 Koel 教程补上了「播放」,这篇把「歌从哪来」填上,Koel 就不再是个「有库没歌」的空房子了。想看 Koel 怎么搭的,回头看这篇:三分钟在NAS上部署Koel,把NAS变成高颜值私人音乐库!

   最容易翻车的三个地方

  把最容易踩的坑提前说清楚,你能少走很多弯路。

  第

图片

 第二,端口接不住。容器固定监听 8080,宿主端口如果被占,要用 18082:8080 这种改宿主侧映射,而不是去改容器内监听口(容器内端口改了 command 也要同步改)。我们这次就是宿主 8080 已被占用,映射到 18082 就正常了。IP 绑定、防火墙放行这些,按你自己 NAS 的净值调。

  第三,初始化令牌只出现一次。很多人在日志里找不到 token 就卡住了,是因为没建管理员之前根本没触发配置流程,或者日志滚屏把那一行冲掉了。可以直接到日志里搜 Web setup token,或用 -f 跟着看启动全程。

   边界,清楚这个工具能做什么、不该做什么

  任何下载类工具,把边界写清楚都是负责的表现。

  合规上,Go Music DL 是 AGPL-3.0 开源协议,部署自用没有问题;项目自身的免责声明是「仅供学习和技术交流使用,下载的音乐资源请在 24 小时内删除」。文章同样的尺度要守:例子用自制或公开无版权素材,截图里不出现破解付费墙、不公开平台 Cookie;你自己用,记得它们只该落在私有音乐库,别整首二次分发受版权保护的内容。

  功能边界上也要说透:一,宿主上没有多用户权限模型,本质是单机单账号,别把它直接暴露到公网——挂在内网、走反向代理或 Tailscale(你本号之前讲过的内网穿透思路)自用就好,裸露公网等于让别人操作你的下载器。二,部分平台的「无损」是相对意义上的,个别音源未必真到母带级。三,平台接口随时可能变,失效了属于正常现象,靠它内置的换源兜底。四,汽水音乐的扫码登录目前还没调通(需要手动配置 Cookie),这一点现状就是如此。

   让「私人音乐库」真正闭环

  回到开头那个问题:音乐库最缺的不是播放器,是歌。Go Music DL 干的就是这件事——一个 Go 写就、四千多 star、两大平台架构都支持的全网音乐聚合器,用 5 分钟 compose 部署好,把「全网搜歌 + 自动换源 + 下载进库」补到你的 NAS 影音主线上。

  它的价值不是让你多装一个工具,而是把 Koel 那个「有库没歌」的尴尬填上:下载目录指到音乐库,文件名模板设成规整结构,歌下载完自动进库,打开播放器就有东西可放。既不用在几个 App 之间来回找歌源,也不用面对一个堆满乱文件、毫无整理的音乐夹。

  自然,它同样有边界:单机没多用户、接口会失效、汽水扫码未调通、部分「无损」其实到不了真无损。放在内网自用、守住版权尺度,它就是让全家音乐库「歌从哪来」有答案的那一块拼图。

  如果你在 NAS 上搭了音乐库、正发愁没有歌源,这篇就是给你的。看完觉得「下载进库」这条路对你有用,辛苦在看、分享、顺手关注——这就是我写下去最大的动力。

0
  1. 支付宝打赏

    qrcode alipay
  2. 微信打赏

    qrcode weixin
  3. QQ打赏

    qrcode qq

评论区