- Kotlin Multiplatform Music Downloader ,supports Spotify, Youtube, Gaana.
Supports- Playlist, Albums, Tracks. (If You know Any Source for Episodes/Podcasts create an Issue sharing It.)
Currently running on:
- Android (Jetpack Compose)
- Desktop (Compose for Desktop) β
- Web (Kotlin/JS + React Wrapper) β
- (WIP) IOS SOON (SWIFTUI)
Encourage this repo by giving it a Star⭐ .
SpotiFlyer is an App(Written in Kotlin), which aims to work as:
- Downloads: Albums, Tracks and Playlists,etc
- Save your Data ,by not Streaming your Fav Songs Online again & again(Just Download Them!)
- No ADS!
- Works straight out of the box and does not require you to generate or mess with your API keys (already included).
- Spotify
- Gaana
- Youtube
- Youtube Music
- (more coming soon)
Platform | Download | Status |
---|---|---|
Android | ✅ Stable | |
Windows | ✅ Stable | |
MacOS | ✅ Stable | |
MacOS-JAR | ✅ Stable | |
Linux-DEB | ✅ Stable | |
Linux-JAR | ✅ Stable | |
Web | ✅ Beta |
- To run the
jar
version, you need Java 15 or above. - MacOs DMG is not notarized and signed using a certificate , so Use jar in mac for now.
Want to contribute? Great! All contributions are welcome, from code to documentation to graphics to design suggestions to bug reports. Please use GitHub to its fullest-- contribute Pull Requests, contribute tutorials or other wiki content-- whatever you have to offer, we can use it!
Please Donate to support me and my work!
Have any questions, doubts or want to present your opinions, views? You're always welcome. You can start discussions.
- Write Tests.
- Support for Podcasts/Episodes and Shows.
- Preference Screen.
- Another Source for Music in addition to youtube.
- Build a Media Player into this app. _SEE: #113 _
The availability of YouTube Music in your country is important for this app to work since we use YouTube Music to filter out our search results. To check if YouTube Music is available in your country, visit YouTube Music.
I am hosting a server for WEB APP on my own personal device , so expect some downtimes, If you have a server available and would like to share , open an issue or ping me wherever you can get a hold of me.
- NETWORK- (INTERNET, ACCESS_NETWORK_STATE, ACCESS_WIFI_STATE): to access the online streaming services, and Confirm Network Connectivity.
- STORAGE- READ_STORAGE_PERMISSION, READ_EXTERNAL_STORAGE, WRITE_EXTERNAL_STORAGE, MANAGE_EXTERNAL_STORAGE): to save Downloaded Media Files.
- QUERY_ALL_PACKAGES- in order to check if Youtube Music, Spotify, Gaana, JioSaavn, etc apps are installed and if they are, user can directly open them.
- REQUEST_IGNORE_BATTERY_OPTIMIZATIONS: User Allows App to Run in Background at runtime in Permission Dialog.
- Wake Lock: Don't let Wifi/Internet Sleep in screen off / dozing state when Songs are being downloaded.
- Foreground Service: Service responsible to download and save songs to storage even after app is exited/background.
- NOTE: Analytics and Crashlytics are OPT-IN (Disabled by Default) and are Self-Hosted.
GPL-3.0 License This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
Free Software, Hell Yeah!
- Some Logos are Based on Logos by Freepik.
Downloading copyright songs may be illegal in your country. This tool is for educational purposes only and was created only to show how Music Platform's Apis like Spotify's API can be exploited to download music. Please support the artists by buying their music.