[GH-ISSUE #552] librespot like for Tidal Connect? #349

Closed
opened 2026-02-27 19:30:09 +03:00 by kerem · 17 comments
Owner

Originally created by @lealoureiro on GitHub (Dec 17, 2020).
Original GitHub issue: https://github.com/librespot-org/librespot/issues/552

Does somebody knows if possible or exists something like librespot but for Tidal Connect?

Sorry if is not the best place to ask about :)

Regards,
Leandro

Originally created by @lealoureiro on GitHub (Dec 17, 2020). Original GitHub issue: https://github.com/librespot-org/librespot/issues/552 Does somebody knows if possible or exists something like librespot but for Tidal Connect? Sorry if is not the best place to ask about :) Regards, Leandro
kerem closed this issue 2026-02-27 19:30:10 +03:00
Author
Owner

@hmelder commented on GitHub (Dec 21, 2020):

I have the official TIDAL Connect NodeJS Source Code. Got it from an unpacked electron asar bundle.

<!-- gh-comment-id:749182139 --> @hmelder commented on GitHub (Dec 21, 2020): I have the official TIDAL Connect NodeJS Source Code. Got it from an unpacked electron asar bundle.
Author
Owner

@michaelherger commented on GitHub (Dec 21, 2020):

What is TIDAL Connect? Even though I do have contacts with TIDAL, they haven't responded to me to this question... is it something proprietary? Glorified UPnP?

<!-- gh-comment-id:749183847 --> @michaelherger commented on GitHub (Dec 21, 2020): What is TIDAL Connect? Even though I do have contacts with TIDAL, they haven't responded to me to this question... is it something proprietary? Glorified UPnP?
Author
Owner

@sashahilton00 commented on GitHub (Dec 21, 2020):

It’s their version of Spotify connect iirc. Think it exists on Sonos currently

<!-- gh-comment-id:749260147 --> @sashahilton00 commented on GitHub (Dec 21, 2020): It’s their version of Spotify connect iirc. Think it exists on Sonos currently
Author
Owner

@lealoureiro commented on GitHub (Dec 22, 2020):

Is like Spotify Connect functionality but for Tidal. But not sure if they have public API available to build something like librespot to be able to create remote tidal client/player for linux.

<!-- gh-comment-id:749270080 --> @lealoureiro commented on GitHub (Dec 22, 2020): Is like Spotify Connect functionality but for Tidal. But not sure if they have public API available to build something like librespot to be able to create remote tidal client/player for linux.
Author
Owner

@hmelder commented on GitHub (Dec 22, 2020):

It's a websocket connection with mDNS discovery.

On Tue, 22 Dec 2020, 01:26 Leandro Loureiro, notifications@github.com
wrote:

Is like Spotify Connect functionality but for Tidal. But not sure if they
have public API available to build something like librespot to be able to
create remote tidal client/player for linux.


You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/librespot-org/librespot/issues/552#issuecomment-749270080,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AK35JFHXUDQAG77TAQNX43LSV7RVDANCNFSM4VAF65DA
.

<!-- gh-comment-id:749359231 --> @hmelder commented on GitHub (Dec 22, 2020): It's a websocket connection with mDNS discovery. On Tue, 22 Dec 2020, 01:26 Leandro Loureiro, <notifications@github.com> wrote: > Is like Spotify Connect functionality but for Tidal. But not sure if they > have public API available to build something like librespot to be able to > create remote tidal client/player for linux. > > — > You are receiving this because you commented. > Reply to this email directly, view it on GitHub > <https://github.com/librespot-org/librespot/issues/552#issuecomment-749270080>, > or unsubscribe > <https://github.com/notifications/unsubscribe-auth/AK35JFHXUDQAG77TAQNX43LSV7RVDANCNFSM4VAF65DA> > . >
Author
Owner

@lealoureiro commented on GitHub (Dec 22, 2020):

It's a websocket connection with mDNS discovery.

On Tue, 22 Dec 2020, 01:26 Leandro Loureiro, @.***> wrote: Is like Spotify Connect functionality but for Tidal. But not sure if they have public API available to build something like librespot to be able to create remote tidal client/player for linux. — You are receiving this because you commented. Reply to this email directly, view it on GitHub <#552 (comment)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/AK35JFHXUDQAG77TAQNX43LSV7RVDANCNFSM4VAF65DA .

There is any documentation regarding how to use it?

<!-- gh-comment-id:749537852 --> @lealoureiro commented on GitHub (Dec 22, 2020): > It's a websocket connection with mDNS discovery. > […](#) > On Tue, 22 Dec 2020, 01:26 Leandro Loureiro, ***@***.***> wrote: Is like Spotify Connect functionality but for Tidal. But not sure if they have public API available to build something like librespot to be able to create remote tidal client/player for linux. — You are receiving this because you commented. Reply to this email directly, view it on GitHub <[#552 (comment)](https://github.com/librespot-org/librespot/issues/552#issuecomment-749270080)>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/AK35JFHXUDQAG77TAQNX43LSV7RVDANCNFSM4VAF65DA> . There is any documentation regarding how to use it?
Author
Owner

