字节笔记本

2026年3月22日

Spotube - 开源跨平台 Spotify 客户端

本文介绍 Spotube,一款跨平台的开源音乐流媒体客户端,通过插件系统支持多种音乐源,让用户在不使用 Spotify Premium 的情况下也能享受高品质的音乐体验。

项目简介

Spotube 是一个开源的跨平台音乐流媒体应用,它的核心理念是让用户在享受 Spotify 曲库和播放列表的同时,通过第三方音频源(如 YouTube、Piped、Invidious 等)来播放音乐,从而绕过 Spotify 的广告限制。这意味着用户无需订阅 Spotify Premium,也能获得无广告的音乐收听体验。

Spotube 不是一个基于 Electron 的应用,而是使用 Flutter 框架构建的原生应用,因此在性能、内存占用和用户体验方面都优于传统的 Electron 方案。项目支持 Windows、macOS、Linux、Android 和 iOS 全平台,并提供丰富的插件生态系统,允许用户自定义音乐源。

该项目采用 BSD-4-Clause 许可证发布,拥有活跃的社区,每 3-4 个月发布一个新版本。对于既想使用 Spotify 的曲库推荐,又不想付费订阅 Premium 的用户来说,Spotube 是一个极具吸引力的替代方案。

核心特性

Spotube 的功能丰富且实用,以下按类别进行详细介绍。

音乐播放

  • 无广告收听:通过第三方音频源播放音乐,不经过 Spotify 的广告系统。
  • 原生性能:基于 Flutter 构建,非 Electron 应用,启动快、内存占用低。
  • 本地播放控制:播放控制完全在本地执行,不依赖服务器端控制。
  • 时间同步歌词:无论插件是否支持,都提供时间同步的歌词显示。
  • 后台播放:支持后台播放和锁屏控制。
  • 跨设备同步:支持与 Spotify 账户同步播放列表、收藏和推荐内容。

插件系统

  • 插件驱动架构:通过插件支持各种音乐平台和自定义音乐源。
  • 社区插件:社区已为流行平台提供了现成的插件。
  • 自定义插件:用户可以创建自己的插件来接入任何音乐服务。
  • 可扩展性:插件系统设计灵活,支持接入新的音乐元数据、播放列表和音频源。

隐私与安全

  • 零遥测:不收集任何用户数据、遥测信息或诊断信息。
  • 无用户追踪:完全不追踪用户行为。
  • 隐私友好:使用 Piped、Invidious 等注重隐私的前端作为音频源。

下载与管理

  • 免费下载:支持自由下载曲目,下载的音乐文件自带完整的元数据标签。
  • 离线收听:下载的音乐可以离线播放。
  • 元数据标签:下载的音频文件自动嵌入艺术家、专辑、封面等元数据信息。

平台支持

  • 全平台覆盖:支持 Windows、macOS、Linux、Android 和 iOS。
  • 轻量体积:安装包体积小,资源占用少。
  • 原生体验:各平台均提供原生的 UI 体验,非网页套壳。
  • 系统托盘:桌面端支持系统托盘图标和快捷操作。
  • Discord RPC:桌面端支持在 Discord 中显示当前播放状态。

其他功能

  • SponsorBlock 集成:自动跳过 YouTube 音乐中的赞助片段。
  • LastFM 集成:支持将播放记录同步到 LastFM。
  • ListenBrainz 集成:支持将播放记录提交到 ListenBrainz。
  • 主页小组件:Android 和 iOS 支持桌面小组件显示当前播放。
  • 窗口小工具:桌面端支持可拖拽的迷你播放器。

技术栈

Spotube 的技术架构现代且高效,主要由以下技术构成:

  • 框架:使用 Flutter 构建,实现真正的跨平台原生应用。
  • 编程语言:Dart。
  • 音频播放:集成 MPV 播放器作为音频后端,media_kit 提供跨平台音频播放能力。
  • 数据库:使用 SQLite(通过 drift 库)进行本地数据存储。
  • 网络请求:使用 Dio HTTP 客户端进行网络通信。
  • 状态管理:使用 Riverpod 进行响应式状态管理。
  • 路由:使用 AutoRoute 进行声明式路由管理。
  • YouTube 数据提取:使用 YouTubeExplodeDart 和 NewPipeExtractor 从 YouTube 获取音频数据。
  • 音频下载:集成 yt-dlp 和 Piped/Invidious 作为音频源。
  • 歌词服务:使用 LRCLib 提供时间同步歌词。
  • 音乐元数据:集成 MusicBrainz 获取音乐元数据信息。
  • UI 组件:使用 Shadcn Flutter 组件库,Fluent UI 图标和 Feather 图标。
  • 构建工具:各平台均有对应的原生构建工具链。

