Reversing Spotify Connect Protocol

Just thought I’d put it out there that we’re trying to implement an open source version of the Spotify Connect protocol, which allows you to stream to hardware devices. Figured Mopidy would be one of the projects that would benefit from such an addition, but the main reason I’m here is that we’re looking for anyone who knows a bit about reverse engineering or anything else that might help the project out, and if you have some spare time and want to contribute, for the benefit of of open source media boxes everywhere :wink:

Anyways, thanks for reading.

The repo for work so far, and links to related stuff can be found here: https://github.com/sashahilton00/spotify-connect-resources
Please introduce yourself on the chatroom, it’s nice to know who we’re working with :wink: It can be found here: https://gitter.im/sashahilton00/spotify-connect-resources

Any and all contributions welcome. See u soon :slight_smile:

1 Like

I’d really love to have a Spotify Connect library and I’m quite disappointed in Spotify failing to provide one for quite a long time now.

That said, I’m skeptical of any reverse engineering effort, given that the Spotify developer ToS quite clearly disallows that:

Do not misuse the Spotify Platform, including (i) modifying, editing, disassembling, decompiling, reverse-engineering, or extracting source code from the Spotify Platform (including any client libraries), Spotify Service, or Spotify Content (except to the extent such restrictions are expressly prohibited by law); (ii) distributing or making copies of the Spotify Platform or making the Spotify Platform available to any person, except as expressly provided in the Developer Terms; or (iii) interfering, or attempting to interfere, with the proper functioning or performance of the Spotify Platform or Spotify Service.

In practice, I doubt this will be a problem for you, as Spotify never has moved against despotify, but I’d still prefer Spotify to provide this library themselves, as they’ve previously said that they will eventually.

@jodal I can completely see why you would be weary of such efforts, but there is no need to be; notice in the terms you quoted above:

There is, in fact, a provision in the law for exactly what we are doing, which can be found in the DMCA, under section 1201, which can be found here: https://www.law.cornell.edu/uscode/text/17/1201, specifically, have a look at points F)1), F)2), F)3) and F)4), which describe what we are doing.

If you still feel sceptical afterwards that’s your choice, but hopefully we will see you as a member of the project soon :slight_smile:

Either way, Spotify are super lazy when it comes to providing anything for the dev community, we’ll be lucky to have a connect SDK in the next 5 years, if their community feature request forum is anything to go by :expressionless:

I live in Norway, but I found just about the exact same rule allowing reverse engineering for developing interoperable software in the Norwegian law: https://lovdata.no/dokument/NL/lov/1961-05-12-2/KAPITTEL_3-7#§39i

That makes this effort a whole lot more interesting to me :slight_smile:

@jodal That’s great to hear, feel free to come on over and join us if you feel like you’re up for a challenge :wink:

I’m not experienced enough to contribute to your project, but it certainly has my attention. Playing Spotify over Airplay costs a lot of power… :frowning: Spotify Connect would be an excellent solution, as I don’t want a web interface to manage my playlists. Besides that, the spotify app is really excellent.

If there is any progress, please let us know!