Spotube:免费开源的跨平台音乐播放器
Spotube 在 GitHub 上已经拿到 47,160 Star 了。
一个基于 Flutter 开发的跨平台音乐流媒体客户端,支持插件扩展。不用付费订阅,不依赖 Electron,原生性能运行在 Windows、macOS、Linux、Android、iOS 上。
1、 这是什么
Spotube 是一个音乐播放器,但思路和 Spotify 客户端不一样。它不绑定单一平台,而是通过插件机制接入各种音乐源。你可以用社区开发的插件连 YouTube、Piped、Invidious 等平台,也可以自己写插件接入其他服务。
播放控制在本地完成,不在服务器端。音频数据直接从源站拉取,中间不做额外收集。

2、 核心功能
插件系统是它的骨架。音乐元数据、播放列表、音频源全部通过插件提供,官方维护核心框架,社区贡献具体实现。
歌词同步是内置的,不依赖插件支持。播放时自动从 LRCLib 拉取时间轴对齐的歌词,中文歌也能用。
下载功能直接可用。选中曲目就能下载到本地,自动写入 ID3 标签、封面图这些元数据。
体量化做得比较克制。整个安装包比 Electron 方案小很多,内存占用也低。官方数据是启动速度快,后台播放时电量消耗少。
没有遥测模块。不收集播放记录、不上传设备信息、不追踪用户行为。
3、 安装方式
各平台都有对应包:
| 平台 | 安装方式 |
|---|---|
| Windows | 安装包 / Chocolatey / Scoop / WinGet |
| macOS | DMG / Homebrew |
| Android | APK / F-Droid |
| iOS | IPA(需侧载) |
| Linux | Flatpak / deb / rpm / AUR |
Flatpak 安装:
flatpak install com.github.KRTirtho.Spotube
Homebrew 安装:
brew tap krtirtho/apps
brew install --cask spotube
Nightly 版本在 GitHub Releases 页面可以找到,适合想尝鲜的人。

4、 技术栈
底层用 Flutter 构建,一套代码跑全平台。音频播放走 media_kit,数据库用 drift(SQLite 封装),网络请求用 dio,状态管理用 Riverpod。
歌词来自 LRCLib,元数据从 MusicBrainz 和 Last.fm 拉取。YouTube 相关功能通过 yt-dlp 和 NewPipeExtractor 实现,不直接调用 YouTube 官方 API。
插件脚本引擎是 Hetu,一种轻量级 Dart 方案,支持热更新。
5、 适合谁
不想付 Spotify 或 Apple Music 月费,但又想在多设备上听歌的人。
用 Linux 桌面、找不到好用的原生音乐客户端的开发者。
在意隐私、不想让播放数据被收集的用户。
想自己动手写插件、接入小众音乐平台的技术爱好者。
Spotube 是 BSD-4-Clause 协议开源,代码完全开放,可以自由修改和分发。
想自己动手写插件、接入小众音乐平台的技术爱好者。
Spotube 是 BSD-4-Clause 协议开源,代码完全开放,可以自由修改和分发。
269

被折叠的 条评论
为什么被折叠?



