corporate-gadfly / Tunlr-Clone

302 stars 57 forks source link

Hulu Plus on iPad #39

Open michaeldyrynda opened 10 years ago

michaeldyrynda commented 10 years ago

Hi there,

I've got everything working nicely with this setup, but have noticed that when using Hulu Plus on the iPad that video traffic is coming via the VPS (from Edgecast), rather than from the nearest CDN directly as is the case when accessing from OS X.

Whilst I realise that you're not offering any support, I was wondering if there were any hints as to how I can approach this (if at all).

Relatedly, and for anybody else that may be wondering, it appears that advertising is proxied via the VPS, too.

corporate-gadfly commented 10 years ago

've got everything working nicely with this setup, but have noticed that when using Hulu Plus on the iPad that video traffic is coming via the VPS (from Edgecast), rather than from the nearest CDN directly as is the case when accessing from OS X.

Care to post some snippets from your /var/log/named/named.log?

michaeldyrynda commented 10 years ago

This was whilst watching on the iPad

02-Mar-2014 10:47:37.967 queries: info: client 202.a.b.c#53095: query: t2.hulu.com IN A +ED (172.x.y.z)
02-Mar-2014 10:47:37.971 queries: info: client 202.a.b.c#59871: query: ns1.hulu.com IN A +EDC (172.x.y.z)
02-Mar-2014 10:47:37.973 queries: info: client 202.a.b.c#56576: query: ns1.hulu.com IN AAAA +EDC (172.x.y.z)
02-Mar-2014 10:47:38.462 queries: info: client 202.a.b.c#64751: query: pt.hulu.com IN A +ED (172.x.y.z)
02-Mar-2014 10:48:23.620 queries: info: client 202.a.b.c#5561: query: httpls-e.hulu.com IN A +ED (172.x.y.z)

This was whilst watching via OS X

