Brno Hat

Jiri Eischmann's Blog

Netflix blocks Fedora users

Netflix should finally support their HTML5 player in Firefox 52 on Linux.  This version has already landed in Fedora and been there for a couple of weeks and we’ve already received complaints from users who are confused. Both Netflix and Mozilla claim it should work, but it doesn’t for them.

Netflix still forwards them to their Silverlight player.  That’s pretty much a showstopper because Silverlight has been dead for quite a few years and it has never been easy to make it work on Linux.

In fact, Firefox 52 in Fedora does work with Netflix. As we found out the problem is in the user agent. The default user agent is:

Mozilla/5.0 (X11; Fedora; Linux x86_64; rv:52.0) Gecko/20100101 Firefox/52.0

If you remove “Fedora” from the user agent, Netflix suddenly stops offering Silverlight and just works. One would say that they only want to support official builds from Mozilla and allow only the upstream user agent. It would be an unfortunate way to do it, but at least partly understandable. But things get really weird when you try replacing “Fedora” with  random strings. Because then it also works which means that Netflix blocks Fedora specifically!

Netflix has supported Chrome for much longer and it also has behaved the same there. We set the Fedora user agent via an extension and the only reason why it works in Chrome on Fedora is that we blacklisted the netflix.com domain for the Fedora user agent.

We could do the same in Firefox, but I think it’s something that should be fixed on the side of Netflix. Users should not be denied a service based on their user agent. It takes us 15 years back when Opera had to fake its user agent to work with websites. Moreover Fedora isn’t anyhow different in this than other Linux distributions, so why is it blocked while others are not?

As a Netflix customer, I tried to call their support. I got to a first line support person who didn’t have much of a clue, trying to convince me that Silverlight works just fine on Fedora (which is not really true). So I tried to explain the problem and asked if they could pass it on to responsible engineers. We’ve also been trying to reach them through various contacts. Linux is not probably an important platform for Netflix, but they at least care enough to block specifically Fedora, so they should care enough to fix it. Moreover there are many Linux engineers in the company who could care, too. If you know anyone working in Netflix, please tell them about this and ask them to pass it on to responsible people. If you’re both a Netflix and Fedora user, you may also try to contact their support and let them know that it doesn’t work for you. Maybe if they collect more such cases it will make them look at it.

Edit: I’ve been told that Netflix also blocks user agents of other popular distros. So to make it work you can replace “Fedora” with random strings so long as it’s not “openSUSE”, “Debian”,  “CentOS”. The only exception is Ubuntu which is not blocked.

Edit2: I’ve managed to contact the right people in Netflix and they promised to fix it within the next couple of weeks!

