[HN Gopher] Unofficial Spotify Client for the Nintendo Switch (PoC)
       ___________________________________________________________________
        
       Unofficial Spotify Client for the Nintendo Switch (PoC)
        
       Author : mogery
       Score  : 65 points
       Date   : 2022-08-18 19:00 UTC (4 hours ago)
        
 (HTM) web link (gbatemp.net)
 (TXT) w3m dump (gbatemp.net)
        
       | xeromal wrote:
       | Good job kid!
        
       | lovingCranberry wrote:
       | I tried to create a spotify client for the nintendo switch as my
       | very first rust project. I initially wanted to use librespot as a
       | backend. I gave up pretty quickly, things just went over my head
       | and got too complex.
       | 
       | Congrats to Mogery for releasing this!
        
       | darkwater wrote:
       | Is this on a rooted Switch? Do you need any special HW revision
       | to be able to install extra software like this? Will games still
       | sork?
        
         | skeaker wrote:
         | Yes, mostly yes, and yes. Early hardware revisions are easily
         | hackable while later ones require a fairly expensive modchip.
         | Games will run stock but depending on what software you load in
         | Nintendo can detect modifications and ban you from online
         | services if you're not careful.
        
       | quenix wrote:
       | I was under the impression that all audio Spotify serves is
       | heavily DRM-ed and can only play with special hardware decoders
       | which respect the DRM?
       | 
       | How did was this person able to play the encrypted audio? Does
       | this not let them effectively rip music from Spotify?
        
         | sneakymichael wrote:
         | Just some context: Spotify's official iOS library used to serve
         | streaming [unencrypted, 'raw'] PCM data to the app for
         | playback[1]
         | 
         | "The good old days"
         | 
         | [1] Trace of this, from 2013:
         | https://stackoverflow.com/questions/20614360/does-the-libspo...
        
         | oceanplexian wrote:
         | The DRM has been broken for years, and is still broken (I
         | personally wrote a Rust client to grab music from Spotify in
         | .ogg format) but their lawyers rabidly take down any reference
         | to decrypting it on Github or anywhere else, because well, the
         | implication.
        
         | matthewmacleod wrote:
         | It's not, really - AFAIK the audio is just AES-encypted with a
         | per-session key that you get when logging in (but it's been a
         | long time since I looked). There are a bunch of open
         | implementations, like https://github.com/librespot-
         | org/librespot - I guess it's kind of an open secret that you
         | could rip music if you really wanted to, and you _certainly_
         | used to be able to do that with libspotify when it was still
         | around. I imagine the lawyers will come for you if you 're
         | silly enough to bang on about it.
         | 
         | Certainly there's no need for "special hardware decoders" -
         | Spotify works on loads of devices that have no support for that
         | kind of thing.
        
         | mogery wrote:
         | Spotify DRM is basically security through obscurity. It's just
         | AES-128-CTR over a plain old OGG file. The tricky part is
         | figuring out the extremely odd protocol you have to request
         | audio keys and track data through. That's all.
        
           | seabrookmx wrote:
           | Sounds similar to many encrypted HLS streams you see on the
           | internet.
           | 
           | If you're savvy enough to watch the network tab in the
           | browser devtools, you can grab the key and easily decrypt and
           | assemble the chunks. You can even find reference
           | implementations on github (hls.js for instance).
        
         | OJFord wrote:
         | I don't know how special those decoders could be, obviously not
         | Spotify-specific. Unofficial clients that want to stick around
         | tend to require a premium account, libspotify/spotifyd on Linux
         | for example.
        
       | AdmiralAsshat wrote:
       | Score one for gbatemp still being around. Don't think I've
       | thought of them since loading ROM fan translations onto your
       | Nintendo DSLite flash-cart was a thing.
        
         | [deleted]
        
       ___________________________________________________________________
       (page generated 2022-08-18 23:00 UTC)