jspenguin2017 / uBlockProtector

An anti-adblock defuser for Nano Adblocker and uBlock Origin
GNU General Public License v3.0
740 stars 83 forks source link

yiv.com #350

Closed adreporter closed 7 years ago

adreporter commented 7 years ago

Test link: https://www.yiv.com/Stickman-Archer-Online

Screenshot of the web page:

cattura

Screenshot of the console:

cattura2

If I refresh the page, the anti-adblock message disappears, but the game doesn't load.

uBlock-user commented 7 years ago

yiv.com##script:inject(abort-on-property-read.js, onload)

jspenguin2017 commented 7 years ago

That seems to break the site...

jspenguin2017 commented 7 years ago

Eh, this is going to be a tough one... @@||imasdk.googleapis.com^$script,domain=yiv.com

uBlock-user commented 7 years ago

Which part ?

jspenguin2017 commented 7 years ago

Got to whitelist Google API or the game won't load.

uBlock-user commented 7 years ago

It's cookie based. Better yet just set the cookie AdBlockMessage to yes instead of whitelisting.

jspenguin2017 commented 7 years ago

I'm not talking about the block screen, I mean the game itself, does it load?

uBlock-user commented 7 years ago

I see. Even after whitelisting, the game doesn't load.

uBlock-user commented 7 years ago

If you click on https://www.yiv.com/Penalty-Mania

Does this appear - https://www.yiv.com/games/Penalty-Mania/index.html ?

uBlock-user commented 7 years ago

Nevermind you will have to whitelist imasdk.googleapis.com as it's part of the HTML5 games.

uBlock-user commented 7 years ago

For Anti adblock use - yiv.com##script:inject(setTimeout-defuser.js, ad)

uBlock-user commented 7 years ago

uBlock-user commented 7 years ago

Add these two also

yiv.com###LeftAdDiv
yiv.com###RightAdDiv
jspenguin2017 commented 7 years ago

I'm not going to directly whitelist IMA SDK, I'll loopback it, there are a ton of whitelist for that SDK inherited from AAK, it's a good time to clean them up. (FYI, IMA = Interactive Media Ads)

uBlock-user commented 7 years ago

Yes I'm aware what it is, but not whitelisting it doesn't initialize, so if you can patch it without the requirement of white-listing that domain that would be great.

jspenguin2017 commented 7 years ago

Huh, there aren't that many actually... Only 2 or 3...

ghajini commented 7 years ago

What is loopback, is it same to whitelist?

jspenguin2017 commented 7 years ago

No, it's like a custom redirect. The payload can be generated on the fly or pre-calculated.

jspenguin2017 commented 7 years ago
PS C:\Users\Alpha\Desktop\Temp Files> node temp
google_js_reporting_queue
gteh
Goog_AdSense_Lidar_sendVastEvent
Goog_AdSense_Lidar_getViewability
Goog_AdSense_Lidar_getUrlSignalsArray
Goog_AdSense_Lidar_getUrlSignalsList
ima
onYouTubeIframeAPIReady
google

Why I feel defining google is enough...

jspenguin2017 commented 7 years ago

Actually, there are quite a bit of whitelists of IMA SDK in EasyList...

jspenguin2017 commented 7 years ago

image image Life is hard... Don't tell me that I have to implement ads manager...

jspenguin2017 commented 7 years ago

I will have the SDK to always dispatch AD_ERROR, since with whitelisting, the SDK will always error out.

jspenguin2017 commented 7 years ago

The empty ads divs are to be handled by EasyList.

jspenguin2017 commented 7 years ago

Commits: https://github.com/jspenguin2017/uBlockProtector/commit/fef13402e7096a34bbac117892abd4e9ec0cc7f2 https://github.com/jspenguin2017/uBlockProtector/commit/7a6b71cc79cc98cff5e03ea99c06fdeb336b57b1 https://github.com/jspenguin2017/uBlockProtector/commit/91d3a1235b8ca99a42eb7b493811b20cd8d61a50

jspenguin2017 commented 7 years ago

The new loopback logic will apply to ALL IMA SDK requests, Let's test! There are like 50 whitelists in EasyList. baltimoresun.com|boston.com|calgaryherald.com|capitalgazette.com|carrollcountytimes.com|chicagotribune.com|chroniclelive.co.uk|citypaper.com|cnet.com|courant.com|dailypress.com|deathandtaxesmag.com|edmontonjournal.com|edmunds.com|everquest.allakhazam.com|financialpost.com|gofugyourself.com|hearthhead.com|ibtimes.com|infinitiev.com|latimes.com|leaderpost.com|lifewire.com|lolking.net|mcall.com|metacritic.com|montrealgazette.com|msn.com|nasdaq.com|nationalpost.com|orlandosentinel.com|ottawacitizen.com|pcmag.com|ranker.com|sandiegouniontribune.com|saveur.com|sherdog.com|spin.com|sporcle.com|stereogum.com|sun-sentinel.com|thebalance.com|theprovince.com|thespruce.com|thestarphoenix.com|thoughtco.com|timeanddate.com|tmn.today|torontosun.com|tvguide.com|twincities.com|vagazette.com|vancouversun.com|vibe.com|windsorstar.com|wowhead.com|www.ign.com|zam.com allcatvideos.com|audiomack.com|bloomberg.com|cbc.ca|cbsnews.com|cbssports.com|cnet.com|complex.com|gamejolt.com|news.sky.com|play.ludigames.com|player.performgroup.com|rumble.com|snopes.com|theverge.com|video.foxbusiness.com|video.foxnews.com|vidyomani.com

