

- #Hack spotify for mac zip file
- #Hack spotify for mac android
- #Hack spotify for mac code
- #Hack spotify for mac download
Except that installed/native apps on Android (sorry, didn't look at iOS - but I'd bet the outcome is the same), those native HTTPS requests can't be configured to trust Charles Proxy's certificate. Charles Proxy can proxy mobile devices and you need to enable SSL proxying. Using Charles Proxy to run a "Map Remote" I could redirect the API requests to my local machine, intercept and rewrite the response - effectively a attack-in-the-middle.įinding the URL to intercept was the hard part. The short answer is yes, but not using the same method, but also it's limited to the Wifi network I'm on. However, I wondered if I could do the same. I rarely see the interface to Spotify as I'm either listening in the car, or I'm switching what playlist I was listening to on my desktop to the mobile phone. In truth my mobile usage is very different. The "before" Spotify is at the top and "after" at the bottom.īut, could I do the same for mobile? Mobile Spotify (for Android) What was mostly fluke too is that I'd only listened to one podcasts in my most recent listening and the API request does have a little more than the six shows (on my desktop certainly) so when the podcast was removed, a suggestion that was normally hidden then appeared. Now loading Spotify on the desktop had no annoying shows 🎉
#Hack spotify for mac code
So using vim (rather than VS Code as it would try to reformat and I didn't want that), I removed the show, and ,episode part, saved the file and put it back into the xpui.spa file using hacking through their withQueryParameters method: $ zip xpui.spa xpui.js However, looking for some of the other parameters (specifically "station") did yield results and right there was a string looking mostly like the query string I was hunting for: types:"album,playlist,artist,show,station,episode" My screenshot below isn't great, but it looked like, initially, I was looking for the a variable…which proved…useless! Renaming and unzipping yielded 188 files and grepping the files gets me closer: $ rg "personalized-recommendations" If there's CSS tucked away in that file, there's bound to be JavaScript too.
#Hack spotify for mac zip file
There's a file called xpui.spa that is a zip file that contains CSS. I can't remember exactly how I landed on it, but this github issue comment gave me the clue I was looking for.

I could find partial mentions of the URL in the binary Spotify app but not enough that it would actually make the API call.

Using grep and ripgrep didn't gt me anywhere. The next step is to find the query and edit it in the source code. Taking that request, and removing the show, from the types property and then composing the request in Charles Proxy (a handy feature) - I could confirm that the shows and podcasts vanish from the response. Looking at the query I can see: types: album,playlist,show,artist,station,episode Specifically this request stood out: GET Using Charles Proxy I was able to identify the Spotify API call that looked like it was asking for shows (along with playlists, etc). If this doesn't work for you, or your system is different, look for the withQueryParameters method in the xpui.js file and modify the e object being returned, stripping values from e.type. You can still find them and still play them, but they just won't be vying for your attention. Now starting Spotify should be completely void of shows and podcasts on the home screen.
#Hack spotify for mac download
You can also download this as a shell script: spotify-fix so you can re-run every time Spotify updates (make sure to chmod u+x spotify-fix and move to a directory in your $PATH). Unzip -p xpui.spa xpui.js | sed 's/withQueryParameters(e)/' > xpui.js

$ cp xpui.spa ~/Desktop/xpui-backup.spa # backups are good The possibilities of error could be location of Spotify being different, or tools having slightly different versions (I'm using zip, unzip and sed - but these for me are all the pre-installed macOS flavours): $ cd /Applications/Spotify.app/Contents/Resources/Apps/ Note that if any one command breaks/errors, then it's wise to stop and look at the error. I've dug a little into Windows, and maybe you might find a way or use something from this post that might help - but I can't see it from the paths I've taken.įirst close Spotify, then in a terminal, run the following commands. Updated - Spotify changed their process, so I've updated the code to strip episodes and shows as of version 1.1.79.763.x. I've published 38 videos for new developers, designers, UX, UI, product owners and anyone who needs to conquer the command line today.
