yashsingh1/xdaforums huggingface dataset:
[Google Chromecast] varun.c.jain:
Well congratulations to you! On the other hand being able to access Netflix Brazil while sitting in São Paulo ain't much of a mean feat :silly:

This tutorial is meant for two kinds of people:

users like myself who happen to be in a country where Netflix isn't available

users like you who happen to be in a Netflix supported country, but would like to access the Netflix content of another country

Entende? :highfive:
[Google Chromecast] mayhemrules:
Don't know why you are having that attitude, but I appreciate his comment. I'm outside the US and Chromecast supposedly only worked with Netlfix US. Glad to know its not the case.
[Google Chromecast] mr_esmit:
Not true. I have Netflix Dom Rep (and currently reside in the Dom Rep.) and chromecast works fine. The problem is when I use orbot to access Netflix US. No chromecast button. Must be a conflict between the Orbot Ip and my ISP/modem ip
[Google Chromecast] poisike:
I can't access signup.Netflix.com and android app doesn't open when using Unlocator DNS servers.

EDIT: Ok, got the Android app working. Had to use VPN to sign up, after that it works. Now need to get my router setup for Chromecast. Thanks for the guide rufree2talk!
[Google Chromecast] varun.c.jain:
You're welcome! As a matter of fact, I have written the guide very poorly. If you would have setup your router to begin with, you wouldn't have needed the VPN step to sign up for Netflix. You would have been able to access Netflix without a VPN, sign up and directly Netflix content!
[Google Chromecast] gunjandubey:
Thanks, a small query

Hi Thanks so much for this important post.

Can you please help or suggest what DNS codes I should use in India ?

Regards,

Gunjan
[Google Chromecast] varun.c.jain:
India or wherever, you should be using the DNS IPs of the service that you are using. Did you sign up for the Unlocator beta? If so, then you should be using Unlocator's DNS IPs (primary 50.112.186.233 and secondary 50.112.143.40)
[Google Chromecast] Nbsss:
Does "tomato" or "gargoyle" third party firmware on wndr3800 allow you to do this?
[Google Chromecast] varun.c.jain:
Yes I believe it will... this method will work with DD-WRT, Tomato, Gargoyle or any other firmware which gives you proper control of your router... I am not sure what manufacturer/make is the WNDR3800 but if it has a compatible Tomato image you can very well flash it and use this procedure.
[Google Chromecast] Nbsss:
Cheers, I've flashed countless android phones but never a router. But I'd change the firmware just for this. Hopefully I don't brick it, should arrive in 3-5 days.

I heard good things about gargoyle, might give that one a try.

Anyone have any tips before I give it a go?
[Google Chromecast] basboss:
Big thanks for this, I really appreciate it, but can you please tell me what to look for in Tomato firmware to enable the method you mentioned.

Thanks again,
[Google Chromecast] varun.c.jain:
I do not have a Tomato router, but the documentation is very easily available on the internet at Tomato Firmware/Menu Reference

Connect to your Tomato router at http://192.168.1.1 as root user:

Go to Basic --> Network --> LAN --> Static DNS and configure Unlocator's DNS IPs (50.112.186.233 and 50.112.143.40) in the first two text boxes

Go to Advanced --> DHCP/DNS --> DNSmasq Custom Configuration and type strict-order in the text box

Go to Administration --> Scripts --> Firewall and add the two lines

iptables -t nat -A PREROUTING -d 8.8.8.8 -j DNAT --to-destination 50.112.186.233
iptables -t nat -A PREROUTING -d 8.8.4.4 -j DNAT --to-destination 50.112.143.40

Save and reboot your router and test whether you are able to open any Geoblocked website for eg. http://signup.netflix.com
[Google Chromecast] lenghuo:
Unfortunately this method doesn't work for me. My router is tplink TL-WR841N V8. I add the static routing to a non-existent gateway address and get the "Destination host unreachable" when I ping the 8.8.8.8 and 8.8.4.4. However my chromecast still cannot access internet. I can find the chromecast in the router's DHCP client list. Any idea?

Thanks

Frank
[Google Chromecast] DJames1:
Can your Chromecast access the internet normally when you turn off the static routes?

What do you have set as the default DHCP DNS addresses in your router?

Any particular reason you're using two different non-existent gateway IP addresses in the static routes for 8.8.8.0 and 8.8.4.0?
[Google Chromecast] lenghuo:
1. No

