Hulu, Netflix and Pandora geo-location bypass – watch/listen to content freely

For many reasons, which I will not elaborate on inside this post, Hulu, Netflix and Pandora (like many other services) block access to their content by making use of geo-location user filtering. So regardless if you already have an account or not, if you’re accessing the websites through an ISP that is not a US internet provider we’re out of luck…OR ARE WE? ūüôā

Not to keep you on your toes, but a small Garage48 startup called Media Hint is providing a FREE means by which users outside the continental US can use Hulu, Netflix and Pandora radio can bypass geo-location restrictions and enjoy their favorite shows and listen to their music.

head over to Media Hint main website

The way in which it all works, is that Media Hint has provided users with a Chrome Browser extension (click link to go to the Chrome Web Store MediaHint website extension page), that users simply have to install and enjoy the awesomeness. (Firefox add-on also available Рcheck MediaHint website as well.)

This is how the Hulu geo-location error page looks like prior to installing the browser extension:

This is what it looks like when Hulu geoblocks you

And this is after installing (re-enabling if disabled) the Media Hint browser extension:

Playing content on Hulu without any geo-location restrictions

For the sake or argument (and if you fear the browser extension requirements) it would be advisable to take a look at the Media Hint Privacy Policy and Term of Use¬†– however after browsing through them for a little bit, it doesn’t look like anything to worry about.

The Chrome Browser Extension permissions are:¬†This extension can access:¬†Your data on all websites –¬†and you can read more about what this means on the Google Chrome Support page, or for¬†convenience¬†I’ve copy/pasted the info below:

This item can read every page that you visit — your bank, your web email, your Facebook page, and so on. Often, this kind of item needs to see all pages so that it can perform a limited task such as looking for RSS feeds that you might want to subscribe to.

Caution: Besides seeing all your pages, this item could use your credentials (cookies) to request or modify your data from websites.

In terms of how exactly it works, the secret sauce is actually a server side javascript that automatically sets a proxy for the Hulu, Pandora and Netflix urls. The proxy itself is hosted on a Linode (US based) server. The proxy settings are only applied for the previous mentioned srvices and do not affect your “other” browsing experiences, as you’ll easily be able to notice in the source code below:

function FindProxyForURL(url, host) {
       var basic_files = [/.*\.gif/, /.*\.png/, /.*\.jpg/, /.*\.mp3/, /.*\.js/, /.*\.css/, /.*\.mp4/, /.*\.flv/, /.*\.swf/, /hulu\.com\/mozart\//, /.*\.json/, /crossdomain\.xml/];
       for(var i=0;i
              if(url.match(basic_files[i])){
                     return 'DIRECT';
              }
       }
       var usa = ['hulu.com', 'netflix.com', 'pandora.com'];
       var direct = ['urlcheck.hulu.com', 'r.hulu.com', 'contactus.netflix.com', 'p.hulu.com', 't2.hulu.com', 'assets.hulu.com', 'll.a.hulu.com', 'ads.hulu.com', 'stats.pandora.com', 'blog.netflix.com', 'nordicsblog.netflix.com', 'blog.pandora.com'];
       for(var i=0;i -1){
                     return 'DIRECT';
              }
       }
       if(host.match(/audio.*\.pandora\.com/) || host.match(/const.*\.pandora\.com/) || host.match(/mediaserver.*\.pandora\.com/) || host.match(/cont.*\.pandora\.com/)){
              return 'DIRECT';
       }
       for(var i=0;i -1){
                     return 'PROXY 50.116.59.63:80';
              }
       }
       return 'DIRECT';
}

As far as the streaming quality, things are¬†pretty¬†awesome at the time of writing this post, with no lags while watching TV shows or listening to online radio. Of course given that this is powered by¬†free of charge proxy server services, an increase in popularity may result, over time, in a degradation of quality leading to a less than ideal viewing or listening experience…but until then¬†“I’m gonna go watch something”¬†:).