NanoAdblocker / NanoFilters

Script snippets and filters
GNU General Public License v3.0
127 stars 28 forks source link

[Anti-adblock] hulu.com #97

Open cjzk opened 6 years ago

cjzk commented 6 years ago

URLs where this issue occurs (Required)

https://www.hulu.com/watch/102162#i0,p12,s8,d0

Screenshots (Required)

https://i.imgur.com/Uzr1FxK.png

Screenshot of console (Required, press F12 to open the console)

https://i.imgur.com/4eJbzCV.png

Describe the issue (Optional if obvious)

While the filters generally work as expected, it occasionally breaks, a blue screen flashes for a second and I'm left with the screen above, the player is unresponsive until I refresh. It happens at complete random during the blank ad timeouts.

Apologies if this is a known issue, I couldn't find anything related.

Reproduction Steps (Optional if trivial)

It seems to be a guessing game when it will happen. Going through the process of "ads" will eventually turn up this anomaly.

Environment (Required)

Your filter lists (Required)

https://i.imgur.com/v4elArj.png

jspenguin2017 commented 6 years ago

This did come up during testing; the discussion took place in a confidential issue so it's normal that you couldn't find it.

This is really rare so we couldn't investigate the cause. How often do this happen to you?

cjzk commented 6 years ago

Understandable. Shortly after writing my post it happened three more times on one video. It's quite common on my end, each time the console showed the same text.

Maybe it's based on location and difficult to reproduce without a proxy? I'm not much of an expert on how ads are pulled, but it's an idea.

jspenguin2017 commented 6 years ago

Got another report from the US:

Reference: Quick Issue Reporter

Message:
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36
Nano Defender 14.58

[Ads] https://www.hulu.com/watch/1265355#i0,p0,s3,d0

ads are skipping but the "unable to load a message from our sponsor" is still there
jspenguin2017 commented 5 years ago

On Reddit, by jakky567:

||assetshuluimcom-a.akamaihd.net/*.mp3$media,domain=hulu.com,redirect=noopmp3-0.1s,third-party,important

This is to stop the voice over telling you to choose a video experience.

||ads-e-darwin.hulustream.com/published/*.mp4$media,redirect=noopmp4-1s,domain=hulu.com,third-party

Hulu technically has this one too. Although I can't remember if I ever see it on desktop.

hulu.com##+js(nano-setInterval-booster.js

To speed through the watch video experience

||akamaihd.net/prerolls$media,domain=hulu.com,third-party,redirect=noopmp4-1s,important

Preroll ads.

I suppose if you want to take it further you could block those ad timers so it looks like a 1 second black screen.

I also have some trackers I'm looking at too.
jspenguin2017 commented 5 years ago

Can someone try these?

@@||moatads.com/*/moatwrapper.js$script,domain=hulu.com
||assetshuluimcom-a.akamaihd.net/*.mp3$media,redirect=noopmp3-0.1s,domain=hulu.com
||ads-e-darwin.hulustream.com/published/*.mp4$media,redirect=noopmp4-1s,domain=hulu.com
||ads-v-darwin.hulustream.com/published/*.mp4$media,redirect=noopmp4-1s,domain=hulu.com
||akamaihd.net/prerolls$media,redirect=noopmp4-1s,domain=hulu.com
killer23d commented 5 years ago

Can someone try these?

@@||moatads.com/*/moatwrapper.js$script,domain=hulu.com
||assetshuluimcom-a.akamaihd.net/*.mp3$media,redirect=noopmp3-0.1s,domain=hulu.com
||ads-e-darwin.hulustream.com/published/*.mp4$media,redirect=noopmp4-1s,domain=hulu.com
||ads-v-darwin.hulustream.com/published/*.mp4$media,redirect=noopmp4-1s,domain=hulu.com
||akamaihd.net/prerolls$media,redirect=noopmp4-1s,domain=hulu.com

Preroll is fixed but Hulu has a new timer so the 1 sec blank video no longer works. Instead I am still getting the "Sorry, we're unable to load a message" message for full 120 seconds.

jspenguin2017 commented 5 years ago

This has GeoLock and requires account. It is horrifyingly hard to test. The solution in ND can be implemented as filters, so I'm removing the rule from ND.

jspenguin2017 commented 5 years ago

@killer23d How long are the ads on average? If they are a lot shorter than 2 minutes we could consider a whitelist. Also, can you reproduce on uBO default?

killer23d commented 5 years ago

@jspenguin2017 when Hulu detects ad block, it will show a full 2 min of error message. Otherwise the ad duration is random from 1 min to 4 min.

I can get you VPN or DNS bypass and account access if you need to troubleshoot.

jspenguin2017 commented 5 years ago

Can you reproduce ads/anti-adblock on uBO default?

killer23d commented 5 years ago

Can you reproduce ads/anti-adblock on uBO default?

Finally got time to try, with default and updated all the default filters. The ads are still on, even pre-roll are showing. The issue with Hulu is that when it detects a ad block and the error message will be shown at full length. The length is random.

I've attached the console log. www.hulu.com-1543542694076.log

jspenguin2017 commented 5 years ago

@okiehsch Can you test?

okiehsch commented 5 years ago

No.