02-Mar-2014 21:44:35.426 queries: info: client 150.a.b.c#54386: query: lb._dns-sd._udp.home.gateway IN PTR + (172.x.y.z)
02-Mar-2014 21:44:35.428 queries: info: client 150.a.b.c#60445: query: lb._dns-sd._udp.0.1.168.192.in-addr.arpa IN PTR + (172.x.y.z)
02-Mar-2014 21:44:35.429 queries: info: client 150.a.b.c#57996: query: ws.pusherapp.com IN A + (172.x.y.z)
02-Mar-2014 21:44:35.430 queries: info: client 150.a.b.c#57751: query: 1-courier.sandbox.push.apple.com IN A + (172.x.y.z)
02-Mar-2014 21:44:35.432 queries: info: client 150.a.b.c#58109: query: radarsubmissions.apple.com IN A + (172.x.y.z)
02-Mar-2014 21:44:35.443 queries: info: client 150.a.b.c#49829: query: www.apple.com IN A + (172.x.y.z)
02-Mar-2014 21:44:35.445 queries: info: client 150.a.b.c#61690: query: apple.com IN A + (172.x.y.z)
02-Mar-2014 21:44:35.446 queries: info: client 150.a.b.c#64414: query: 1-courier.push.apple.com IN A + (172.x.y.z)
02-Mar-2014 21:44:35.447 queries: info: client 150.a.b.c#61020: query: p03-streams.icloud.com IN A + (172.x.y.z)
02-Mar-2014 21:44:35.448 queries: info: client 150.a.b.c#59455: query: drive.google.com IN A + (172.x.y.z)
02-Mar-2014 21:44:35.449 queries: info: client 150.a.b.c#53451: query: api.getcloudapp.com IN A + (172.x.y.z)
02-Mar-2014 21:44:35.450 queries: info: client 150.a.b.c#49804: query: 43.1.168.192.in-addr.arpa IN PTR + (172.x.y.z)
02-Mar-2014 21:44:35.568 queries: info: client 150.a.b.c#8639: query: www.google.com IN A + (172.x.y.z)
02-Mar-2014 21:44:36.021 queries: info: client 150.a.b.c#6215: query: www.google.com IN A + (172.x.y.z)
02-Mar-2014 21:44:36.422 queries: info: client 150.a.b.c#53524: query: udtlhouxwr.home.gateway IN A + (172.x.y.z)
02-Mar-2014 21:44:36.423 queries: info: client 150.a.b.c#44992: query: jfjqwcglkw.home.gateway IN A + (172.x.y.z)
02-Mar-2014 21:44:36.427 queries: info: client 150.a.b.c#11964: query: mvwtyogdwu.home.gateway IN A + (172.x.y.z)
02-Mar-2014 21:44:36.629 queries: info: client 150.a.b.c#59916: query: udtlhouxwr.home.gateway IN A + (172.x.y.z)
02-Mar-2014 21:44:36.634 queries: info: client 150.a.b.c#61499: query: jfjqwcglkw.home.gateway IN A + (172.x.y.z)
02-Mar-2014 21:44:36.638 queries: info: client 150.a.b.c#63496: query: mvwtyogdwu.home.gateway IN A + (172.x.y.z)
02-Mar-2014 21:44:37.897 queries: info: client 150.a.b.c#6193: query: s.hulu.com IN A + (172.x.y.z)
02-Mar-2014 21:44:37.898 queries: info: client 150.a.b.c#41370: query: static.ak.facebook.com IN A + (172.x.y.z)
02-Mar-2014 21:44:37.898 queries: info: client 150.a.b.c#50050: query: static.huluim.com IN A + (172.x.y.z)
02-Mar-2014 21:44:37.899 queries: info: client 150.a.b.c#39046: query: t.hulu.com IN A + (172.x.y.z)
02-Mar-2014 21:44:37.900 queries: info: client 150.a.b.c#58634: query: www.hulu.com IN A + (172.x.y.z)
02-Mar-2014 21:44:37.901 queries: info: client 150.a.b.c#25007: query: r.hulu.com IN A + (172.x.y.z)
02-Mar-2014 21:44:38.114 queries: info: client 150.a.b.c#55440: query: t2.huluim.com IN A + (172.x.y.z)
02-Mar-2014 21:44:38.115 queries: info: client 150.a.b.c#65313: query: www.facebook.com IN A + (172.x.y.z)
02-Mar-2014 21:44:38.117 queries: info: client 150.a.b.c#44694: query: t2.hulu.com IN A + (172.x.y.z)
02-Mar-2014 21:44:39.533 queries: info: client 150.a.b.c#51228: query: p03-caldav.icloud.com IN A + (172.x.y.z)
02-Mar-2014 21:44:39.777 queries: info: client 150.a.b.c#21669: query: secure.hulu.com IN A + (172.x.y.z)
02-Mar-2014 21:44:39.806 queries: info: client 150.a.b.c#62173: query: calendar.google.com IN A + (172.x.y.z)
02-Mar-2014 21:44:40.027 queries: info: client 150.a.b.c#21952: query: secure.hulu.com IN A + (172.x.y.z)
02-Mar-2014 21:44:40.054 queries: info: client 150.a.b.c#50862: query: webdav.facebook.com IN A + (172.x.y.z)
02-Mar-2014 21:44:41.218 queries: info: client 150.a.b.c#39006: query: www.google-analytics.com IN A + (172.x.y.z)
02-Mar-2014 21:44:41.220 queries: info: client 150.a.b.c#12711: query: platform.twitter.com IN A + (172.x.y.z)
02-Mar-2014 21:44:41.223 queries: info: client 150.a.b.c#11662: query: connect.facebook.net IN A + (172.x.y.z)
02-Mar-2014 21:44:41.316 queries: info: client 150.a.b.c#6982: query: ib3.huluim.com IN A + (172.x.y.z)
02-Mar-2014 21:44:41.333 queries: info: client 150.a.b.c#17781: query: graph.facebook.com IN A + (172.x.y.z)
02-Mar-2014 21:44:41.378 queries: info: client 150.a.b.c#34889: query: p.hulu.com IN A + (172.x.y.z)
02-Mar-2014 21:44:41.422 queries: info: client 150.a.b.c#25762: query: blog.hulu.com IN A + (172.x.y.z)
02-Mar-2014 21:44:41.767 queries: info: client 150.a.b.c#49354: query: p.hulu.com IN A + (172.x.y.z)
02-Mar-2014 21:44:41.769 queries: info: client 150.a.b.c#24909: query: pt.hulu.com IN A + (172.x.y.z)
02-Mar-2014 21:44:41.770 queries: info: client 150.a.b.c#28658: query: urlcheck.hulu.com IN A + (172.x.y.z)
02-Mar-2014 21:44:41.772 queries: info: client 150.a.b.c#38895: query: assets.hulu.com IN A + (172.x.y.z)
02-Mar-2014 21:44:42.120 queries: info: client 150.a.b.c#14423: query: beacon.scorecardresearch.com IN A + (172.x.y.z)
02-Mar-2014 21:44:42.122 queries: info: client 150.a.b.c#42691: query: js.dmtry.com IN A + (172.x.y.z)
02-Mar-2014 21:44:42.151 queries: info: client 150.a.b.c#22014: query: googleads.g.doubleclick.net IN A + (172.x.y.z)
02-Mar-2014 21:44:42.177 queries: info: client 150.a.b.c#12448: query: www.google-analytics.com IN A + (172.x.y.z)
02-Mar-2014 21:44:42.235 queries: info: client 150.a.b.c#44988: query: s-static.ak.facebook.com IN A + (172.x.y.z)
02-Mar-2014 21:44:42.259 queries: info: client 150.a.b.c#15546: query: ib4.huluim.com IN A + (172.x.y.z)
02-Mar-2014 21:44:42.330 queries: info: client 150.a.b.c#44493: query: ib1.huluim.com IN A + (172.x.y.z)
02-Mar-2014 21:44:42.341 queries: info: client 150.a.b.c#10834: query: ib2.huluim.com IN A + (172.x.y.z)
02-Mar-2014 21:44:42.359 queries: info: client 150.a.b.c#27802: query: ib3.huluim.com IN A + (172.x.y.z)
02-Mar-2014 21:44:42.583 queries: info: client 150.a.b.c#8346: query: ib1.huluim.com IN A + (172.x.y.z)
02-Mar-2014 21:44:42.751 queries: info: client 150.a.b.c#46051: query: ib2.huluim.com IN A + (172.x.y.z)
02-Mar-2014 21:44:43.029 queries: info: client 150.a.b.c#36745: query: ib3.huluim.com IN A + (172.x.y.z)
02-Mar-2014 21:44:43.326 queries: info: client 150.a.b.c#56119: query: ib4.huluim.com IN A + (172.x.y.z)
02-Mar-2014 21:44:43.336 queries: info: client 150.a.b.c#43958: query: ib3.huluim.com IN A + (172.x.y.z)
02-Mar-2014 21:44:43.734 queries: info: client 150.a.b.c#22842: query: log.dmtry.com IN A + (172.x.y.z)
02-Mar-2014 21:44:44.510 queries: info: client 150.a.b.c#19165: query: fbstatic-a.akamaihd.net IN A + (172.x.y.z)
02-Mar-2014 21:44:44.512 queries: info: client 150.a.b.c#11198: query: 0-p-06-frc1.channel.facebook.com IN A + (172.x.y.z)
02-Mar-2014 21:44:44.513 queries: info: client 150.a.b.c#63487: query: fbcdn-profile-a.akamaihd.net IN A + (172.x.y.z)
02-Mar-2014 21:44:44.570 queries: info: client 150.a.b.c#19903: query: www.facebook.com IN A + (172.x.y.z)
02-Mar-2014 21:44:44.799 queries: info: client 150.a.b.c#45135: query: www.facebook.com IN A + (172.x.y.z)
02-Mar-2014 21:44:44.888 queries: info: client 150.a.b.c#27518: query: hulu-darwinfs.fplive.net IN A + (172.x.y.z)
02-Mar-2014 21:44:44.888 queries: info: client 150.a.b.c#16397: query: sync.tidaltv.com IN A + (172.x.y.z)
02-Mar-2014 21:44:44.894 queries: info: client 150.a.b.c#45669: query: bid.g.doubleclick.net IN A + (172.x.y.z)
02-Mar-2014 21:44:44.894 queries: info: client 150.a.b.c#24558: query: tags.bluekai.com IN A + (172.x.y.z)
02-Mar-2014 21:44:45.001 queries: info: client 150.a.b.c#8637: query: loadr.exelator.com IN A + (172.x.y.z)
02-Mar-2014 21:44:45.643 queries: info: client 150.a.b.c#34904: query: loadr.exelator.com IN A + (172.x.y.z)
02-Mar-2014 21:44:45.817 queries: info: client 150.a.b.c#56227: query: fbstatic-a.akamaihd.net IN A + (172.x.y.z)
02-Mar-2014 21:44:46.032 queries: info: client 150.a.b.c#62579: query: ads-v-darwin.hulu.com IN A + (172.x.y.z)
02-Mar-2014 21:44:46.746 queries: info: client 150.a.b.c#50452: query: fbcdn-profile-a.akamaihd.net IN A + (172.x.y.z)
02-Mar-2014 21:44:46.862 queries: info: client 150.a.b.c#19109: query: b.scorecardresearch.com IN A + (172.x.y.z)
02-Mar-2014 21:44:46.864 queries: info: client 150.a.b.c#58203: query: a.huluad.com IN A + (172.x.y.z)
02-Mar-2014 21:44:46.867 queries: info: client 150.a.b.c#50412: query: ads-v-darwin.hulu.com IN A + (172.x.y.z)
02-Mar-2014 21:44:47.609 queries: info: client 150.a.b.c#29495: query: a.huluad.com IN A + (172.x.y.z)
02-Mar-2014 21:44:47.666 queries: info: client 150.a.b.c#56606: query: ads-v-darwin.hulu.com IN A + (172.x.y.z)
02-Mar-2014 21:44:47.819 queries: info: client 150.a.b.c#50452: query: fbcdn-profile-a.akamaihd.net IN A + (172.x.y.z)
02-Mar-2014 21:44:49.316 queries: info: client 150.a.b.c#27077: query: secure-us.imrworldwide.com IN A + (172.x.y.z)
02-Mar-2014 21:44:50.824 queries: info: client 150.a.b.c#50452: query: fbcdn-profile-a.akamaihd.net IN A + (172.x.y.z)
02-Mar-2014 21:44:59.916 queries: info: client 150.a.b.c#50452: query: fbcdn-profile-a.akamaihd.net IN A + (172.x.y.z)
02-Mar-2014 21:45:16.816 queries: info: client 150.a.b.c#17601: query: fbcdn-profile-a.akamaihd.net IN A + (172.x.y.z)
02-Mar-2014 21:45:19.647 queries: info: client 150.a.b.c#56652: query: secure-us.imrworldwide.com IN A + (172.x.y.z)
02-Mar-2014 21:45:23.688 queries: info: client 150.a.b.c#44836: query: ping.chartbeat.net IN A + (172.x.y.z)
02-Mar-2014 21:45:27.043 queries: info: client 150.a.b.c#50452: query: fbcdn-profile-a.akamaihd.net IN A + (172.x.y.z)
02-Mar-2014 21:45:29.216 queries: info: client 150.a.b.c#53716: query: ans.oobesaas.adobe.com IN A + (172.x.y.z)
02-Mar-2014 21:45:39.814 queries: info: client 150.a.b.c#60445: query: lb._dns-sd._udp.0.1.168.192.in-addr.arpa IN PTR + (172.x.y.z)
02-Mar-2014 21:45:49.112 queries: info: client 150.a.b.c#48997: query: fbcdn-profile-a.akamaihd.net IN A + (172.x.y.z)
02-Mar-2014 21:45:49.788 queries: info: client 150.a.b.c#2140: query: t2.hulu.com IN A + (172.x.y.z)

