跳至主要内容

WaveFlow Server

稳定版v2.2.1

无论在哪里听,都是你的音乐。

你的文件。你的服务器。任何播放器。

告诉 WaveFlow Server 你的音乐放在哪些文件夹,它会建好曲库,让你在浏览器、手机或 WaveFlow 播放器中播放,在家或在外都可以;网络不好时,还会自动降低音质。

Docker · Windows · macOS · Linux · Raspberry Pi 4 和 5

WaveFlow Server 的网页播放器:左侧是导航,上方是根据你的收听记录生成的混合歌单,下面是专辑网格
网页播放器。封面来自维护者自己的音乐库,仅作示意。

它能做什么

  1. 在浏览器里就能听的播放器

    无需安装应用:打开服务器的地址,在电脑或手机上就能收听。通过 HTTPS 访问时,还可以保存曲目,没有网络时也能听。

  2. 和你已在用的应用配合使用

    支持 Subsonic 的音乐应用可以直接连接,WaveFlow 播放器则让你的多台电脑保持音乐库和收听记录一致。

  3. 看得出文件的真实面目

    每个无损文件都会被实测,所以带有有损来源痕迹的 FLAC 会被标记为可能是有损文件。

  4. 不会悄悄变样

    重新扫描音乐库时,专辑和艺术家的身份保持不变,所以你的应用里保存的链接依然有效。

  5. 一分钟就能跑起来

    一个程序,一个数据库文件。可以在自己的电脑上启动,也可以用 Docker 让它在家里的服务器上一直运行。

  6. 你的,只属于你

    你的音乐文件绝不会被改动。你不开启,服务器就不会向外发送任何东西,家里每个人都可以有自己的账号。

目前进展

自 2.0 起为稳定版。最新版本是 2.2.1,新版本还会陆续发布;你允许检查更新后,服务器可以在新版本发布时通知你。

  • Docker 稳定版

    一个镜像同时支持 amd64 和 arm64:服务器、NAS 或 Raspberry Pi 4、5 都能用。

  • Windows · macOS · Linux 稳定版

    解压后即可在自己的电脑上启动的压缩包:已包含 FFmpeg,无需安装。

网页播放器

在浏览器里就能听的播放器

无需安装应用:在电脑或手机上打开服务器的地址即可。可以浏览专辑、艺术家、文件夹和流派,边输入边搜索,查看播放队列,使用可全屏显示的同步歌词,还有根据你实际播放的歌曲生成的混合歌单。

离线
保存你选的曲目,没有网络也能播放。仅限这个浏览器,仅限你的账号。按浏览器的规定,只有通过 HTTPS 访问,或在运行服务器的那台电脑上才能使用。
可安装
像应用一样添加到手机,支持锁屏控制、媒体键和键盘快捷键。
14 种主题
浅色和深色,适合不同的房间和时间。
9 种语言
英语、法语、德语、西班牙语、意大利语、日语、韩语,以及简体中文和繁体中文。
网页播放器的正在播放界面:大尺寸专辑封面,下方是歌名和艺术家,再往下是这路音频流的音质
正在播放,并显示实际传输的音质

和你已有的应用配合使用

WaveFlow Server 支持 Subsonic 和 OpenSubsonic,这是许多音乐应用已经熟悉的开放协议。在应用里填入服务器地址、用户名和应用密码即可:不需要插件,也不用再装别的东西。

