uBlockOrigin / uAssets

Resources for uBlock Origin, uMatrix: static filter lists, ready-to-use rulesets, etc.
GNU General Public License v3.0
4.04k stars 759 forks source link

gamespot.com Video Ads #27

Closed ghost closed 6 years ago

ghost commented 8 years ago

One or more specific URLs where the issue occurs

https://github.com/gorhill/uBlock/issues/417 http://www.gamespot.com/videos/fenix-on-his-big-play-and-where-he-stands-vs-bjerg/2300-6425761/

Describe the issue

Video ads are not being blocked. Brightcove uses a way to circumvent adblockers. Was unable to find a working filter. Scriptlet might be needed.

Screenshot(s)

2016-04-23_16-28-52

Your settings

ghost commented 8 years ago

this happens now

https://i.gyazo.com/801d0ab0c455d6600af75629ee65dcf0.png

ghost commented 8 years ago

Nah, still the same issue. Don't be confused by the ad. The screenshot is taken 1 minute ago.

ghost commented 8 years ago

I'm not receiving ads at all, so for you it's a filterlist issue and for me it's anti adblock detection.

ghost commented 8 years ago

Not a filter list issue. They're detecting adblock and serving ads over a channel that ABP style filters can't block. What will happen if you try is the message you get. Happened to me too when I tried to find a filter.

ghost commented 8 years ago

By adblock, you mean the first adblocking extension? What do you mean by "What will happen if you try is the message you get".

By the way, I did find filters for gamespot but apparently, if I add them, the video won't load and play, so I'm stuck there, but I did manage to bypass that JS.

ghost commented 8 years ago

By adblock, you mean the first adblocking extension?

By adblock I mean adblocking in general, in this case uBO.

What do you mean by "What will happen if you try is the message you get".

If you try to block the ad call the message in your screenshot will appear.

By the way, I did find filters for gamespot but apparently, if I add them, the video won't load and play, so I'm stuck there, but I did manage to bypass that JS.

So you blocked the ad and the video? That's not hard at all but kind of useless.

ghost commented 8 years ago

No, I blocked the anti adblock detection JS from being able to check whether I have adblock or not, which is what I usually do and things start loading including videos, but in the case of gamespot, the video won't load which happens very rarely to me. Them serving video ads is normal, every major video serving host is doing that now-a-days including dailymotion and others alike. Brightcove is nasty though.

ghost commented 8 years ago

but in the case of gamespot, the video won't load

Which is why I opened this issue. If you have a solution that would be great.

ghost commented 8 years ago

Which is why I opened this issue. If you have a solution that would be great.

This is actually tricky, but for the sake of argument, you're experiencing something else and while I'm experiencing quite the opposite however none of us have been actually able to watch the video which is the reason we went to browse that, so yeah I'm working on the solution and so far I haven't been able to come up with anything, as I said Brightcover is nasty and not like the usual video players, if I had a solution already I would have proudly posted it.

Hrxn commented 8 years ago

The usual approach of these anti-blockers is to check for availability of a specific resource, and deliver the content only if that check is positive. This can be narrowed down by whitelisting a single resource at each request to find the culprit, but I currently don't know a way to automate this somehow, unfortunately.

ghost commented 8 years ago

I think we're both experiencing the same thing. We can both not watch the video when we block the ad. I can watch the video when I watch the ad and I suppose you could confirm that if you used standard configuration. Like I said in the OP:

Scriptlet might be needed.

Maybe it's true but I think it's better to try what @Hrxn suggested first. Didn't even think about that.

ghost commented 8 years ago

This can be narrowed down by whitelisting a single resource at each request to find the culprit

Not always, I have came up with so many websites where I had to blacklist that particular JS and then the things went back to normal but yeah you're almost on point.

ghost commented 8 years ago

No, he's right. If you whitelist you will unblock any website. The question is how far one wants to go (you don't want to get to a point where it's basically like you're not even using an adblocker) or if the better approach is to block the adblock detection script or use a scriptlet to fool the site so no whitelisting is necessary.

ghost commented 8 years ago

You're talking about whitelisting an entire site in general, hell no. I would never do that. The videos offered by video hosting sites can all be found somewhere on the Internet to watch without the interference of anti anblockers ran by these greedy $$$ hungry sites. I am not that desperate. But I love challenges for that sake I do this, otherwise I have got my own means and tools for getting to that video.

Hrxn commented 8 years ago

No, the point is to whitelist only one specific single element, to trick the anti-block script. This does not mean to "allow" one single ad or something, the element can be changed on the client side, the point is only to fool that check.

ghost commented 8 years ago

Try this and see if you can still watch the video - http://www.gamespot.com/articles/minecrafts-biggest-ever-non-wii-u-console-update-o/1100-6433238/

ghost commented 8 years ago

Try what? That's just a link to an article. Edit: Yes, still ads.

Hrxn commented 8 years ago

Yeah, with an embedded video. I see the same thing as described in the initial comment of this issue, a 30 second ad before the actual video playback starts (Brightcove flash player).

Here is their documentation, quite interesting: http://docs.brightcove.com/en/perform/brightcove-player/guides/onceux-plugin.html

This 'OnceUX' is mentioned in the video-embed script, also, the error message as shown in the screenshot: https://gist.github.com/anonymous/9b0aa8957240f2e9e6985cd2034e29f7#file-video-embed-js-L8447-L8454

F4z commented 8 years ago

Can someone test this rule? ||gamespot.com/now/media/segment/*basemediaitemguid$xmlhttprequest For me this rule blocks video advertisement, but player still showing that ads are playing. In fact "normal" video is playing. image This "solution" is not perfect, because for first 15/30 seconds is impossible to rewind video, but you do not have to watch ads.

ghost commented 8 years ago

Works exactly like you describe. Nice, thanks.

Hrxn commented 8 years ago

Yes, can confirm, the same for me..