2. The default DHCP DNS is my IPS's DNS. I am in USA.

3. No, I just fill them randomly.

Thanks
[Google Chromecast] bhiga:
You really need to get your Chromecast working normally before you head off trying to change its DNS, otherwise you're just flipping switches that aren't connected for no result. :)
[Google Chromecast] DJames1:
Take the static routes out of your router - they aren't doing any good until you solve this problem. Can you now ping 8.8.8.8 successfully from your computer? Is your computer on WiFi or wired ethernet connection to the router?

If your computer can ping 8.8.8.8 successfully, then you have to ask what's different about the way the Chromecast connects to the router that it apparently can't.

From the images you posted above it looks like you see the Chromecast in the DHCP table in the router (i.e., it's getting a local IP address from the router), and the computer and the Chromecast are both on the same sub-net (local IP address range). Do you have something like a MAC address authorization filter set in your router's WiFi settings? I don't think the CC would get an IP address assigned in that case. Any other type of filtering set up? Did you previously try blocking the Google DNS addresses by a different method? You might also want to check out the other thread on a similar problem: http://xdaforums.com/showpost.php?p=49264317&postcount=11. His issue was that he had set up Parental Controls blocking on the ISP side.
[Google Chromecast] Pully:
On my tp-link wdr3600 I didn't use static route I just blocked ip addresses 8.8.8.0 and 8.8.4.0 from being available to the CC's mac address , unfortunately can't provide pics as I'm away from home atm

EDIT

Managed to RDP into PC, attached screenshot (apologies for crappy resolution). Looks like I blocked IP Range 8.8.4.4 - 8.8.8.8 not what I stated earlier.

This was all done under Access Control
[Google Chromecast] bhiga:
I'm not sure where the Google servers live, but blocking the entire range is probably "catching" some stuff that Chromecast might need.

Set up separate block rules for 8.8.4.4 - 8.8.4.4 and 8.8.8.8 - 8.8.8.8
[Google Chromecast] hellasketchy:
Asus RT-N66U + Chromecast + Unblock-Us

This worked for me until a router reboot, this is on Asus stock firmware:

1. go to hidden admin page of router: 192.168.1.1/Main_AdmStatus_Content.asp (use your router IP)

2. enter the following:

iptables -t nat -A PREROUTING -d 8.8.8.8 -j DNAT --to-destination 208.122.23.22

iptables -t nat -A PREROUTING -d 8.8.4.4 -j DNAT --to-destination 208.122.23.23

3. verify by entering the following:

iptables -t nat -L

You should see this:

Chain PREROUTING (policy ACCEPT)

target prot opt source destination

VSERVER all -- anywhere YOUR_ISP

DNAT all -- anywhere google-public-dns-a.google.com to:208.122.23.22

DNAT all -- anywhere google-public-dns-b.google.com to:208.122.23.23

Chain POSTROUTING (policy ACCEPT)

target prot opt source destination

MASQUERADE all -- !YOUR_ISP anywhere

MASQUERADE all -- 192.168.1.0/24 192.168.1.0/24

(note: Asus already includes masquerade rules so you don't need to add them again.)
[Google Chromecast] josbor11:
Question, I have ATT U-Verse and my router is a 2Wire 3801HGV. From what I know, there is no way to mess with the DNS settings on this. Am I **** out of luck?

Also, it seems to have a modified UI so that there is no routing options for typing in IP's and Gateways. I have found the user manual and it says that it should be under Settings - Broadband - Routing but I do not have that tab under Broadband.
[Google Chromecast] bhiga:
Then you need a rooted Chromecast if you want it to use a different DNS.

Since you're in the US that's only necessary if you want to access content from other countries though.

Sent from a device with no keyboard. Please forgive typos, they may not be my own.
[Google Chromecast] DJames1:
According to my tests, that shouldn't work. What response do you get when you try to ping 8.8.8.8 from your PC with these router settings?
[Google Chromecast] josbor11:
Thats pretty much exactly what I am trying to do. There are a lot of things on UK netflix that are not on US and I use Hola Unblocker to do that. However, does not work with Chromecast. Looks like I cant root mine though since I already did the OTA update.
[Google Chromecast] bhiga:
Rooting Chromecast is tough because there is no interface other than the boot loader. Only units with the original vulnerable boot loader can be rooted, and once connected to Internet it will try to automatically update so you must root straight out of the box if it is rootable at all.

Check my Rootable Serial numbers sticky thread

Sent from a device with no keyboard. Please forgive typos, they may not be my own.
[Google Chromecast] josbor11:
Yeah I just read it. I already did the OTA update. :(
[Google Chromecast] MalekoUK:
Does netflix work for some people outside the US without modifying your CC??

Mine has worked from day one without any rooting or editing...
[Google Chromecast] djinob:
Yes, but you'd only be viewing Netflix content from your region.
[Google Chromecast] ryohunter:
Excellent !!! it works like a charm ! ;) Thank you so much !

Ryô
[Google Chromecast] Pully:
Only the Chromecast is denied access to that IP range so any other devices can ping 8.8.8.8 with no issue - I use unblock-us DNS servers on the router Network - WAN advanced settings.

If I block that IP range to my network then when pinged the ping request times out so I guess the CC then falls back to the router DNS servers?
[Google Chromecast] lenghuo:
Thanks, I will check the other thread.
[Google Chromecast] SwissJay:
Issue of Trust

I really like that this fix is working. Only issue I see is that we have to trust Unlocator uncoditionally. All the network traffic can be seen by unlocator (please correct me, if this is wrong)

So an ideal solution for me would be to only use unlocator on the Chromecast and all other Internet traffic (wifi on the phone, laptop, ...) goes through the local ISP or TOR/VPN which I know. Is it possible to configure Unlocator that way? Or is the given solution already doing this?
[Google Chromecast] DJames1:
Unlocator is a DNS service. When you use them they don't normally see all your traffic, just the domain name lookups. However you are correct that they can intercept any of your traffic by returning an IP address that points to their server rather than the intended one, which is actually how they intercept and handle geographic location checks. They won't be able to decode your secure https traffic, but there's still an issue of trust. Even more concerning, if you use a particular DNS service for all your lookups, you have to consider that they might be vulnerable to hacking. Who can say how carefully Unlocator or the other DNS services have secured their own servers? They haven't been targeted until now as far as I know, but that might make them complacent. Think what a tempting target they might be for a hacker.

The best answer is to use them only for the intended application. Don't put their DNS address in your router and leave it there permanently. Put it only in the Chromecast and your Android/iOS control device temporarily while you need it, and remove it when you're done. If you have a router that supports DNSMasq (like DD-WRT firmware), you can set the router to only use the Unlocator DNS for particular sites. This is also better for performance reasons - services like Unlocator are slower at DNS lookups than your regular ISP DNS, and over-using them for all your regular lookups increases their workload unnecessarily so that they have to add capacity and increase prices eventually.

For me the quickest way to use a DNS server like Unlocator temporarily with my devices that don't support individual DNS settings is a little free Windows app called DHCPsrv. It's a simple DHCP server where you can pre-set the DNS addresses to be assigned to each device by MAC address. I just run a quick script that turns off DHCP in my router and starts up DHCPsrv on my PC. Then I turn on or reset the devices like the Chromecast that I want to get special DNS addresses via DHCP. Then I can kill DHCPsrv and turn my router DHCP service back on. The other devices on my network are not affected, and keep using the regular router DNS.
[Google Chromecast] DJames1:
Your results made me do some more tests using my DD-WRT router, and this is what I found:

1. The Chromecast does fall back to the DHCP DNS addresses when it gets no response from the Google DNS addresses 8.8.8.8 and 8.8.4.4 (I was wrong about that before, misled by a bug in my Linksys router firmware).

2. It's not easy to block access to specific IP addresses on Linksys routers and any others that use firmware modeled on Linksys. The Access Restrictions function cannot block specific IP addresses, much as it appears that it should be able to from the description. It can only block

http

access to specific urls, or block specific protocols for all IP addresses (e.g., all DNS lookups to any DNS address). That design is deeply flawed, which probably explains why so many people have had trouble attempting to use it for anything other than date/time restrictions.

3. The correct way to block access to a specific IP address on a router that supports the iptables command is (using Google DNS example):

iptables -I FORWARD -d 8.8.8.8 -j DROP

iptables -I FORWARD -d 8.8.4.4 -j DROP

But for most routers I would recommend that the method of setting a static route to nowhere for the Google DNS addresses to make the Chromecast use DHCP is a lot easier, and works just as well.
[Google Chromecast] droidfreak007:
How do I do this on a linksys e1200?
[Google Chromecast] Rylo:
Static route to nowhere works great on a fritzbox 7360 with FritzOS 6.1(original firmware)

Thanks for the tip.
[Google Chromecast] DJames1:
Go into Advanced Routing and create a static route like this:

Address: 8.8.8.0

Mask: 255.255.255.0

Gateway: 192.168.0.99 <-- any local IP address that doesn't exist

repeat for 8.8.4.0

This says that any IP address beginning with 8.8.8 is reached via the LAN gateway at 192.168.0.99. Since that address doesn't exist, the router returns a "Destination unreachable" response, which causes the Chromecast to fall back to the DHCP DNS addresses.
[Google Chromecast] Pris0n:
Do you use the DNS of unlocator for your whole network?

Is it possible to change the DNS in the fritzbox for just one user of the netwrok, e.g. chromecast`?
[Google Chromecast] bhiga:
Keep in mind that both Chromecast and the device that is making cast requests should be using the same DNS. Otherwise you are likely to run into a situation where the casting device is sending requests that Chromecast cannot retrieve or fulfil.

For example, if my Chromecast is using UK DNS, but my phone is using US DNS, a YouTube cast request I make to Chromecast from my phone will only work if that content is available in both US and UK YouTube.
[Google Chromecast] Pris0n:
Good reminder. But I don't know if it's a good idea to send all my traffic over unlocator.
[Google Chromecast] DJames1:
You can change your DHCP server temporarily to issue special DNS addresses to specific devices,. See this post earlier in the thread.

Keep in mind another reason to have your Chromecast and your iOS/Android control device use the same DNS: your router does some caching of routes, so successive messages to the same destination using different DNS lookups may get misdirected. In fact I find it's always a good idea to reboot the router to clear the cache after changing DNS for a service like Netflix.
[Google Chromecast] captaincool9:
Chromecast Netflix delocate

I have ddwrt loaded on a cisco/linksys router I use primarily as a wireless AP. I also have fiber optic internet service and have no choice but to use the actiontec router they provided.

Is there a way to use my ddwrt ap to force my chromecast to use my unblock-US DNS instead of the hard coded google dns servers?
[Google Chromecast] hcoling:
Works on Netgear routers and with UnoTelly DNS

I'm glad I read all the post because I can confirm I used this with my UnoTelly servers and configures my Netgear N300 Router (WNR2000v4). I currently can see Netflix, Hulu, and hear Pandora from Mexico.

Thank you for this great contribution.
[Google Chromecast] Sleeepy2:
OK I don't know a lot about networking etc. so here is my setup and does anyone have any idea how I can configure this to get the Unlocator DNS on my chromecast?

Main router is a D-Link 655 and you can't get DD-WRT for it, it is my DHCP server etc.

Second router TL-WR1042ND running DD-WRT is connected to the D-Link via hardwire cable.

I have gone through the unlocator setups for the DD-WRT router however I think because this is not the DHCP server this isn't working.

I have tried blocking the Google DNS in the D-Link however the chromecast just says I can not connect to the internet...

Any suggestions?

Oh I did try switching the routers however I had other issues so I don't think that is an option.
[Google Chromecast] DJames1:
If the Chromecast says it can't connect to the internet, you are probably blocking more than the Google DNS addresses. How exactly are you trying to block the Google DNS addresses in your D-Link DIR-655?

What do you use the DD-WRT router for? Is it running a separate WiFi network? Do the devices connected to it have internet access? There may be some other options as to how you connect the Chromecast.
[Google Chromecast] Sleeepy2:
The DD-WRT is to extend my WIFI range and give me some jacks in another room.

I had configured the Dlink with Access Control and to filter the Port Set Dest IP to 8.8.8.8 with any protocol and Port 53 just on the Chromcast IP. That is what caused the cant connect to the internet.

I just realized that I can make the DD-WRT the DHCP server but it doesn't seem like that is working ether.

My now current setup:

DLink:

connected to modem

DHCP is off.

DNS is set to Unlocator

DD-WRT:

Gateway is DLink IP

Local DNS set to DLink IP

Static DNS 1 and 2 set to Unlocator (just incase)

DNSMasq for DHCP and DNS both Checked

DNSMasq, Local DNS and No DNS Rebind all enabled and strict -order added to the DNSMasq Options

In the Administration added to the command Shell

iptables -t nat -A PREROUTING -d 8.8.8.8 -j DNAT --to-destination 50.112.186.233

iptables -t nat -A PREROUTING -d 8.8.4.4 -j DNAT --to-destination 50.112.143.40

Still no luck.

Try to play a US show on my Android Phone works, try to send that to the chromcast I get We're having trouble playing this title right now.

Ultimately I would like to get this setup so that just the chromcast is on the Unlocator DNS but I will worry about that after I get the basics working.

Any help is appreciated.

Thanks
[Google Chromecast] DJames1:
Access Control doesn't work the way people think it should work on most routers. You're blocking all internet access when you think you told it just to block the Google DNS addresses. That's why the Chromecast can't connect to the internet. In my experiments I could not find a way to make standard Access Control block just the Google DNS addresses.

A better and easier way to block the Google DNS addresses is the static-route-to-nowhere method detailed earlier in this thread. It does work on any D-Link router.

Another option to consider is to use a temporary DHCP server to issue the DNS addresses you want to issue to the Chromecast, and then turn your regular DHCP server back on. The DHCP settings will stick in the Chromecast until you turn it off. I use a simple PC-based DHCP server where I can have pre-sets for certain devices. I just turn off the DHCP server in the router for a moment, run the PC-based DHCP server, turn on or update any devices I want to get specific network settings, and then re-enable the router DHCP server.
[Google Chromecast] Sleeepy2:
Hmmm, not sure what I was doing wrong however I followed some directions in this thread somewhere and now have the DD-WRT as the DHCP server.

ChromeCast is now working for US Netflix and also configured it so that all of my other devices are using my regular DNS and just the Unlocator DNS for netflix.

WooHoo.

Thanks to all for the help (direct and indirect).
[Google Chromecast] lordnotan:
I've read the whole thread but i'm still stuck at the part where neither of my devices can cast to the CC. I would say that the problem is at my router since I can not access any command lines nor can I find any settings to apply an outbound rule. My router is a Dlink DIR-845L. I've already removed the myDlink registration and I get an OK at the Unlocator website for my settings. Any tips/suggestions i should go for?
[Google Chromecast] DJames1:
So you can cast to your Chromecast normally when you don't attempt to use Unlocator DNS settings?

But after you put the Unlocator DNS settings in your D-Link router, you can't cast successfully any more? Does the Chromecast connect to the internet and show ready as usual? Can you successfully cast content which is not geo-blocked?

Have you tried blocking the Google DNS addresses by the static-route-to-nowhere method for D-Link routers illustrated earlier in this thread?
[Google Chromecast] lordnotan:
When I don't use the Unlocator DNS settings I can cast my local (Sweden) Netflix content. In my browser and on my Nexus 7 I can play the US content but not cast it to my CC, I just get an error message that say I cant play the current title at this moment and I should try again later.

Regarding the blocking of Google DNS i could not find the setting to put an outbound rule to block Google DNS on my router. I know that on several older Dlink routers I've had in the past i could specify outbound rules but could not find anything on this one.
[Google Chromecast] DJames1:
Under Advanced - Routing create two routing rules:

IP: 8.8.8.0

Subnet Mask: 255.255.255.0

Gateway: 192.168.0.99 <-- This must be a non-existent IP address on your LAN

Hops: 1

Enable

and

IP: 8.8.4.0

Subnet Mask: 255.255.255.0

Gateway: 192.168.0.99 <-- This must be a non-existent IP address on your LAN

Hops: 1

Enable

This will cause the Google DNS addresses to return "Destination unreachable", and the Chromecast will fall back to using the DNS addresses that you set in your router's DHCP fields.
[Google Chromecast] lordnotan:
I tried that earlier on, but only got an error message which said: Invalid Gateway for my interface. I don't have an "Enable" option, but I do have an "Interface" option which shows my WAN connection and IP outside my local network. I can't seem to change the interface, which complains about the gateway not being on the same network.
[Google Chromecast] DJames1:
Can you post a screen shot of your router page?
[Google Chromecast] lordnotan:
i.imgur.com/nbbjGyW.png

I've tried different IPs on the gateway but still the same error message.
[Google Chromecast] bhiga:
The message is telling you that your chosen IP isn't in the same subnet as the interface. Try changing the WAN dropdown to LAN, that should fix it.
[Google Chromecast] lordnotan:
The problem is that I can't choose anything else. I only see the WAN on the dropdown. Could it be that I missed something else which makes the LAN option unavailable?
[Google Chromecast] bhiga:
Hmm.. You can try changing Metric/Hops to 2 and see if it auto-updates, though the sidebar help seems to imply that you can only create WAN routes, which would be sad.