jspenguin2017 commented 7 years ago

Seems to work correctly for me. Let me know if it breaks. Some websites dump the error event, kind of annoying as the error message is like 50 lines... Well, better than getting filled by blocked subrequests.

uBlock-user commented 7 years ago

Do you receive any redirect failed for uBlock Origin warnings from Chrome when testing ?

jspenguin2017 commented 7 years ago

Nope. Works nicely for me... image

uBlock-user commented 7 years ago

Well did you test it on this case itself ? The game doesn't initialize and remains broken

uBlock-user commented 7 years ago

jspenguin2017 commented 7 years ago

Did you update integration filters?

uBlock-user commented 7 years ago

I updated the extension, anything else ?

jspenguin2017 commented 7 years ago

https://github.com/jspenguin2017/uBlockProtector/blob/master/List%20Compiler/List/Rules%20Part%201.txt#L4

uBlock-user commented 7 years ago

Got it working finally!

uBlock-user commented 7 years ago

You know you could just kill the setTimeout call instead of setting the cookie rather.

uBlock-user commented 7 years ago

As for those 50 whitelists, some of them are redundant and not even needed as imasdk.googleapis.com doesn't even make any connections there.

adreporter commented 7 years ago

@jspenguin2017 @uBlock-user

Seems to work correctly for me. Let me know if it breaks. Some websites dump the error event, kind of annoying as the error message is like 50 lines... Well, better than getting filled by blocked subrequests.

Got it working finally!

Yes, it works. Thank you.

jspenguin2017 commented 7 years ago

This solution is generic, need to test on other websites too.

adreporter commented 7 years ago

@jspenguin2017 On these, right?

baltimoresun.com|boston.com|calgaryherald.com|capitalgazette.com|carrollcountytimes.com|chicagotribune.com|chroniclelive.co.uk|citypaper.com|cnet.com|courant.com|dailypress.com|deathandtaxesmag.com|edmontonjournal.com|edmunds.com|everquest.allakhazam.com|financialpost.com|gofugyourself.com|hearthhead.com|ibtimes.com|infinitiev.com|latimes.com|leaderpost.com|lifewire.com|lolking.net|mcall.com|metacritic.com|montrealgazette.com|msn.com|nasdaq.com|nationalpost.com|orlandosentinel.com|ottawacitizen.com|pcmag.com|ranker.com|sandiegouniontribune.com|saveur.com|sherdog.com|spin.com|sporcle.com|stereogum.com|sun-sentinel.com|thebalance.com|theprovince.com|thespruce.com|thestarphoenix.com|thoughtco.com|timeanddate.com|tmn.today|torontosun.com|tvguide.com|twincities.com|vagazette.com|vancouversun.com|vibe.com|windsorstar.com|wowhead.com|www.ign.com|zam.com allcatvideos.com|audiomack.com|bloomberg.com|cbc.ca|cbsnews.com|cbssports.com|cnet.com|complex.com|gamejolt.com|news.sky.com|play.ludigames.com|player.performgroup.com|rumble.com|snopes.com|theverge.com|video.foxbusiness.com|video.foxnews.com|vidyomani.com
jspenguin2017 commented 7 years ago

These and any website that use IMA SDK. Need to test a substantial sample.

adreporter commented 7 years ago

@jspenguin2017 Oh, I see. I would like to help you. I remember I wrote you in a comment I'm not an expert, well I'm a noob actually. All can I do is to see if there are some anti-adblock messages in those 73 websites you posted above. Do I have to check also the proper functionality of those websites?

jspenguin2017 commented 7 years ago

Yea, the key is proper functionality, the domain list I posted is not good. I'll use an automation script to filter them. Most of them doesn't even load the SDK.

adreporter commented 7 years ago

If I understood right, I have to wait for a new domain list you'll post here and then check if anti-adblock messages appear on those websites in the list and check the proper functionality of those websites? Proper functionality is to check for example if a streaming doesn't work or a button doesn't work, things like that, right?

uBlock-user commented 7 years ago

There you go - https://publicwww.com/websites/%22imasdk.googleapis.com%2Fjs%2Fsdkloader%2Fima3.js%22/

jspenguin2017 commented 7 years ago

image 6146 results...

I did a quick scrape of EasyList domains, none seems to be using it... Am I doing it wrong?

jspenguin2017 commented 7 years ago

OK, it is crashing on the second entry :'D

adreporter commented 7 years ago

@jspenguin2017 @uBlock-user What's the plan now?

jspenguin2017 commented 7 years ago

I'll do it. It's a bit complex.

Note for self: google.ima.settings.setVpaidMode is not defined.

uBlock-user commented 7 years ago

@jspenguin2017 Don't bother going beyond 1000, that should cover all the famous and most used ones with the higher ranking in accordance to Alexa.

jspenguin2017 commented 7 years ago

I'll only check like 50