协议
Subsonic · OpenSubsonic
地址
/rest/*大多数应用会自动补全,只要填入你的服务器地址。
密码
应用使用专属的密码,与你在浏览器里用的密码分开保管。
已在 WaveFlow Server 上运行过的应用,以及各自的表现
应用实际观察到的表现
SymfoniumAndroid浏览、Opus、MP3 和 FLAC 可拖动进度、收藏、评分、书签、歌词
FeishinWindows浏览、文件夹、同步歌词、电台、播放列表
DSubAndroid文件夹、播客、播放队列、播放列表、分享
JulietiPhone浏览、转码、播放队列、播放列表

每个应用都是手动运行的,结果是从服务器读回来核对的,而不是看应用的界面。最近一次完整测试结束于 2026年10月28日,早于 2.0.0,所以此后新增的功能不一定都在这些应用上验证过。

查看兼容性矩阵

WaveFlow DesktopWindows · macOS · Linux

通过原生 API,让你的多台电脑保持音乐库和收听记录一致

看得出文件的真实面目

多年积累的音乐库里,难免有些意外。WaveFlow Server 会检查文件本身,再把各个应用能承载的音质发给它们。

音质页面:无损文件根据音频实测,显示每种判定的数量,以及每首曲目的高频在哪里截止
每个无损文件都经过实测,而不是照单全收
  • 假无损,一眼识破

    每个无损文件的音频都会被测量。带有有损来源痕迹的 FLAC 会被标记为可能是有损文件,通过补零增加位深的文件、以及被升采样到更高采样率的音频也一样。

  • 原始文件,或网络不好时更轻的版本

    可以播放原始文件,网络吃紧时也可以让服务器实时转成 MP3、Opus 或 AAC。按字节范围拖动进度的应用,在转码尚未完成时可能无法拖动,这时请让它播放原始文件。

  • 音量均衡

    每首曲目都会把 ReplayGain 信息交给你的应用;对不支持的应用,服务器也可以自己对转码后的音频流做音量均衡。

你的,只属于你

放在家里的服务器,应该只听你一个人的。WaveFlow Server 从第一次启动起就是这样设计的。

服务器可能联系的所有地方
  • 你的文件保持原样

    扫描和任何标签编辑都不会改动你的音频文件。文件丢失后,它的收藏、评分和播放记录会一直保留,直到文件回来。

  • 你不开启,就不会外传

    保持默认设置时,服务器不会主动发送任何东西。歌词、艺术家图片、提交听歌记录(scrobble)和检查更新,都要等你点头。

  • 家里每个人都有自己的账号

    每个账号只能看到自己所属的音乐库。密码使用 Argon2id 哈希,登录有防暴力猜测的次数限制,还有一次性令牌,防止陌生人抢先认领一台新服务器。

  • 一条命令完成备份

    一条命令就能把数据库和它的密钥一起复制。在会改动数据库的升级之前,服务器也会自己为两者各留一份副本,除非你把它关掉。艺术家图片、Canvas 和下载的播客放在数据文件夹里的其他位置,想一并保留,请备份整个文件夹。

一分钟就能跑起来

一个容器,一个数据库文件,一个密钥文件。不需要数据库服务器,不需要缓存,没有别的要运行,FFmpeg 也已经内置。

  1. 保存为 compose.yaml

    把 /path/to/music 换成你存放音乐的文件夹。服务器只会读取它。

    compose.yaml
    services:
      waveflow:
        image: ghcr.io/instazdll/waveflow-server:2.2.1
        restart: unless-stopped
        ports:
          - "4533:4533"
        environment:
          WAVEFLOW_DATA_DIR: /data
          WAVEFLOW_BIND: 0.0.0.0:4533
        volumes:
          - waveflow-data:/data
          - /path/to/music:/music:ro
    
    volumes:
      waveflow-data:
    
  2. 启动

    Docker 会拉取镜像,并在后台启动服务器。

    Terminal
    docker compose up -d
  3. 创建你的账号

    打开 http://your-host:4533。设置界面会创建管理员账号,并要求输入一个一次性令牌,服务器已经替你记下来了:

    Terminal
    docker compose exec waveflow cat /data/setup-token
  4. 添加你的音乐

    填入刚创建的账号名称(这里是 admin)。首次扫描会自动开始。

    Terminal
    docker compose exec waveflow \
      waveflow-server library add --owner admin --name Music --path /music

镜像

ghcr.io/instazdll/waveflow-server

提供 amd64 和 arm64 版本,所以可以在装有 64 位系统的 Raspberry Pi 4 或 5 上运行。每个发布版本都带有版本号标签,latest 指向最新的稳定版,同一个镜像也在 Docker Hub 上。

  • linux/amd64
  • linux/arm64

在外面收听

服务器使用明文 HTTP,适合你信任的网络。想随时随地收听,就把它放在 HTTPS 后面:代码仓库里有现成的 Caddy 配置,证书由 Caddy 自己获取和续期。

Caddy 配置

不用 Docker

每个发布版本还提供一个压缩包,解压后就能在你自己的电脑上启动:无需安装,已包含 FFmpeg,网页播放器会自动打开。首次启动时 Windows 和 macOS 会弹出警告,里面的 README.txt 会告诉你该点哪里。

  • Windows · x86_64.zip
  • macOS · Apple silicon.zip
  • macOS · Intel.zip
  • Linux · x86_64.tar.gz
  • Linux · arm64.tar.gz

它们的校验和在同一发布版本的 SHA256SUMS 中。

下载压缩包