I'll have to double check the logs when I'm at home to test with my iPad after work tonight. I'd expect the iPad to be much less noisy, given it doesn't have all the extra assets to load.

Cheers!

michaeldyrynda commented 10 years ago

Yep, so this is iPad

03-Mar-2014 12:06:15.820 queries: info: client 202.a.b.c#61706: query: httpls-1.hulu.com IN A +ED (209.x.y.z)
03-Mar-2014 12:06:56.556 queries: info: client 202.a.b.c#26581: query: t.hulu.com IN A +ED (209.x.y.z)
03-Mar-2014 12:10:12.041 queries: info: client 202.a.b.c#64167: query: pt.hulu.com IN A +ED (209.x.y.z)
03-Mar-2014 12:12:05.495 queries: info: client 202.a.b.c#28318: query: t2.hulu.com IN A +ED (209.x.y.z)
03-Mar-2014 12:12:05.496 queries: info: client 202.a.b.c#51203: query: ns1.hulu.com IN A +EDC (209.x.y.z)
03-Mar-2014 12:12:05.498 queries: info: client 202.a.b.c#15907: query: ns1.hulu.com IN AAAA +EDC (209.x.y.z)

Only when watching on iPad. This was the same ep watching on my MacBook.

03-Mar-2014 12:14:26.998 queries: info: client 202.a.b.c#52595: query: ib4.huluim.com IN A +ED (209.x.y.z)