@shawaj commented on GitHub (Jan 2, 2021):

Not sure this is supposed to be publicly available but it's in an open GitHub repo https://github.com/seniorgod/ifi-tidal

<!-- gh-comment-id:753535351 --> @shawaj commented on GitHub (Jan 2, 2021): Not sure this is supposed to be publicly available but it's in an open GitHub repo https://github.com/seniorgod/ifi-tidal
Author
Owner

@sashahilton00 commented on GitHub (Jan 2, 2021):

Saw that, don't think it's supposed to be public, but regardless a quick look at it and the licenses would suggest that Tidal has also taken steps to prevent people from coming up with their own implementations - looks to be some kind of certificate authentication which I'm sure they can revoke, along with the references to https://github.com/andrivet/ADVobfuscator would suggest that they're not interested in having an open solution. Hopefully someone has spare time on their hands to take a closer look, but I think it probably belongs in a separate project from this one.

<!-- gh-comment-id:753544509 --> @sashahilton00 commented on GitHub (Jan 2, 2021): Saw that, don't think it's supposed to be public, but regardless a quick look at it and the licenses would suggest that Tidal has also taken steps to prevent people from coming up with their own implementations - looks to be some kind of certificate authentication which I'm sure they can revoke, along with the references to https://github.com/andrivet/ADVobfuscator would suggest that they're not interested in having an open solution. Hopefully someone has spare time on their hands to take a closer look, but I think it probably belongs in a separate project from this one.
Author
Owner

@hmelder commented on GitHub (Jan 3, 2021):

I think we should wait until they implement a server in their desktop app. But the nodejs client is neat and has all the certificates (even a readme).

<!-- gh-comment-id:753574362 --> @hmelder commented on GitHub (Jan 3, 2021): I think we should wait until they implement a server in their desktop app. But the nodejs client is neat and has all the certificates (even a readme).
Author
Owner

@shawaj commented on GitHub (Jan 3, 2021):

@DerNuntius so the desktop app doesn't support tidal connect yet?

The nodejs client you mention - is that publicly available? Do you have a link?

@sashahilton00 agree it looks like they have intentionally provided a way to be able to shut it down. Whether they would though with a community implementation giving them publicity and promoting paid accounts is another issue though I guess... As from what I understood, librespot is not official and can be shut down too?

As a side note, interestingly that repo is for two products which don't yet exist called iFi ZenStream and NanoStream which are presumably based on ARMv7.

<!-- gh-comment-id:753586677 --> @shawaj commented on GitHub (Jan 3, 2021): @DerNuntius so the desktop app doesn't support tidal connect yet? The nodejs client you mention - is that publicly available? Do you have a link? @sashahilton00 agree it looks like they have intentionally provided a way to be able to shut it down. Whether they would though with a community implementation giving them publicity and promoting paid accounts is another issue though I guess... As from what I understood, librespot is not official and can be shut down too? As a side note, interestingly that repo is for two products which don't yet exist called iFi ZenStream and NanoStream which are presumably based on ARMv7.
Author
Owner

@hmelder commented on GitHub (Jan 3, 2021):

The desktop app can control a tidal connect enabled device and discover
new devices. There’s no server implemented. I’ve unpacked the electron app
you can do that too. I won’t publish the NodeJS package.

On 3. Jan 2021 at 09:50:38, Aaron Shaw notifications@github.com wrote:

@DerNuntius https://github.com/DerNuntius so the desktop app doesn't
support tidal connect yet?

The nodejs client you mention - is that publicly available? Do you have a
link?


You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/librespot-org/librespot/issues/552#issuecomment-753586677,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AK35JFH5WVTAAQKNHCNXC7TSYAVV5ANCNFSM4VAF65DA
.

<!-- gh-comment-id:753614880 --> @hmelder commented on GitHub (Jan 3, 2021): The desktop app can control a tidal connect enabled device and discover new devices. There’s no server implemented. I’ve unpacked the electron app you can do that too. I won’t publish the NodeJS package. On 3. Jan 2021 at 09:50:38, Aaron Shaw <notifications@github.com> wrote: > @DerNuntius <https://github.com/DerNuntius> so the desktop app doesn't > support tidal connect yet? > > The nodejs client you mention - is that publicly available? Do you have a > link? > > — > You are receiving this because you were mentioned. > Reply to this email directly, view it on GitHub > <https://github.com/librespot-org/librespot/issues/552#issuecomment-753586677>, > or unsubscribe > <https://github.com/notifications/unsubscribe-auth/AK35JFH5WVTAAQKNHCNXC7TSYAVV5ANCNFSM4VAF65DA> > . >
Author
Owner

@shawaj commented on GitHub (Jan 3, 2021):

Ah so you mean the desktop app is an electron app?

