私有 · 开源 · 自托管

你的音乐,自己掌控

一个零依赖、可私有部署的开源音乐平台。Web 端即开即用,Android App 无缝衔接, 支持无损音质无缝升档、在线封面与歌词、车机蓝牙歌词与睡眠定时—— 本地曲库与落雪在线音源双通道,所有数据完全自持。

  • v1.10.21Web 服务端
  • v1.9.31Android App
  • 0第三方依赖
  • 100%数据自持
核心特性

为「认真听歌」而生

从音质到隐私,每一项都围绕自托管场景打磨。

无缝音质升档(ABR)

双播放器预载接力,听感无中断地自动从低码率升级到更高音质,切歌过渡不卡顿、不重播。

在线封面与歌词

多源自动匹配专辑封面与 LRC 歌词,服务端代理缓存,车机蓝牙也能滚动显示当前歌词。

车机蓝牙歌词

通过 MediaSession 把整篇歌词写入车载蓝牙,息屏也能随进度自滚动,原厂车机免设置。

歌单广场与热榜

聚合多平台热榜与官方歌单,五平台封面 100% 命中,一键收藏即可播放。

睡眠定时关闭

播放页菜单设定 15/30/45/60/90 分钟或自定义时长,到点自动暂停,伴你入睡。

数据完全自持

JSON 文件存储 + 音频落盘,无外部数据库、无云同步,备份与迁移只需复制文件夹。

Web 版

浏览器即播放器

零依赖的 Node 原生 HTTP 服务,配原生 JavaScript 前端。一条命令启动,手机、平板、电脑共用同一套曲库与歌单。深色 / 明亮主题自动跟随系统。

  • 原生 JS 前端,无需打包构建
  • 歌单分级共享 + 播放记录续播
  • 内置后台管理(admin.html)
  • JSON 存储,端口 5177,Node ≥ 16
查看部署命令
你的域名 / 播放器
音乐播放器 Web 端主界面:左侧歌单与歌曲列表,底部为播放控制条与歌词
专辑封面显示
Web 端正在播放界面,展示专辑封面与歌词高亮
音乐播放器 Android App 播放页:专辑封面、歌词与播放控制
App 歌单页:我的歌单、热榜与官方歌单
App 播放页暗色主题
Android App

装在口袋里的曲库

Flutter 构建的官方客户端(包名 com.hnxgf.music_player_android),对接你的自建服务端,登录同一账号即可同步歌单、歌词与播放进度。

  1. 在播放器顶栏「App 下载」或 /app 页面获取安装包(arm64 / arm32)。
  2. 安装后打开,首次进入填写「自建服务端地址」:http://服务器IP:5177。
  3. 用 Web 端同一账号登录,自动同步歌单、歌词与播放进度。
  4. 播放页菜单可切换音质(手动 / 自动升档 ABR)、设定睡眠定时关闭。
  5. 连接车载蓝牙后,歌词经 MediaSession 推送,随进度在车机滚动显示。

当前提供 arm64 / arm32 安装包;下载页随镜像版本同步更新。

音源查找

本地曲库 + 落雪在线音源

两通道找歌:本地音频自动识别入库,在线音乐由落雪音源脚本解析直链。

本地曲库

进入「音乐库」,上传本地音频后自动识别歌手、歌名与专辑,归入对应歌手 / 专辑分组,封面与歌词多源自动匹配。

在线音乐(落雪音源)

管理员先在 后台管理 → 在线音源 导入落雪音源脚本(社区音源,如 lx-music-source),导入后即可在播放器搜索在线音乐。

查找与导入步骤

  1. 导入音源:后台管理 → 在线音源,粘贴落雪音源脚本并启用(仅管理员可操作)。
  2. 搜索:播放器顶部搜索框输入歌曲 / 歌手 / 专辑关键词,或切换来源标签。
  3. 导入歌单:粘贴 QQ音乐 / 网易云 / 酷我 / 酷狗 / 咪咕 的歌单分享链接,一键解析为本地歌单。
  4. 下载播放:在线结果可直接下载到本地曲库,或边播边缓存。
后台 → 在线音源
后台管理在线音源页:导入并管理落雪音源脚本
搜索弹层 · 来源标签
播放器搜索弹层:来源标签与歌单链接导入入口
搜索在线音乐与下载
播放器搜索在线音乐并下载到本地曲库
Docker 部署

几分钟拥有自己的音乐服务器

拉起音乐播放器服务本身(非本官网)。数据通过挂载卷持久化,升级只需重新拉取镜像。

方式一:一条命令直接运行

docker run -d \
  --name music-player \
  --restart unless-stopped \
  -p 5177:5177 \
  -v /path/to/data:/app/data \
  -v /path/to/uploads:/app/uploads \
  hnxgf/music-player:latest

方式二:使用 docker-compose.yml

services:
  music-player:
    image: hnxgf/music-player:latest
    container_name: music-player
    ports:
      - "5177:5177"
    volumes:
      - ./data:/app/data
      - ./uploads:/app/uploads
    restart: unless-stopped

方式三:VPS 上用 Nginx 反代并申请 HTTPS

server {
  listen 80;
  server_name your-domain.com;
  client_max_body_size 512m;   # 上传音频需要调大

  location / {
    proxy_pass http://127.0.0.1:5177;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
  }
}
# 反代后执行:certbot --nginx -d your-domain.com

启动后访问 http://服务器IP:5177/,后台管理为 /admin.html;NAS 用户直接在容器内升级镜像即可。

几分钟,拥有属于自己的音乐服务器

零依赖、可私有部署,数据永不离开你的硬盘。