There was about 80MB of traffic for the first 5 minutes, so not enough for the content that was streaming so not sure where it's coming from but it didn't change at all when watching on the MacBook.

It's not a big deal as I moved to BuyVM and have twice as much bandwidth per month available as what my ISP allows per month, but would be interesting to know where the data is coming from, what it is and what's different between the two devices.

corporate-gadfly commented 10 years ago

Are you using dnsmasq on your router? If yes, then perhaps you could fine tune which domains get sent to your DNS. For example, instead of sending hulu.com, send specifically httpls-1.hulu.com and ib4.huluim.com only. Play around with it and let us know.

michaeldyrynda commented 10 years ago

I'm using bind on my local network and forwarding select domains to the DNS server on the VPS. I managed to break the iPad app a couple of times to the point where the interface was blank haha. I'll continue to play with it over the next day or two and see how I go.

Unrelated to Hulu, if I was to want BBC iPlayer to work, I'd need to fire up a VPS in a similar fashion to this one in the appropriate geographic region, too yeah? Then just forward those DNS requests from the US-based one to the UK-based one? Am I theoretically on the right track?

Thanks for your help.

corporate-gadfly commented 10 years ago

Unrelated to Hulu, if I was to want BBC iPlayer to work, I'd need to fire up a VPS in a similar fashion to this one in the appropriate geographic region, too yeah? Then just forward those DNS requests from the US-based one to the UK-based one? Am I theoretically on the right track?

That's right. At that cost point, you might be better off going with a commercial DNS service which can give you a presence in multiple continents.

michaeldyrynda commented 10 years ago

Yeah, I thought as much.