Saturday, September 22, 2012

Dealing with Amazon MP3 Store's lack of Linux support

Okay, not long after my rant about Amazon dropping support for Linux in their MP3 market place, I cooled down and did a second look. I'd rather fix my problem than bitch - here's what I figured out.

In case you missed it, here's what prompted my outrage: to download albums from Amazon, you download an AMZ file, which is essentially an encoded list of URLs to the MP3s in the album. After supporting this functionality for Linux for a number of years, they suddenly dropped it. If you are a Linux user, they now inform you that you will need to download your MP3s from their Cloud Player, one file at a time.

Click, download, click, download (repeat ad nauseum). If you purchase much music, this is a completely unacceptable solution.

First rule of computer troubleshooting: no matter how outlandish or obscure the problem, somebody has experienced it before you. I did what any self-respecting geek did: I Googled.

Breaking this down, there are actually 2 problems to solve. One is getting Amazon to spit out the AMZ file for the music you want to download. Currently if you attempt to do this on your Linux box, you get their snotty message that says, "On Linux systems, Cloud Player only supports downloading songs one at a time. To download your music, deselect all checkboxes, select the checkbox for the song you want to download, then click the 'Download' button."

Reading the comments of other outraged Linux users, I found that while Amazon had decided not to support Linux, they had gone about implementing this in a laughably half-assed way, by using browser user-agent detection. It's almost as if the Pointy Haired Bosses said, "We need to stop Linux users from downloading AMZ files," and whichever developer was assigned this witless task rolled his eyes and said, "Fine, are you happy now?"

To get around this, you only have to install a half-way decent browser plug in for Firefox or Chrome that allows you to change the user-agent it sends to the web-server. Make it say you are running Microsoft Internet Explorer 8, and (if offered the option) that the browser platform is Windows 7. I had to try a couple of different plug-ins until I found one that satisfied the Amazon webserver. I can verify that Chris Pedrick's user-agent switcher for Firefox works for me.

The second part of the challenge is finding an application that will allow you to decode the AMZ file and actually download your MP3s. If you currently have Amazon's Linux Amazon downloader installed, hey presto! It should continue to work perfectly. Mine did anyway.

If you don't already have it, you have more work ahead of you.

The latest version of Banshee can be used to open the AMZ file and works about as well as the Amazon downloader. Again, I've tried this and it works. One caveat: earlier versions of Banshee do not support this - you'll need to have at least 2.4 installed. Note: thanks to the dickheads at Amazon, you probably won't be able to download the AMZ from within Banshee.

A solution which I have not tried is CLAMz, which is a command line downloader. You will still need to download the AMZ file using the user-agent trick. Another interesting looking app is Pymazon, which runs under Python. Alas, I have not tried this one either.

I've seen people mention running Wine or other emulators that (again) fool Amazon into thinking you are *not* running Linux, but that seems a lot more work than it's worth.

Of course, the easiest solution may be to just ditch Amazon altogether and just start buying tunes from Google.

Regardless of what you decide to do, be sure and do one additional thing: bitch at Amazon.

Go to the Amazon Help Page  and click the Contact Us button on the right side of the page. You will need to log into your account to do this. Once there, let them know just how dissatisfied you are. Be civil, but be forthright.


drenze said...

Thanks for the tip. I've tried this, but the issue I'm having is that Amazon now tells me that I need to install the downloader and won't let me download the AWZ file til I have. Thoughts?


Anonymous said...

Thanks for the article. I just found out that linux is not supported anymore, at least in the download of multiple music files/albums from cloud player. I was, however, just able to download the .amz upon purchase, and use clamz to extract the .mp3 files. This is the process I have always used when I purchase music from amazon, so I have not been affected by the new policy (which seems pretty half-assed, as you say)...well, as of yet, anyway.

Jason said...

I just got hit by this Amazon "update". Had been able to use clamz on the .amz file for years. Very frustrating to have to download each individual song from the cloud player just because of the OS I use. I sent a complaint to Amazon. They replied promptly, and refunded my album purchase, but did not offer a solution. I'll be buying music elsewhere. Sad that they made a change to actually remove functionality.


Rakitha said...

I changed the user agent in Firefox browser and using Banshee I can again download music from Amazon. I'm also keep bitching at Amazon customer service about this issue.
Thanks for the post!

Mat Diss said...

Great post - thanks. I was struggling with individual downloads and thought there must be a better way and this is it. Firefox gave me the option to open Banshee with the AMZ file and it was seamless. Frustratingly it shows there is not a technical issue stopping them supporting Linux - they just can't be bothered. I have performed the requisite bitching!

Dr Ralph said...

Drenze - I think what I did when prompted to install the downloader was just download and promptly discard it. You will need to have your user agent set to IE and Windows as previously described. Again, Amazon's lazy lock out just checks if you've downloaded it - not if it's actually installed.

KP said...

Amazon keeps requiring me to install their player no matter which user-agent string I've set. They offer a launch link, which just fires a proto link specific to the cloud player app (which does nothing, of course).

I wonder if they've changed things around since this post was written.