整个项目架构清晰,模块化程度高,插件系统设计灵活,便于社区贡献和功能扩展。

安装指南

Spotube 提供了丰富的安装方式,覆盖所有主流平台。

Windows

  • 直接下载:从 GitHub Releases 页面下载安装包
  • Chocolateychoco install spotube
  • Scoopscoop bucket add extras && scoop install spotube
  • WinGetwinget install --id KRTirtho.Spotube

macOS

  • 直接下载:从 GitHub Releases 页面下载 DMG 文件
  • Homebrew
    bash
    brew tap krtirtho/apps
    brew install --cask spotube

Linux

  • Flatpak(推荐)
    bash
    flatpak install com.github.KRTirtho.Spotube
  • Debian/Ubuntu:下载 .deb 文件后运行 sudo apt install ./Spotube-linux-x86_64.deb
  • Arch/Manjaro
    bash
    # 使用 pamac
    sudo pamac install spotube-bin
    # 或使用 yay
    yay -Sy spotube-bin
  • Fedorasudo dnf install ./Spotube-linux-x86_64.rpm
  • OpenSUSEsudo zypper in ./Spotube-linux-x86_64.rpm
  • Tarball:下载通用压缩包解压即可运行

Android

  • APK 直接下载:从 GitHub Releases 页面下载
  • F-Droid:从 F-Droid 应用商店下载

iOS

  • IPA 文件:下载 IPA 文件后,需要使用 AltStore 或类似工具进行侧载安装

快速开始

步骤一:安装应用

根据你的操作系统选择合适的安装方式,安装 Spotube 应用。

步骤二:登录 Spotify 账户

首次打开 Spotube 时,需要使用你的 Spotify 账户登录。Spotube 使用 Spotify 的 OAuth 认证,只获取你的播放列表和偏好信息,不会获取付费信息。你可以使用免费的 Spotify 账户。

步骤三:选择音频源

在设置中选择音频源插件。默认提供多种选项:

  • Piped:注重隐私的 YouTube 前端
  • Invidious:开源的 YouTube 前端
  • YouTube:直接从 YouTube 获取音频
  • JioSaavn:印度音乐流媒体平台(通过社区插件)

步骤四:开始收听

登录并配置完成后,你可以:

  • 浏览 Spotify 的推荐内容
  • 访问你的播放列表和收藏
  • 搜索歌曲、专辑和艺术家
  • 下载喜欢的歌曲到本地

步骤五:自定义设置

根据个人偏好进行设置:

  • 选择音频质量
  • 配置歌词显示
  • 启用 LastFM 或 ListenBrainz 同步
  • 安装额外的插件

使用示例

场景一:无广告的 Spotify 体验

你有一个免费的 Spotify 账户,但厌倦了每次听歌时都会被广告打断。安装 Spotube 后,使用你的免费 Spotify 账户登录,选择 YouTube 作为音频源。现在你可以享受完整的 Spotify 曲库和推荐算法,同时通过 YouTube 播放音频,彻底告别广告。

场景二:离线音乐库

通勤路上没有稳定的网络连接?在 Wi-Fi 环境下,使用 Spotube 将喜欢的歌曲和播放列表下载到本地。下载的音乐文件带有完整的元数据标签,即使在没有网络的情况下也能畅享音乐。你甚至可以将下载的文件导入到其他音乐播放器中使用。

场景三:隐私优先的音乐收听

你注重隐私,不想让 Spotify 跟踪你的每一次播放。Spotube 本身不收集任何遥测数据,配合 Piped 或 Invidious 作为音频源,你的音乐收听活动不会被记录在任何第三方服务器上。同时,LastFM 和 ListenBrainz 的同步是可选的,完全由你自己控制。

场景四:多平台音乐同步

在办公室的电脑上创建了一个新播放列表,回家后打开手机上的 Spotube,播放列表已经自动同步。在地铁上用手机下载了几首新歌,回到家用电脑收听时,这些歌曲也在那里。Spotube 与 Spotify 的同步功能确保你的音乐体验在各设备间无缝衔接。

项目链接

分享: