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
Following are the features that currently spotube offers:
- Open Source
- Anonymous/Guest Login
- Cross platform
- No telemetry, 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)
- Synced Lyrics
- Downloadable track
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
Platform | Package/Installation Method |
---|---|
Android | |
Debian/Ubuntu | Then run: sudo apt install Spotube-linux-x86_64.deb |
Flatpak | flatpak install com.github.KRTirtho.Spotube |
Arch/Manjaro | pamac: pamac install spotube-bin yay: yay -Sy spotube-bin |
AppImage | Note: AppImages require appimage-launcher to be installed |
Linux (tarball) | |
Windows | |
Windows (Chocolatey) | choco install spotube |
Windows (Scoop) | scoop bucket add extras scoop install spotube |
Windows (WinGet) | winget install --id KRTirtho.Spotube |
MacOS |
Note!: If you don't understand this download table. You can read installation instructions from the wiki
Get the latest nightly builds of Spotube here
- Windows OS Media Control & Media Keys Support
- Spotify Listen Along
- Skip non-music sections from Audio Track
- Language Translations/Localization
You can find the details here
- Shows & Podcasts aren't supported as it'd require premium anyway
But why? You can learn about it here
- Flutter - Flutter transforms the app development process. Build, test, and deploy beautiful mobile, web, desktop, and embedded apps from a single codebase
- Linux - Linux is a family of open-source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically packaged in a Linux distribution
- AUR - AUR stands for Arch User Repository. It is a community-driven repository for Arch-based Linux distributions users
- Flatpak - Flatpak is a utility for software deployment and package management for Linux
- rentanadviser - Generous Synced lyrics API provider service
- SponsorBlock - SponsorBlock is an open-source crowdsourced browser extension and open API for skipping sponsor segments in YouTube videos.
- spotify (dart) - A dart library for interfacing with the Spotify API
- audioplayers - A Flutter plugin to play multiple audio files simultaneously (Android/iOS)
- youtube_explode_dart - YoutubeExplode is a library that provides an interface to query metadata of YouTube videos, playlists and channels, as well as to resolve and download video streams and closed caption tracks
- bitsdojo_window - A Flutter package that makes it easy to customize and work with your Flutter desktop app window on Windows, macOS and Linux
- Inno Setup - Inno Setup is a free installer for Windows programs by Jordan Russell and Martijn Laan
- collection - The collection package for Dart contains a number of separate libraries with utility functions and classes that makes working with collections easier
- flutter_riverpod - A Reactive Caching and Data-binding Framework
- flutter_hooks - React hooks for Flutter. Hooks are a new kind of object that manages a Widget life-cycles. They are used to increase code sharing between widgets and as a complete replacement for StatefulWidget
- hooks_riverpod - Riverpod with hooks
- go_router - A declarative router for Flutter based on Navigation 2 supporting deep linking, data-driven routes and more
- palette_generator - Flutter package for generating palette colors from a source image.
- logger - Small, easy to use and extensible logger which prints beautiful logs
- flutter_launcher_icons - A package which simplifies the task of updating your Flutter app's launcher icon.
- permission_handler - Permission plugin for Flutter. This plugin provides a cross-platform (iOS, Android) API to request and check permissions.
- marquee - ⏩ A Flutter widget that scrolls text infinitely. Provides many customizations including custom scroll directions, durations, curves as well as pauses after every round
- scroll_to_index - scroll to index with fixed/variable row height inside Flutter scrollable widget
- package_info_plus - This Flutter plugin provides an API for querying information about an application package.
- version - A dart library providing a Version class
- audio_service - Flutter plugin to play audio in the background while the screen is off.
- skeleton_text - Flutter package for Skeleton Text Animation
- hive - Lightweight and blazing fast key-value database written in pure Dart.
- dbus - Native Dart client library to use DBus
- introduction_screen - Add easily to your app an introduction screen to provide informations to new users
- audio_session - Sets the iOS audio session category and Android audio attributes for your app, and manages your app's audio focus, mixing and ducking behaviour.
- file_picker - A Flutter plugin to let users pick a file from the file system, be it from a local storage or a remote one (e.g. Google Drive, Dropbox, iCloud, etc).
- popover - Popover for Flutter. A popover is a transient view that appears above other content onscreen when you tap a control or in an area.
- queue - A library to easily handle sequential queueing of futures in dart
- auto_size_text - Flutter widget that automatically resizes text to fit perfectly within its bounds.
- badges - A flutter package for creating badges.
- mime - Dart package for working with MIME type definitions and for processing streams of MIME multipart media types.
- metadata_god - Audio file Metadata reading and writing library for Flutter
- visibility_detector - A widget that detects the visibility of its child and notifies a callback
- fl_query - Asynchronous data caching, refetching & invalidation library for Flutter
- fl_query_hooks - Elite flutter_hooks compatible library for fl_query, the Asynchronous data caching, refetching & invalidation library for Flutter
- flutter_inappwebview - A Flutter plugin that allows you to add an inline webview, to use a headless webview, and to open an in-app browser window
- Kingkor Roy Tirtho - The Founder, Maintainer and Lead Developer
- Owen Conor - The Cool Discord Moderator
- Piotr Rogowski - The MacOS Developer
- Rusty Apple - The Mysterious Unknown Guy
Follow me on Twitter for newer updates about this application
© 2022 Spotube