And when you say there is no server implemented you mean that the desktop app doesn't allow that machine to act as a device that displays on connect?

<!-- gh-comment-id:753618878 --> @shawaj commented on GitHub (Jan 3, 2021): Ah so you mean the desktop app is an electron app? And when you say there is no server implemented you mean that the desktop app doesn't allow **that machine** to act as a device that displays on connect?
Author
Owner

@hmelder commented on GitHub (Jan 3, 2021):

Exactly.

On Sun, 3 Jan 2021, 14:42 Aaron Shaw, notifications@github.com wrote:

Ah so you mean the desktop app is an electron app?

And when you say there is no server implemented you mean that the desktop
app doesn't allow that machine to act as a device that displays on
connect?


You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/librespot-org/librespot/issues/552#issuecomment-753618878,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AK35JFCRGH4ZUWJPADGEV63SYBX4DANCNFSM4VAF65DA
.

<!-- gh-comment-id:753664070 --> @hmelder commented on GitHub (Jan 3, 2021): Exactly. On Sun, 3 Jan 2021, 14:42 Aaron Shaw, <notifications@github.com> wrote: > Ah so you mean the desktop app is an electron app? > > And when you say there is no server implemented you mean that the desktop > app doesn't allow *that machine* to act as a device that displays on > connect? > > — > You are receiving this because you were mentioned. > Reply to this email directly, view it on GitHub > <https://github.com/librespot-org/librespot/issues/552#issuecomment-753618878>, > or unsubscribe > <https://github.com/notifications/unsubscribe-auth/AK35JFCRGH4ZUWJPADGEV63SYBX4DANCNFSM4VAF65DA> > . >
Author
Owner

@shawaj commented on GitHub (Jan 4, 2021):

@DerNuntius does it have any details about how connect works etc? Or it just ties into their API?

<!-- gh-comment-id:753728778 --> @shawaj commented on GitHub (Jan 4, 2021): @DerNuntius does it have any details about how connect works etc? Or it just ties into their API?
Author
Owner

@hmelder commented on GitHub (Jan 4, 2021):

Looks like the client sends the oauth access and refresh token after
establishing connection for the first time. After that the client only
sends Playback requests or asks for the state. The tidal connect server
(device) requests the http stream from the tidal Api
(/v1/playbackinfopostpaywall).
The reason why tidal is obfuscating and securing the server is that there
are raw drm-free http streams requested from the API (and likely licensing).

On Mon, 4 Jan 2021, 03:45 Aaron Shaw, notifications@github.com wrote:

@DerNuntius https://github.com/DerNuntius does it have any details
about how connect works etc? Or it just ties into their API?


You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/librespot-org/librespot/issues/552#issuecomment-753728778,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AK35JFAHCNNYTVZTSLXZ723SYETTLANCNFSM4VAF65DA
.

<!-- gh-comment-id:753799275 --> @hmelder commented on GitHub (Jan 4, 2021): Looks like the client sends the oauth access and refresh token after establishing connection for the first time. After that the client only sends Playback requests or asks for the state. The tidal connect server (device) requests the http stream from the tidal Api (/v1/playbackinfopostpaywall). The reason why tidal is obfuscating and securing the server is that there are raw drm-free http streams requested from the API (and likely licensing). On Mon, 4 Jan 2021, 03:45 Aaron Shaw, <notifications@github.com> wrote: > @DerNuntius <https://github.com/DerNuntius> does it have any details > about how connect works etc? Or it just ties into their API? > > — > You are receiving this because you were mentioned. > Reply to this email directly, view it on GitHub > <https://github.com/librespot-org/librespot/issues/552#issuecomment-753728778>, > or unsubscribe > <https://github.com/notifications/unsubscribe-auth/AK35JFAHCNNYTVZTSLXZ723SYETTLANCNFSM4VAF65DA> > . >
Author
Owner

@kingosticks commented on GitHub (Jan 4, 2021):

Do you think it's worth moving this discussion somewhere we wouldn't mind being the victim of a takedown request?

<!-- gh-comment-id:753875562 --> @kingosticks commented on GitHub (Jan 4, 2021): Do you think it's worth moving this discussion somewhere we wouldn't mind being the victim of a takedown request?
Author
Owner

@sashahilton00 commented on GitHub (Jan 19, 2021):

Probably a good idea. Not sure what they'd request was taken down though. Regardless, given that it's all speculative at the moment and doesn't relate to librespot directly, I'm going to close this issue and suggest that discussion moves to the Gitter chat. If headway is made then this issue can be reevaluated.

<!-- gh-comment-id:762554575 --> @sashahilton00 commented on GitHub (Jan 19, 2021): Probably a good idea. Not sure what they'd request was taken down though. Regardless, given that it's all speculative at the moment and doesn't relate to librespot directly, I'm going to close this issue and suggest that discussion moves to the Gitter chat. If headway is made then this issue can be reevaluated.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/librespot#349
No description provided.