Compare commits
6 Commits
75949b1343
...
ce4e864d19
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ce4e864d19 | ||
|
|
4f72f3b424 | ||
|
|
ecb43f64ad | ||
|
|
ff252d6b14 | ||
|
|
195cad8f39 | ||
|
|
19f525fa3c |
15
README.md
@ -1,9 +1,8 @@
|
||||
<div align="center">
|
||||
<img width="600" src="assets/spotube_banner.png" alt="Spotube Logo">
|
||||
|
||||
An open source, cross-platform Spotify client compatible across multiple platforms<br />
|
||||
utilizing Spotify's data API and YouTube, Piped.video or JioSaavn as an audio source,<br />
|
||||
eliminating the need for Spotify Premium
|
||||
An open source, cross-platform music client<br />
|
||||
utilizing selected music provider API and YouTube, Piped.video or JioSaavn as an audio source
|
||||
|
||||
Btw it's not just another Electron app 😉
|
||||
|
||||
@ -27,7 +26,7 @@ Btw it's not just another Electron app 😉
|
||||
|
||||
## 🌃 Features
|
||||
|
||||
- 🚫 No ads, thanks to the use of public & free Spotify and YT Music APIs¹
|
||||
- 🚫 No ads, thanks to the use of public & free music metadata providers and YT Music APIs¹
|
||||
- ⬇️ Freely downloadable tracks
|
||||
- 🖥️ 📱 Cross-platform support
|
||||
- 🪶 Small size & less data usage
|
||||
@ -38,12 +37,12 @@ Btw it's not just another Electron app 😉
|
||||
- 📖 Open source/libre software
|
||||
- 🔉 Playback control is done locally, not on the server
|
||||
|
||||
**¹** It is still **recommended** to support creators by engaging with their YouTube channels/Spotify tracks (or preferably by buying their merch/concert tickets/physical media).
|
||||
**¹** It is still **recommended** to support creators by engaging with their YouTube channels/tracks in music platforms (or preferably by buying their merch/concert tickets/physical media).
|
||||
|
||||
### ❌ Unsupported features
|
||||
|
||||
- 🗣️ **Spotify Shows & Podcasts:** Shows and Podcasts will <ins>**never be supported**</ins> because the audio tracks are <ins>_only_</ins> available on Spotify and accessing them would require Spotify Premium.
|
||||
- 🎧 **Spotify Listen Along:** [Coming soon!](https://github.com/KRTirtho/spotube/issues/8)
|
||||
- 🗣️ **Shows & Podcasts:** Shows and Podcasts will <ins>**never be supported**</ins> because the audio tracks are <ins>_only_</ins> available on music providers and accessing them would require premium.
|
||||
- 🎧 **Listen Along:** [Coming soon!](https://github.com/KRTirtho/spotube/issues/8)
|
||||
|
||||
## 📜 ⬇️ Installation guide
|
||||
|
||||
@ -210,7 +209,6 @@ If you are concerned, you can [read the reason of choosing this license](https:/
|
||||
|
||||
1. [Flutter](https://flutter.dev) - Flutter transforms the app development process. Build, test, and deploy beautiful mobile, web, desktop, and embedded apps from a single codebase
|
||||
1. [MPV](https://mpv.io) - mpv is a free (as in freedom) media player for the command line. It supports a wide variety of media file formats, audio and video codecs, and subtitle types.
|
||||
1. [Spotify API](https://developer.spotify.com/documentation/web-api) - The Spotify Web API is a RESTful API that provides access to Spotify data
|
||||
1. [Piped](https://piped-docs.kavin.rocks/) - Piped is a privacy friendly alternative YouTube frontend, which is efficient and scalable by design.
|
||||
1. [Invidious](https://invidious.io/) - Invidious is an open source alternative front-end to YouTube.
|
||||
1. [YouTube](https://youtube.com/) - YouTube is an American online video-sharing platform headquartered in San Bruno, California. Three former PayPal employees—Chad Hurley, Steve Chen, and Jawed Karim—created the service in February 2005
|
||||
@ -304,7 +302,6 @@ If you are concerned, you can [read the reason of choosing this license](https:/
|
||||
1. [sliding_up_panel](https://github.com/akshathjain/sliding_up_panel) - A draggable Flutter widget that makes implementing a SlidingUpPanel much easier!
|
||||
1. [sliver_tools](https://github.com/Kavantix) - A set of useful sliver tools that are missing from the flutter framework
|
||||
1. [smtc_windows](https://pub.dev/packages/smtc_windows) - Windows `SystemMediaTransportControls` implementation for Flutter giving access to Windows OS Media Control applet.
|
||||
1. [spotify](https://github.com/rinukkusu/spotify-dart) - An incomplete dart library for interfacing with the Spotify Web API.
|
||||
1. [sqlite3](https://github.com/simolus3/sqlite3.dart/tree/main/sqlite3) - Provides lightweight yet convenient bindings to SQLite by using dart:ffi
|
||||
1. [sqlite3_flutter_libs](https://github.com/simolus3/sqlite3.dart/tree/main/sqlite3_flutter_libs) - Flutter plugin to include native sqlite3 libraries with your app
|
||||
1. [stroke_text](https://github.com/MohamedAbd0/stroke_text) - A Simple Flutter plugin for applying stroke (border) style to a text widget
|
||||
|
||||
|
Before Width: | Height: | Size: 56 KiB After Width: | Height: | Size: 44 KiB |
|
Before Width: | Height: | Size: 1.6 MiB After Width: | Height: | Size: 790 KiB |
@ -1,5 +1,5 @@
|
||||
pkgbase = spotube-bin
|
||||
pkgdesc = Open source Spotify client that doesn't require Premium nor uses Electron! Available for both desktop & mobile!
|
||||
pkgdesc = Open source Music client that doesn't require Premium nor uses Electron! Available for both desktop & mobile!
|
||||
pkgver = 4.0.0
|
||||
pkgrel = 1
|
||||
url = https://spotube.krtirtho.dev
|
||||
|
||||
@ -3,7 +3,7 @@ pkgname=spotube-bin
|
||||
pkgver=%{{SPOTUBE_VERSION}}%
|
||||
pkgrel=%{{PKGREL}}%
|
||||
epoch=
|
||||
pkgdesc="Open source Spotify client that doesn't require Premium nor uses Electron! Available for both desktop & mobile!"
|
||||
pkgdesc="Open source Music client that doesn't require Premium nor uses Electron! Available for both desktop & mobile!"
|
||||
arch=(x86_64)
|
||||
url="https://spotube.krtirtho.dev"
|
||||
license=('BSD-4-Clause')
|
||||
|
||||
@ -23,12 +23,13 @@ enclosed in quotation marks, you should use an editor that supports UTF-8, not t
|
||||
<projectSourceUrl>https://github.com/KRTirtho/spotube</projectSourceUrl>
|
||||
<docsUrl>https://spotube.krtirtho.dev</docsUrl>
|
||||
<bugTrackerUrl>https://github.com/KRTirtho/spotube/issues/new</bugTrackerUrl>
|
||||
<tags>spotube music audio spotify youtube flutter</tags>
|
||||
<summary>🎧 Open source Spotify client that doesn't require Premium nor uses Electron! Available
|
||||
<tags>spotube music audio youtube flutter</tags>
|
||||
<summary>🎧 Open source music client that doesn't require Premium nor uses Electron! Available
|
||||
for both desktop & mobile! </summary>
|
||||
<description>
|
||||
Spotube is a Flutter based lightweight spotify client. It utilizes the power
|
||||
of Spotify & Youtube's public API & creates a hazardless, performant & resource
|
||||
Spotube is a Flutter based lightweight music client. It utilizes the power
|
||||
of music metadata providers & Youtube's public API & creates a hazardless, performant
|
||||
& resource
|
||||
friendly User Experience
|
||||
|
||||
# Features
|
||||
@ -40,10 +41,9 @@ enclosed in quotation marks, you should use an editor that supports UTF-8, not t
|
||||
- Native performance (Thanks to Flutter+Skia)
|
||||
- Playback control is done locally instead of on the server
|
||||
- Small size & less data usage
|
||||
- No Spotify or YouTube ads since it uses all public & free APIs (It is still recommended
|
||||
- No ads since it uses all public & free APIs (It is still recommended
|
||||
to support the creators by watching/liking/subscribing to the artists' YouTube channels or
|
||||
liking their tracks on Spotify. Purchasing Spotify Premium is usually the best way to support
|
||||
their valuable creations.)
|
||||
liking their tracks on different music platforms.)
|
||||
- Time synced lyrics
|
||||
- Downloadable tracks
|
||||
</description>
|
||||
|
||||
@ -137,16 +137,16 @@
|
||||
"pre_download_play_description": "Anzi che effettuare lo stream dell'audio, scarica invece i byte e li riproduce (raccomandato per gli utenti con banda più alta)",
|
||||
"skip_non_music": "Salta i segmenti non di musica (SponsorBlock)",
|
||||
"blacklist_description": "Tracce e artisti in blacklist",
|
||||
"wait_for_download_to_finish": "Prego attendere che lo scaricamento corrente finisca",
|
||||
"wait_for_download_to_finish": "Prego attendere che il download corrente finisca",
|
||||
"desktop": "Desktop",
|
||||
"close_behavior": "Comportamento Chiusura",
|
||||
"close": "Chiudi",
|
||||
"minimize_to_tray": "Minimizza in tray",
|
||||
"show_tray_icon": "Mostra icona in tray di sistema",
|
||||
"about": "A proposito di",
|
||||
"about": "Informazioni su",
|
||||
"u_love_spotube": "Sappiamo che ami Spotube",
|
||||
"check_for_updates": "Controlla aggiornamenti",
|
||||
"about_spotube": "A proposito di Spotube",
|
||||
"about_spotube": "Informazioni su Spotube",
|
||||
"blacklist": "Blacklist",
|
||||
"please_sponsor": "Per favore sponsorizza/dona",
|
||||
"spotube_description": "Spotube, un client spotify gratis per tutti, multipiattaforma e leggero",
|
||||
@ -187,7 +187,7 @@
|
||||
"generate_playlist": "Genera Playlist",
|
||||
"track_exists": "La traccia {track} esiste già",
|
||||
"replace_downloaded_tracks": "Sostituisci tutte le tracce scaricate",
|
||||
"skip_download_tracks": "Salta lo scaricamento di tutte le tracce scaricate",
|
||||
"skip_download_tracks": "Salta il download di tutte le tracce scaricate",
|
||||
"do_you_want_to_replace": "Vuoi sovrascrivere la traccia esistente??",
|
||||
"replace": "Sovrascrivi",
|
||||
"skip": "Salta",
|
||||
@ -256,7 +256,7 @@
|
||||
"querying_info": "Richiesta informazioni...",
|
||||
"piped_api_down": "Le Piped API non funzionano",
|
||||
"piped_down_error_instructions": "L'istanza di Piped {pipedInstance} è correntemente offline\n\nCambia istanza o cambia 'Tipo API' alle API ufficiali YouTube\n\nAssicurati di riavviare l'app dopo il cambio",
|
||||
"you_are_offline": "Sei correntemente offline",
|
||||
"you_are_offline": "Al momento sei offline",
|
||||
"connection_restored": "Connessione ad internet ripristinata",
|
||||
"use_system_title_bar": "Usa la barra del titolo di sistema",
|
||||
"crunching_results": "Elaborazione risultati...",
|
||||
@ -267,15 +267,15 @@
|
||||
"change_cover": "Cambia copertina",
|
||||
"add_cover": "Aggiungi copertina",
|
||||
"restore_defaults": "Ripristina default",
|
||||
"download_music_codec": "Codec musicale scaricamento",
|
||||
"streaming_music_codec": "Codec musicale streaming",
|
||||
"login_with_lastfm": "Accesso a Last.fm",
|
||||
"connect": "Connetti",
|
||||
"disconnect_lastfm": "Disconnetti Last.fm",
|
||||
"download_music_codec": "Codec download musica",
|
||||
"streaming_music_codec": "Codec streaming musica",
|
||||
"login_with_lastfm": "Accedi con Last.fm",
|
||||
"connect": "Connettiti",
|
||||
"disconnect_lastfm": "Disconnettiti da Last.fm",
|
||||
"disconnect": "Disconnetti",
|
||||
"username": "Nome utente",
|
||||
"password": "Password",
|
||||
"login": "Accesso",
|
||||
"login": "Accedi",
|
||||
"login_with_your_lastfm": "Accedi con il tuo account Last.fm",
|
||||
"scrobble_to_lastfm": "Invia a Last.fm",
|
||||
"audio_source": "Fonte audio",
|
||||
@ -299,7 +299,7 @@
|
||||
"song_link": "Link della Canzone",
|
||||
"skip_this_nonsense": "Salta questa sciocchezza",
|
||||
"freedom_of_music": "“Libertà della Musica”",
|
||||
"freedom_of_music_palm": "“Libertà della Musica nel palmo della tua mano”",
|
||||
"freedom_of_music_palm": "“Libertà della Musica nelle tue mani”",
|
||||
"get_started": "Cominciamo",
|
||||
"youtube_source_description": "Consigliato e funziona meglio.",
|
||||
"piped_source_description": "Ti senti libero? Come YouTube ma molto più gratuito.",
|
||||
|
||||
@ -17,11 +17,12 @@
|
||||
<url type="homepage">https://spotube.krtirtho.dev</url>
|
||||
<url type="donation">https://opencollective.com/spotube</url>
|
||||
<description>
|
||||
<p>Open source Spotify client that doesn't require Premium nor uses Electron! Available for
|
||||
<p>Open source music client that doesn't require Premium nor uses Electron! Available for
|
||||
both desktop & mobile!</p>
|
||||
<p>Following are the features that currently spotube offers:</p>
|
||||
<ul>
|
||||
<li>🚫 No ads, thanks to the use of public & free Spotify and YT Music APIs¹</li>
|
||||
<li>🚫 No ads, thanks to the use of public & free music metadata providers and YT Music
|
||||
APIs¹</li>
|
||||
<li>⬇️ Downloadable tracks</li>
|
||||
<li>🖥️ 📱 Cross-platform support</li>
|
||||
<li>🪶 Small size & less data usage</li>
|
||||
|
||||
@ -3,7 +3,6 @@ icon: assets/spotube-logo.png
|
||||
|
||||
keywords:
|
||||
- Music
|
||||
- Spotify
|
||||
- Media
|
||||
- Streaming
|
||||
- YouTube
|
||||
|
||||
@ -34,7 +34,6 @@ icon: assets/spotube-logo.png
|
||||
|
||||
keywords:
|
||||
- Music
|
||||
- Spotify
|
||||
- Media
|
||||
- Streaming
|
||||
- YouTube
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
icon: assets/spotube-logo.png
|
||||
summary: Lightweight cross-platform Spotify desktop client
|
||||
summary: Lightweight cross-platform music client
|
||||
group: Applications/Multimedia
|
||||
vendor: Kingkor Roy Tirtho
|
||||
packager: Kingkor Roy Tirtho
|
||||
@ -23,7 +23,6 @@ display_name: Spotube
|
||||
|
||||
keywords:
|
||||
- Music
|
||||
- Spotify
|
||||
- Media
|
||||
- Streaming
|
||||
- YouTube
|
||||
|
||||
@ -3,7 +3,7 @@ Type=Application
|
||||
Name=Spotube
|
||||
Exec=/usr/bin/spotube
|
||||
Icon=/usr/share/icons/spotube/spotube-logo.png
|
||||
Comment=A music streaming app combining the power of Spotify & YouTube
|
||||
Comment=A music streaming app combining the power of music metadata providers & YouTube
|
||||
Terminal=false
|
||||
Categories=Audio;Music;Player;AudioVideo;
|
||||
MimeType=x-scheme-handler/spotify;
|
||||
@ -1,8 +1,8 @@
|
||||
Open source Spotify client that doesn't require Premium nor uses Electron! Available for both desktop & mobile!
|
||||
Open source music client that doesn't require Premium nor uses Electron! Available for both desktop & mobile!
|
||||
|
||||
|
||||
Features:
|
||||
* No ads, thanks to the use of public & free Spotify and YT Music APIs¹
|
||||
* No ads, thanks to the use of public & free music metadata providers and YT Music APIs¹
|
||||
* Downloadable tracks
|
||||
* Cross-platform support
|
||||
* Small size & less data usage
|
||||
|
||||
|
Before Width: | Height: | Size: 56 KiB After Width: | Height: | Size: 44 KiB |
@ -1 +1 @@
|
||||
Lightweight & resource friendly spotify client without requiring Spotify Premium
|
||||
Lightweight & resource friendly music client
|
||||
@ -1,8 +1,8 @@
|
||||
Premium gerektirmeyen ve Electron kullanmayan açık kaynaklı Spotify istemcisi! Hem masaüstü hem de mobil için kullanılabilir!
|
||||
Premium gerektirmeyen ve Electron kullanmayan açık kaynaklı müzik istemcisi! Hem masaüstü hem de mobil için kullanılabilir!
|
||||
|
||||
|
||||
Özellikler:
|
||||
* Herkese açık ve ücretsiz Spotify ve YT Music API'lerinin kullanımı sayesinde reklam yok¹
|
||||
* Herkese açık ve ücretsiz müzik meta veri sağlayıcısı ve YT Music API'lerinin kullanımı sayesinde reklam yok¹
|
||||
* İndirilebilir parçalar
|
||||
* Çapraz platform desteği
|
||||
* Küçük boyut ve daha az veri kullanımı
|
||||
|
||||
|
Before Width: | Height: | Size: 56 KiB After Width: | Height: | Size: 44 KiB |
@ -1 +1 @@
|
||||
Spotify Premium gerektirmeyen hafif ve kaynak dostu spotify istemcisi
|
||||
Hafif ve kaynak dostu müzik istemcisi
|
||||
@ -1,42 +0,0 @@
|
||||
---
|
||||
title: Spotube Basics
|
||||
author: Kingkor Roy Tirtho
|
||||
date: 2024-02-10
|
||||
published: true
|
||||
cover_img: /images/spotube-basics/cover.jpg
|
||||
---
|
||||
|
||||
Spotube is an open-source Spotify client that allows users to stream music from Spotify. To use Spotube, you need to sign in with your Spotify account. Here's a step-by-step guide on how to sign in to Spotube.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
Before you begin, make sure you have the following:
|
||||
|
||||
- A Spotify account
|
||||
- The Spotube application installed on your device
|
||||
|
||||
## Steps
|
||||
|
||||
1. Open the Spotube application on your device.
|
||||
2. Click on the "Sign in with Spotify" button.
|
||||
3. You will be redirected to the Spotify login page. Enter your Spotify username and password and click on the "Log In" button.
|
||||
4. You will be asked to grant Spotube permission to access your Spotify account. Click on the "Agree" button to grant permission.
|
||||
5. You will be redirected back to the Spotube application, and you should now be signed in to your Spotify account.
|
||||
|
||||
That's it! You are now signed in to Spotube and can start streaming music from Spotify.
|
||||
|
||||
| Title | Author | Date | Published |
|
||||
| -------------- | ------------------ | ---------- | --------- |
|
||||
| Spotube Basics | Kingkor Roy Tirtho | 2024-02-10 | true |
|
||||
|
||||
```bash
|
||||
$ git clone
|
||||
```
|
||||
|
||||
```javascript
|
||||
const a = 1;
|
||||
```
|
||||
|
||||
## Conclusion
|
||||
|
||||
Signing in to Spotube is a simple process that requires you to have a Spotify account and the Spotube application installed on your device. By following the steps outlined in this tutorial, you should be able to sign in to Spotube and start streaming music from Spotify.
|
||||
@ -1,6 +1,5 @@
|
||||
<script lang="ts">
|
||||
import {
|
||||
faSpotify,
|
||||
faAndroid,
|
||||
faWindows,
|
||||
faApple,
|
||||
@ -25,8 +24,8 @@
|
||||
|
||||
<svelte:head>
|
||||
<title>Spotube</title>
|
||||
<meta name="description" content="An Open Source Spotify Client for every platform" />
|
||||
<meta name="keywords" content="spotify, client, open source, music, streaming" />
|
||||
<meta name="description" content="An Open Source Music Client for every platform" />
|
||||
<meta name="keywords" content="music, client, open source, music, streaming" />
|
||||
<meta name="author" content="KRTirtho" />
|
||||
<meta name="robots" content="index, follow" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
@ -39,7 +38,7 @@
|
||||
<h1 class="h1">Spotube</h1>
|
||||
<br />
|
||||
<h3 class="h3">
|
||||
An Open Source <Fa class="inline text-[#1DB954]" icon={faSpotify} /> Spotify Client for every
|
||||
An Open Source Music Client for every
|
||||
platform
|
||||
<div class="inline-flex gap-3 items-center">
|
||||
<Fa class="inline text-[#3DDC84]" icon={faAndroid} />
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
import { purgeCss } from 'vite-plugin-tailwind-purgecss';
|
||||
import { sveltekit } from '@sveltejs/kit/vite';
|
||||
import { defineConfig } from 'vite';
|
||||
import { purgeCss } from "vite-plugin-tailwind-purgecss";
|
||||
import { sveltekit } from "@sveltejs/kit/vite";
|
||||
import { defineConfig } from "vite";
|
||||
|
||||
export default defineConfig({
|
||||
plugins: [
|
||||
@ -8,15 +8,16 @@ export default defineConfig({
|
||||
purgeCss({
|
||||
safelist: {
|
||||
// any selectors that begin with "hljs-" will not be purged
|
||||
greedy: [/^hljs-/]
|
||||
}
|
||||
})
|
||||
greedy: [/^hljs-/],
|
||||
},
|
||||
}),
|
||||
],
|
||||
server: {
|
||||
fs: {
|
||||
// Allow serving files from one level up to the project root
|
||||
// posts, copy
|
||||
allow: ['..']
|
||||
}
|
||||
}
|
||||
allow: [".."],
|
||||
},
|
||||
port: 3000,
|
||||
},
|
||||
});
|
||||
|
||||