Netflix on Linux. Again.

When it comes to convoluted, unstable, workarounds, those that have from time to time arisen to allow Linux users to watch Netflix have been both the most popular and the most convoluted and unstable. It appears that cycle may have been broken. At least I hope so. Read on.

There are two things everyone needs to understand about Netflix. First, they have some of the best engineers in the business. Their streaming service does more with less than anything else out there, outperforming Google’s YouTube even on the latter’s best days. In fact if it wasn’t for the apparently continual efforts of cable and telco providers to degrade Netflix’s performance, the public would readily see that.

The second is that Netflix is, by the nature of its business, always under the oppressive influence of Big Media, particularly the major studios in Hollywood. They haven’t taken things lying down, of course — and have the scars to prove it.

As a result, although everyone knew it was a monumentally bad idea, Netflix was forced to use first, Adobe Flash, and later, Microsoft Silverlight, DRM to “protect” its streams (although these measures have never been anything more than a speedbump to either pirates or legitimate subscribers).

With the decline of Flash (brought on in no small part by Apple banning it from their devices, but predominantly due to its undeniable instability) and the imminent demise of Silverlight (end of life is 2021) there was an opportunity to Do the Right Thing [TM] arose, and Neflix took it.

Going forward Netflix is rolling with HTML5 and Encrypted Media Extensions (EME), part of the HTML5 spec since last year but only recently implemented in Google Chrome, Microsoft Internet Explorer and Apple Safari with proprietary, closed source, plugins to supply DRM. Mozilla Firefox announced plans to implement an EME extension from Adobe to support DRM[1].

In implementing EME Google decided to make the change across all the platforms supported for Chrome, including Linux. At the same time, Netflix continues to block access by browsers presenting a Linux User-Agent string [2]. Of course it only took a few moments for someone to realize that access could be acquired by simply changing the User-Agent string.

This technique is the subject of an August, 2014 blog post entitled, How To Watch Netflix on Ubuntu The Easy Way. Other than installing the latest stable version of Chrome, all you have to do to take advantage of this is to add the User Agent Switcher for Chrome extension and set up a custom User Agent string according to the directions. Here are the unvarnished facts:

New User-Agent Name: Netflix for Linux
New User-Agent String: Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2114.2 Safari/537.36
Group: Chrome
Append?: Replace
Indicator Flag: IE

I’ve tried this myself on a few Fedora 20 machines and it works perfectly. An important side effect is that it allowed me to remove wine from my HTPC at home, thereby at least marginally improving its security in that Windows executables can no longer be run on it.

[1] Mozilla has caught a lot of flack for this decision. Personally I think that respect for freedom almost demands that Firefox support EME. I’m less certain about whether Mozilla should actually be endorsing any specific implementation of DRM in its browser. In that respect I would have preferred that they simply leave the choice of plugin to users.

[2] Ironic since Netflix uses Linux servers on the back-end.

This entry was posted in Editorial, System Administration on by .

About phil

My name is Phil Lembo. In my day job I’m an enterprise IT architect for a leading distribution and services company. The rest of my time I try to maintain a semi-normal family life in the suburbs of Raleigh, NC. E-mail me at philipATlembobrothersDOTcom. The opinions expressed here are entirely my own and not those of my employers, past, present or future (except where I quote others, who will need to accept responsibility for their own rants).