29 responses to “Netflix blocks Fedora users”

  1. frugaldod Avatar

    That sucks! I find it interesting that there is so much issue with it working on Linux. Aren’t most Smart TVs operating off of some form of Linux? Same thing with Smartphones and Tablets that are operating off of Android which is a Linux derivative. Problems with stuff like Netflix is what prevents Linux from being main stream.

    1. kingnothing Avatar

      dear frugaldod, Netflix works under Linux (e.g., with Chrome or with Firefox when you fake your header). This is not a case of technical problems but rather Netflix telling a part of their customer base (i.e., Firefox under Fedora-Users) that they do not want their custom.

      1. frugaldod Avatar

        Ah I misunderstood I thought Fedora was the first to allow Netflix to work, but it had to be tweaked. I will have to retest then because I have had issues with other versions of linux but it has been at least a couple months since I tried.

        1. eischmann Avatar

          Netflix started supporting Firefox on Linux with the 52 version which was released just a month ago to all distributions including Fedora. Before that it only worked in Chrome.

          1. frugaldod Avatar

            Why is it I have such trouble in Ubuntu? I was just trying with the latest version of Ubuntu & Firefox and it still gives me either an error to get an authentic ‘Firefox’ or sends me to a Netflix help page?

          2. eischmann Avatar

            Are you using Firefox 52? Because I tested it with FF52 on Ubuntu 16.10 and it worked.

  2. jonasfj Avatar
    jonasfj

    Have you considered not setting a custom User-Agent header?

    I know it looks neat, but it’ll break lots of poorly engineered websites and it doesn’t serve to improve the privacy of the end-user.

    Don’t get me wrong, preventing fingerprinting is an uphill battle, and not one we’re likely to win anytime soon. But setting a custom User-Agent headers just makes it too easy.

    1. sesivany Avatar

      I wouldn’t say it’s a custom user-agent, it’s a distribution-wide thing, it represents the system Firefox is running on. Many other distributions use it, too. We’ve done some tests and you can be fingerprinted by so many things that using a user-agent that narrows down your system from Linux to Fedora makes really no difference.

      1. B Avatar
        B

        Just because fighting browser fingerprinting is hard, you shouldn’t give up. Generic user-agent is first step: dropping distro-specific parts (by all distros) and display server info. Let’s be honest, where else if not in open source such undertaking is most possible?
        Right now for me (WebGL disabled) default Fedora user-agent is the most distinctive (highest one in x value) browser characteristic in EFF’s test: https://panopticlick.eff.org/

        Some other issues should be dealt with by browsers (eg. adding WebGL to website permissions framework).

        BTW FireFox 52 was supposed to drop battery info, but when I created a new profile on Fedora, dom.battery.enabled was still set to true.

  3. trikke Avatar

    Weird I have been running Netflix on my fedora for months with chrome without tweakings.
    Just upgraded last week to latest release so will test this again tomorrow.

    1. sesivany Avatar

      Read the part about Chrome. For Chrome, we alter the user agent just for netflix.com (and one more domain). That’s why it works. We could do the same for Firefox, but I’d rather find a more systematic solution.

  4. Luya Tshimbalanga Avatar

    I confirmed the problem with Netflix in Firefox 52 running on Fedora 25. It works using custom header addons meaning it is a bug from Netflix.

  5. Chris Avatar
    Chris

    Who needs custom user agents anyway? Why should Firefox on Fedora tell all the world that it is running on Fedora?

  6. Salam Avatar
    Salam

    Have you tried contacting the guy from Netflix (Paul Adolph) who once made “a case here to lift the User-Agent
    filtering which will make Netflix HTML5 play in Chrome” on Ubuntu? Anyway, just FYI, here’s the URL to the related mailing list message:
    https://lists.ubuntu.com/archives/ubuntu-devel-discuss/2014-September/015004.html

  7. sonaten Avatar

    I still have trouble even despite spoofing the UA string. I get Netflix error code F7355-1204. Spoofing to Chrome doesn’t help either. The DRM module is enabled in Firefox, Firefox is restarted, and Fedora 25 is fully upgraded.

    1. sesivany Avatar

      It works for me and everyone I’ve tried it with. It’s not a user-agent problem because if Netflix blocked your user agent they would direct you the the website with instructions to install the Silverlight player. Are you sure you have all the codecs installed?

      1. sonaten Avatar

        I have a brand new Fedora 25 Workstation install, haven’t installed any particular codecs by myself. Maybe that’s why then? I see now I might need to manually install OpenH264?

        1. eischmann Avatar

          I think Firefox uses ffmpeg for multimedia support. That’s what you’ll have to install I suppose. OpenH264 doesn’t help here because that codec can only be used for WebRTC. You will also need a codec for audio, not sure what Netflix is using, probably AC2. But ffmpeg should cover it all.

          1. sonaten Avatar

            Yeah, I enabled OpenH264 and I still get the same. Thanks for the suggestions, I’ll get ffmpeg.

          2. sonaten Avatar

            Yes, a “dnf install ffmpeg” later and I can finally watch Better Call Saul S3! Thank you!

  8. […] di tautan ini, segala string yang dimasukkan kecuali “Fedora” tetap bisa memainkan Netflix via […]

  9. mnuke Avatar
    mnuke

    Thank you for this! I was searching for why Netflix wasn’t working despite press releases that they now supported Linux. Guess they meant Ubuntu, and I spent a weekend digging into my system’s support for DRM, should’ve checked the user agent string first!

  10. Bradly Avatar
    Bradly

    Haha! Yeah… This is Netflix for you. Users of Pale Moon have the same issue. They didn’t budge for us, even though the majority of us are on Windows. In fact, the developer and founder of this browser caught them in a lie.

    Check it out: https://forum.palemoon.org/viewtopic.php?f=15&t=14011#p99910.

  11. Jason Avatar
    Jason

    ffmpeg is not installed by default in Fedora. You may need to enable rpmfusion repos and issue “dnf install ffmpeg-libs” which will install required libraries for Netflix playback.

    1. eischmann Avatar

      Thanks for the advice, but this was not the problem. Read the article.
      BTW the problem with user agent filtering has been resolved.

Leave a Reply

Your email address will not be published. Required fields are marked *