Closed vairag22 closed 2 years ago
I do like and use Soju. When I get a Spotify link I can listen to the first 30 seconds of a song instead of not at all since I don't have a Spotify account. It is quite convenient. Obviously it is not a complete front-end in the way that Invidious or Nitter is, but there are definitely use cases for it. But on the other side I am unsure it improves privacy that much which is the main goal for LibRedirect. So I am torn between what would make the most sense.
Soju adds functionality and privacy since you wouldn't be able to preview a song in the normal spotify app without logging in, and even if Spotify is able to track you with Soju, they at least won't associate an account with it
Soju does not belong in LR because it isn't functional enough to replace Spotify Web Player.
Try Spotiflyer. It's available for mobile and desktop, web version is in development.
@vairag22 is there any link to test the web version?
Soju is not a FOSS replacement for Spotify Web Player Soju does not belong in LR because it isn't functional enough to replace Spotify Web Player.
Soju is explicitly advertised as NOT a replacement for Spotify Web Player. It is for music samples only.
Allowing you to login with your own Spotify account removes the point of Soju being a quick way to preview Spotify music.
In addition, you are required to have Spotify Premium to use third-party clients. There are already full FOSS Spotify clients out there for those users. Attempting to circumvent this by sharing one Spotify Premium account's API key, or using only a Free account, is called music piracy (illegal).
Try Spotiflyer. It's available for mobile and desktop, web version is in development.
Soju and Spotiflyer are different products fixing different problems. Soju is not made for downloading music. Soju's sole purpose is to show and preview Spotify samples, from Spotify, and not from any other source.
Soju is explicitly advertised as NOT a replacement for Spotify Web Player. It is for music samples only.
That maybe the case for your repo but it is advertised as a replacement in this repo, see README.md. All other frontends in LR provide full core functionality and when listed with them user's expect the same with Soju.
Allowing you to login with your own Spotify account removes the point of Soju being a quick way to preview Spotify music.
@coffeebank I did not advocate using a Spotify account but you can preview songs in Spotify WP without an account albeit there is a privacy risk. However things aren't fine and dandy with Soju either. Soju does not work without JS, there's only one instance and it cannot be verified that official Soju repo is used for hosting the public instance not a tampered private one (Invidious instances have commit number and branch name on the footer precisely for this reason). Since most users including me don't have the expertise or time to review the source code using Soju means taking your words at face value. Do you take assurances of privacy from big corps, governments or anyone at face value?
From README.md of Soju:
Soju is NOT a replacement for Spotify Web Player, Soju is a companion service that lets you preview Spotify music for adding into Spotify
What??? Why not simply use Spotify then?
Soju may display an unmodified Spotify webpage in its original form (outside of the control of Soju) when the API fails. This webpage is maintained by Spotify, who may place cookies, use tracking technologies, and restrict access to Spotify content within that webpage.
Spotiflyer, like many other services, looks up the song you want on YouTube/elsewhere when you enter a Spotify link.
This is a better solution for most users and use cases.
Searching a Spotify link on any search engine displays the song or album name, you can then use Invidious, Piped, Beatbump, musicbrainz.org, wikiless.org, etc to find and listen the full song or album, or get info. Only thing exclusive to Soju is that it can be used for browsing public user created playlists.
Spotiflyer also notes that it may be illegal in your country.
Downloading music is also illegal if you use NewPipe, youtube-dl (yt-dlp), Invidious, Blackhole, Soulseek, torrents, etc. Buying or pirating something is upto the user not me. (Pirating for private use is legal in my country as far as I know)
is there any link to test the web version?
@IronMaltese Spotiflyer Web - It has same problem as Spotify and Soju, it does not work without JS and is quite bloated too. I recommend using the Android app for a quick preview. It is available on F-Droid.
but it is advertised as a replacement in this repo, see README.md
It is advertised as a front-end to Spotify. Soju is a front-end for accessing Spotify links. If it fetches music info from YouTube instead, then it is not a Spotify front-end.
Soju does not work without JS, there's only one instance and it cannot be verified that official Soju repo is used for hosting the public instance not a tampered private one (Invidious instances have commit number and branch name on the footer precisely for this reason). Since most users including me don't have the expertise or time to review the source code using Soju means taking your words at face value. Do you take assurances of privacy from big corps, governments or anyone at face value?
Soju is self-hostable, I cannot force anyone to host Soju instances. The main code is two files, one in Vue (Home.vue) and one in Node.js (getSpotifyData.js). Learning basic JS will be helpful as building Soju was a learning experience for me too.
If you think JS frontends should not be on LR then Piped should also be removed. I would not think LR should be limited to only frontends without JS. You are free to not use Soju if it does not meet your requirements.
If you know how to implement verification that the site is the same as the code, I can add it. That is not my specialty, but I am open to pull requests. I am not interested in hiding users from big corps, governments, or anyone else. Soju is a frontend for Spotify only.
What??? Why not simply use Spotify then?
If the API finds the song preview, all data retrieved is proxied through Netlify. The site itself is static, and Netlify fetches and returns all Spotify data using Node.js through Netlify Functions and the Netlify CDN. You can check the Network tab of your browser to confirm.
If you would like to continue sampling the song when a music preview cannot be returned, you can choose to load an unmodified Spotify webpage and preview directly from Spotify (but also opening your browser to Spotify cookies, tracking, etc.)
Downloading music is also illegal if you use NewPipe, youtube-dl (yt-dlp)
Once again, Soju's purpose is not to download music.
Soju, by how I understand it, is a private front-end to Spotify, by virtue of it accessing and returning Spotify content without actually being on the Spotify website.
Safely out of the above comment, here are some personal remarks I'd like to add:
You are free to not use Soju if it doesn't meet your needs. LR accepts adding new frontends. Everyone is also invited to fork/pull request Soju to add features.
Soju brings a solution to a very specific problem of previewing Spotify content, using content only from Spotify (not YouTube). It happens to do it in a more privacy respecting way than directly visiting the Spotify website. This was the scope of the threat model for the Soju project.
Here's the web version of Spotiflyer, but it doesn't work yet https://shabinder.github.io/SpotiFlyer/
I talked about Spotiflyer too. You can see it in the last part of the screenshot.
Soju is not a FOSS replacement for Spotify Web Player. It may be a good web app but it isn't functional enough to be called a frontend.