A lightweight free Spotify desktop-client built using flutter
Spotube is a Flutter based lightweight spotify client. It utilizes the power of Spotify & Youtube’s public API & creates a hazardless, performant & resource friendly User Experience
Features
Following are the features that currently spotube offers:
- Open Source
- No telementry, diagnostics or user data collection
- Lightweight & resource friendly
- Native performance (Thanks to Flutter+Skia)
- Playback control is on user’s machine instead of server based
- Small size & less data hungry
- No spotify or youtube ads since it uses all public & free APIs (But it’s recommended to support the creators by watching/liking/subscribing to the artists youtube channel or add as favourite track in spotify. Mostly buying spotify premium is the best way to support their valuable creations)
- Lyrics
- Downloadable track (WIP)
Installation
I’m always releasing newer versions of binary of the software each 2-3 month with minor changes & each 6-8 month with major changes. Grab the binaries
All the binaries are located in the releases, just download
Windows
Download the setup file & follow along the installer
Linux
Ubuntu/Debian/Linux Mint/Pop_!OS:
Download the Spotube-linux-x86_64.deb then double click it or run
$ sudo apt install Spotube-linux-x86_64.deb
# or
$ sudo dpkg -i Spotube-linux-x86_64.deb
in the directory where it was downloaded
Arch/Manjaro/Endeavour:
Run following terminal
# for `yay` users
$ yay -S spotube
# for `pamac` users
$ pamac install spotube
Others:
Download the Spotube-linux-x86_64.AppImage file & double click to run it. AppImages require appimage-launcher to be installed
I’ll/try to upload the package binaries to linux debian/arch/ubuntu/snap/flatpack/redhat/chocolatey stores or software centers or repositories
Configuration
There are some configurations that needs to be done to start using this software
You need a spotify account & a developer app for
- clientId
- clientSecret
Grab credentials:
-
Go to https://developer.spotify.com/dashboard/login & login with your spotify account (Skip if you’re logged in)
-
Give the app a name & description. Then Edit settings & add http://localhost:4304/auth/spotify/callback as Redirect URI for the app. Its important for authenticating
-
Click on SHOW CLIENT SECRET to reveal the clientSecret. Then copy the clientID, clientSecret & paste in the Spotube’s respective fields
Also, you need a genius account for lyrics & a API Client for
- accessToken
Note!: No personal data or any kind of sensitive information won’t be collected from spotify. Don’t believe? See the code for yourself
TODO:
- Compile, Debug & Build for MacOS
- Add support for show Lyric of currently playing track
- Track download
- Support for playing/streaming podcasts/shows
- Artist, User & Album pages
Building from source
- Download the latest Flutter SDK (>=2.15.1) & enable desktop support
- Install Development dependencies in linux
libwebkit2gtk-4.0-dev
&libkeybinder-3.0-0
(for Debian/Ubuntu)webkit2gtk
&libkeybinder3
(for Arch/Manjaro)
- Clone the Repo
$ flutter pub get
$ flutter run -d <window|macos|linux>
Things that don’t work
- Shows & Podcasts aren’t supported as it’d require premium anyway
- OS Media Controls
- Global Media Shortcuts/Keyboard Media Buttons
Social handlers
Follow me on Twitter for newer updates about this application