UPDATE: 18 May 2013 - A new firmware (v5) has changed the way ads are handled on the Roku such that this guide is no longer relevant.
Roku are are a pretty neat little media streaming box but one thing that I think lets them down are the trashy and mostly irrelevant adverts on the home page. Wouldn't it be great if you could get rid of these?
The ads are served by the third party ad platform, ZEDO. You can block the ads from displaying by simply blocking this domain entirely or by being more targeted and blocking the specific sub-domain serving the Roku ads. A TCPDUMP of my Roku shows that the ad images currently come from 'd7.zedo.com' (although this may change).
I block them by adding a custom DNS record for this sub-domain to my home router pointing to the loopback address (127.0.0.1). There are or course many other ways you could do this, but the best way will largely depend on your own set-up and resources.
Roku are are a pretty neat little media streaming box but one thing that I think lets them down are the trashy and mostly irrelevant adverts on the home page. Wouldn't it be great if you could get rid of these?
The ads are served by the third party ad platform, ZEDO. You can block the ads from displaying by simply blocking this domain entirely or by being more targeted and blocking the specific sub-domain serving the Roku ads. A TCPDUMP of my Roku shows that the ad images currently come from 'd7.zedo.com' (although this may change).
I block them by adding a custom DNS record for this sub-domain to my home router pointing to the loopback address (127.0.0.1). There are or course many other ways you could do this, but the best way will largely depend on your own set-up and resources.
Excellent! Works like a charm. thx
ReplyDeleteIf you could also post the domains to block ads on Crackle and Popcornflix you'd be doing the Roku world a great service...
ReplyDeleteAs Crackle is a free ad supported service I don't think filtering it's adverts would be in the right spirit.
ReplyDeleteDear Paul:
ReplyDeleteI wonder if you could be a bit more guidance on this.
I've a CLEAR router (Hub Express), and 'm on a Mac.
I can't find where to put the DNS record in, other than in the NETWORK PREFS on the Mac itself.
Would you mind giving me a step-by-step, please?
Sorry, I'm neither a Mac user or at Hub Express owner. Like I say there are many ways to achieve this with the info I've provided, your best bet is to get googling.
DeleteLooks like an update changed to different Ad servers.
ReplyDeleteDo you know what the new servers are?
I used wireshark via tomato and the servers I got didn't stop the ads when I filtered them.
Appreciate your feedback and thanks for the blog post. I was successful with blocking zedo but now they're back.
Hi, trying to wireshark my roku and still having a hard time figuring out where my ads are coming from. Just trying to block a dirty Crackle ad that is showing in my main roku menu.
ReplyDeleteThank you for this post. I use OpenDNS and blocked all traffic to zedo.com and my ads are gone. Now all I have is a virtual billboard that says ROKU. I have the new v5 interface and that often tasteless ad is about 10"x25" on my screen. Got rid of things I don't want my kids seeing(me either for that matter). Really appreciate it.
ReplyDeleteNever mind. They came back. I have now traced the ads to one of two domains api.roku.com and cloudservices.roku.com. After blocking those the ads disappear but so does the channel store. All my channels work, but I can't get to new ones. Works for me though as I have all the channels I want. Still checking...
ReplyDeleteThanks Matt, that is pretty much where I'd got to as well. I'll post something if I find a solution, but right now I'm not overly optimistic.
DeleteThe ads and Channel Store channel images are being served from http://channels.roku.com/images/* and the file names include a uid appended with -hd.jpg or -sd.jpg. You can filter these by using some kind of proxy or content filtering system and regex the file name but doing so will render the channel store useless.
ReplyDeleteForgot to mention that this applies to v5 of the UI. I've "fixed" my Roku3 but my older Roku with the older UI is still displaying the ads. The ads should go away when it gets the update. Unless of course Roku gets wind of this and changes things again.
DeleteThe older UI ads can still be blocked by following the original post.
ReplyDeleteI just set up a Roku 3, and blocked cloudservices.roku.com and api.roku.com as Matt suggested, which works; the Channel Store is collateral damage. I wanted to add that this also prevents you from adding channels from the roku.com web interface to your account. You can add them on the web interface, but you won't see them on the Roku until you lift the blocking and let it phone home.
ReplyDeleteAs a workaround: Add the channel in the web interface, lift the blocking, go to Settings and do a scan for new software (you'll see the channel added), then restore the blocking.
All you have to do is block cloudservices.roku.com and nothing else. This will block ads but allow you to have your channel store and still update.
ReplyDeleteI deployed a project for work with 90 rokus all on one account and wanted to block ads. This method worked for me with no problems.
I tried blocking - cloudservices.roku.com and I still have ads on Roku3.
DeleteGuys, I have traced new ads to be coming from Akamai domain. Roku has changed the way they’re hosting advertisements. So far it appears as they are constantly rotating IPs from where the ads come from.
ReplyDeleteHere is an example from Wireshark capture:
HTTP GET /images/20140829101524-FA_2014_APS-RedOaks_Roku3_HD_350x490._V344320249_-hd-hd.jpg HTTP/1.1
So far I have traced the ads to be coming from following IPs which can be blocked on the router…not sure however if this will change in future but so far it’s been working.
23.74.8.91
23.74.8.106
23.74.8.104
23.3.96.137
23.3.96.155
23.3.98.89
23.3.98.49
23.3.98.72
23.210.5.21
23.210.5.97
23.210.5.90
23.210.5.121
23.63.227.122
23.63.227.146
23.63.227.147
199.117.103.88
67.132.183.51
Just an FYI, blocking inbound and outbound to "cloudservices.roku.com" does block the large ad in the menu interface on the right side in the latest software.
ReplyDeleteAfter you block it, you have to wait, as the device seems to be caching the last ad. After the block happens the channel list also works, however it takes a long time to load. Mine takes 20-30 seconds on a Roku 3. I tried updating from the system menu and that also appears to be working, however no updates have actually came through so I can't say for sure.
I have added channels from the channel list and it has worked with the block.
After the last ad expires, the spot for it will be filled with a grey backdrop that says Roku on it. Anyway for people who like specifics I blocked;
Inbound Any protocol Any port cloudservices.roku.com
Outbound Any protocol Any port cloudservices.roku.com
You can probably get away with only blocking outbound, but I haven't had time to try it.
Thanks for the info !
ReplyDelete