Songloft 是一款开源的自托管个人音乐服务器项目,基于 Flutter 技术构建,支持 iOS、Android、macOS、Windows、Linux、Web 六大平台。它让用户将音乐文件存储在自有服务器上,通过配套客户端随时随地访问和播放,摆脱流媒体平台的订阅费用、版权限制与隐私顾虑,打造完全掌控的私人音乐云。

🎯 核心功能
全平台兼容: 基于 Flutter 构建,一套代码覆盖手机、平板、TV、桌面与浏览器,响应式布局按设备自适应导航
音乐播放与歌单: 基于 just_audio 支持本地与流媒体播放,后台续播;可自由创建、编辑歌单与歌曲元数据
深度 TV 适配: 针对 Android TV 优化 D-Pad 焦点导航,按钮字体放大,适合大屏遥控操作
插件化扩展: 支持 JS 插件扩展,可添加歌词获取、音乐信息刮削、高级搜索等自定义能力
安全认证: 采用 JWT 双 Token 机制保障客户端与服务器通信安全,并支持自动降级处理
🔒
数据完全自主
所有音乐、账号、播放记录只存在你的设备上,Apache-2.0 开源,无遥测无广告
⚡
极致轻量
Go 编写,单文件部署,无 C 依赖,10MB 内存即可运行,NAS / 树莓派 / 迷你主机皆宜
📱
全平台覆盖
Flutter 客户端一套代码跑 Android、iOS、macOS、Windows、Linux、Web;Bundle 版内嵌后端,无需服务器即可本地播放
🧩
沙箱插件体系
QuickJS 隔离运行,按需扩展音源 / 元数据 / 设备控制,权限模型 + 热更新 + 健康检查
🎵
主流格式全支持
MP3 / FLAC / WAV / APE / OGG / M4A 自动识别,封面、歌词、元数据一键提取
🔁
自动扫描 & 变更同步
实时监测音乐目录变更,新增 / 修改 / 删除自动同步,支持定时扫描与手动触发
🚀
一键部署 & 升级
Docker / 二进制 / Bundle 三种方式灵活部署,容器内支持在线热升级,无需重建
🎨
沉浸式播放体验
从专辑封面实时提取配色,每首歌拥有独特视觉氛围,支持后台播放与媒体控制
🔌
完整 REST API
内置 Swagger 文档,所有功能均可通过 API 调用,方便集成与二次开发
🔑
安全认证
JWT 双 Token 机制,支持多设备同时在线,Token 自动刷新无感续期
📡
网络电台
在本地音乐之外,支持添加网络电台流,统一播放界面一站式管理
🌐
Web 界面开箱即用
完整版内置响应式 Web 前端,打开浏览器即可播放,无需安装客户端
官方网站:https://songloft.hanxi.cc/
GitHub地址:https://github.com/songloft-org/songloft


评论0+