Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Being able to download local files from other Devices #1276

Open
jWXZSCsqrpZRSVwauBjn opened this issue Apr 16, 2024 · 3 comments
Open

Being able to download local files from other Devices #1276

jWXZSCsqrpZRSVwauBjn opened this issue Apr 16, 2024 · 3 comments
Labels
enhancement A new feature that would improve Spotifyd

Comments

@jWXZSCsqrpZRSVwauBjn
Copy link

Is your feature request related to a problem? Please describe.
Support for syncing local files from other devices as explained in the Spotify Developer docs.

@jWXZSCsqrpZRSVwauBjn jWXZSCsqrpZRSVwauBjn added the enhancement A new feature that would improve Spotifyd label Apr 16, 2024
@eladyn
Copy link
Member

eladyn commented Apr 19, 2024

These docs only explain, how the tracks metadata appears in API requests. AFAIK, there's no possibility to retrieve them from the device that added it.

@jWXZSCsqrpZRSVwauBjn
Copy link
Author

it is. You add it to a playlist and make it offline available on another device. If they are in the same network, they sync local songs

@eladyn
Copy link
Member

eladyn commented Apr 22, 2024

Oh, now it also works for me. (reference) I dug around a bit, but could not find any previous work to reverse engineer that protocol. And while I assume that I figured out, which TCP/UDP messages are related to syncing, I wasn't able to see how they're doing it.

Things I found out:
- When hitting the download button on the phone, it sends a UDP request to everyone on the network (port: 57621) containing `SpotUdp0` and other things. - The desktop app responds with a similar message specifically to the requesting device (port: 57621) at least containing the number `57621` and other things. - Then the real communication begins over TCP, where the files seem to be transmitted.

So not a lot I figured out, unfortunately.

So if anyone else is interested in reversing this protocol, this might be interesting, but for now, this is probably out of scope. (Considering that this isn't even implemented on official connect devices.)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement A new feature that would improve Spotifyd
Projects
None yet
Development

No branches or pull requests

2 participants