跳至主要內容

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資料夾、Podcast、播放佇列、播放清單、分享
JulietiPhone瀏覽、轉碼、播放佇列、播放清單

每個應用程式都是手動執行的,結果是從伺服器讀回來核對的,而不是看應用程式的畫面。最近一次完整測試結束於 2026年10月28日,早於 2.0.0,所以此後新增的功能不一定都在這些應用程式上驗證過。

查看相容性矩陣

WaveFlow DesktopWindows · macOS · Linux

透過原生 API,讓您的多台電腦保持音樂庫和收聽紀錄一致

看得出檔案的真實面貌

多年累積的音樂庫裡,難免有些意外。WaveFlow Server 會檢查檔案本身,再把各個應用程式能承載的音質傳給它們。

音質頁面:無損檔案依據音訊實測,顯示每種判定的數量,以及每首曲目的高頻在哪裡截止
每個無損檔案都經過實測,而不是照單全收
  • 假無損,一眼識破

    每個無損檔案的音訊都會被測量。帶有有損來源痕跡的 FLAC 會被標記為可能是有損檔案,位元被填充的檔案、以及被升頻取樣到更高取樣率的音訊也一樣。

  • 原始檔案,或網路不好時更輕的版本

    可以播放原始檔案,網路吃緊時也可以讓伺服器即時轉成 MP3、Opus 或 AAC。依位元組範圍拖曳進度的應用程式,在轉碼尚未完成時可能無法拖曳,這時請讓它播放原始檔案。

  • 音量均衡

    每首曲目都會把 ReplayGain 資訊交給您的應用程式;對不支援的應用程式,伺服器也可以自己對轉碼後的串流做音量均衡。

您的,只屬於您

放在家裡的伺服器,應該只聽您一個人的。WaveFlow Server 從第一次啟動起就是這樣設計的。

伺服器可能連線的所有地方
  • 您的檔案保持原樣

    掃描和任何標籤編輯都不會更動您的音訊檔案。檔案暫時找不到時,收藏狀態、評分和播放紀錄仍會保留,直到檔案重新出現。

  • 您不開啟,就不會外傳

    保持預設設定時,伺服器不會主動傳送任何東西。歌詞、藝人圖片、傳送聆聽紀錄(scrobble)和檢查更新,都要等您點頭。

  • 家裡每個人都有自己的帳號

    每個帳號只能看到自己所屬的音樂庫。密碼使用 Argon2id 雜湊,登入有防暴力猜測的次數限制,還有一次性權杖,防止陌生人搶先認領一台新伺服器。

  • 一個指令完成備份

    一個指令就能把資料庫和它的金鑰一起複製。在會變更資料庫的升級之前,伺服器也會自己為兩者各留一份副本,除非您把它關掉。藝人圖片、Canvas 和下載的 Podcast 放在資料資料夾裡的其他位置,想一併保留,請備份整個資料夾。

一分鐘就能跑起來

一個容器,一個資料庫檔案,一個金鑰檔案。不需要資料庫伺服器,不需要快取,沒有別的要執行,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 中。

下載壓縮檔