How MyRepublic Teleport works

I’ve just signed up with MyRepublic on their Pure HD service, mostly due to their Teleport service. Briefly, Teleport allows you to watch US only service like Netflix and Hulu+ from Singapore.

In addition, I also purchased a WD TV Live to watch Netflix on my big screen TV. However when I set it up, I realized that the WD TV Live does not work with Netflix! ūüė¶

After feeling sorry for myself, I decided to figure out how Teleport works, and maybe try to fix the issue with Netflix and WD TV Live.

First of all, I heard that many WD TV Live users have managed to let Netflix work using Unblock-Us. I went ahead and tried configuring Unblock-Us, and sure enough, it works! This made me further believe that the issue is not with WD TV Live nor Netflix, and surely is with Teleport.

I set up my laptop to NAT all traffic in and out of the WD TV, so that I could listen to all the traffic.

In short, MyRepublic Teleports uses their DNS to redirect you to an Amazon instance in the US for specific domains – mostly the authentication / setup part of streaming services like Netflix. The main bulk of the streaming content afterwards comes from CDNs, which I believe does not need to go through the US link. Let’s take a look.

The WD TV Live starts off by connecting to nccp-nrdp-31.cloud.netflix.net. If you look it up using MyRepublic DNS servers, you can see that it resolves to an Amazon EC2 instance in the US WEST.

$ dig @103.11.48.190 nccp-nrdp-31.cloud.netflix.net.
<snip>
;; ANSWER SECTION:
nccp-nrdp-31.cloud.netflix.net. 0 IN A 54.215.3.116

$ dig -x 54.215.3.116
<snip>
116.3.215.54.in-addr.arpa. 300  IN      PTR   ec2-54-215-3-116.us-west-1.compute.amazonaws.com.

After that, it connects to 2 other domains, uiboot.netflix.com and api-global.netflix.com. This is where the problem lies – MyRepublic still resolves these two to the same EC2 instance.

uiboot.netflix.com. 0 IN A 54.215.3.116
api-global.netflix.com. 0 IN A 54.215.3.116

As far as I can tell, both¬†nccp-nrdp-31.cloud.netflix.net and¬†uiboot.netflix.com connections are HTTPS, which means they can’t share the same IP. To test my theory, I set up a DNS server that responds with the Unblock-Us DNS servers for¬†uiboot.netflix.com and¬†api-global.netflix.com. It works!

I guess the fix for MyRepublic is simple – they just have to create another 2 instances to take care of the traffic going to the 2 affected domains, and everything should work!

I’ve forwarded them the information, hopefully it’ll help them.