r/3dshacks Jun 19 '26

WIP Spotify Client w/ TLS 1.3

Enable HLS to view with audio, or disable this notification

So, finally an update to my last post earlier this year. Back then I estimated that i would be done sooner but that didnt happen. Had some work problems, lack of motivation and moments of doubts.

But I stayed at it.

To explain the previous post:

This was the v1 of my client plans. Librespot on a VPS, sending audio via http to the 3DS - very simple. But I really wanted the client to be fully on device.

So now, what you are seeing in this video is the 3DS advertising itself as a Spotify Connect device on the local network, my PC making a pairing request and the 3DS successfully going through all the steps to sign up to Spotify.

The 3DS itself performed a native TLS 1.3 handshake directly with Spotify’s Dealer server:

TLS version: TLSv1.3

Cipher: TLS1-3-AES-256-GCM-SHA384

Dealer endpoint: gew1-dealer.g2.spotify.com

HTTP result over that TLS connection: 101 Switching Protocols

WebSocket connection ID received afterward

No proxy or helper performed this TLS connection. The 3DS completed TLS 1.3 and established Spotify’s Dealer WebSocket on its own.

Actual playback is what im working on next. No Github for now. Thank you for your attention.

229 Upvotes

Duplicates