NanoAdblocker / NanoFilters

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

[Anti-adblock] derstandard.at #149

Closed Esokrates closed 5 years ago

Esokrates commented 6 years ago

Sorry, I do not want to fool you guys, but the issue is not solved for real, locking as solved does not make it any better. I do not use any Apple device.

Here is a screencast I just recorded for proof when launching chromium with a fresh profile: https://youtu.be/JR-NgxfAuIc

I am happy to give you any info you need.

jspenguin2017 commented 6 years ago

Hum, it's really hard to reproduce. I'll investigate later. Clearing the cookies fixes the issue.

FYI @okiehsch

okiehsch commented 6 years ago

I don't know what to tell you, I can't reproduce.

I use the site frequently and I never have any issue unless I disable uBO-filters at which point I get the adblock message within three or four clicks.

jspenguin2017 commented 6 years ago

@okiehsch Can you try Chromium on Ubuntu?

okiehsch commented 6 years ago

My standard "private" setup is Linux Manjaro Chrome/Chromium and that does not have any issues.

I can't install Ubuntu right now.

jspenguin2017 commented 6 years ago

Hum, I can't reproduce it anymore... My only worry is that set-constant could fail the race.

okiehsch commented 6 years ago

That's easy to check. @Esokrates does adding

derstandard.at#@#script:inject(set-constant.js, nuggprof, noopFunc)
@@||derstandard.nuggad.net/rc$script,domain=derstandard.at

to your filters fix the issue on your end.

jspenguin2017 commented 6 years ago

It's working for me with or without the scriptlet.

okiehsch commented 6 years ago

Hm, if I disable the scriptlet after clicking on a few articles image

I don't know what to make of all this, I do know that it does make it nearly impossible to find a reliable fix that works for everybody.

lain566 commented 6 years ago

I can reproduce it using the default settings in both uBO and Nano

derstandard at_-_pur_-_derstandard at_-_chromium_2018-07-27_11-09-52

derstandard at_-_pur_-_derstandard at_-_chromium_2018-07-27_10-05-21

Esokrates commented 6 years ago

Same here, fully updated extensions (using 15.0.0.19), cleared cookies. It takes some minutes, but it reliably triggers :-(.

Esokrates commented 6 years ago

@okiehsch I just tried your scriptlet: does not make a difference, the paywall triggers reliably after a few minutes at the latest.

@jspenguin2017 please reopen

Esokrates commented 6 years ago

Upgraded to chromium 68.0.3440.75, does not make a difference, I can 100% reproduce, just a matter of time.

Esokrates commented 6 years ago

@okiehsch Also tried fresh profile with ublock origin + ublock origin extra: same issue.

jspenguin2017 commented 6 years ago

I don't know what to tell you, I can't reproduce. The only problem I can think of is the race condition in that scriptlet. Which should be fixed now.

Which country are you in? Do your ISP or organization block certain domain? Also I need the dump of the logger output and the DevTools console. I need to see every line, screenshot as many times as it takes.

Esokrates commented 6 years ago

@jspenguin2017 I am located in Austria. I am not aware of my ISP censoring anything, nor do I have any sort of network filtering activated. What logger output do you need / what do you mean by logger output? Regarding DevTools console output: would a screencast do it? I have the console open and trigger the paywall and you can follow along the output?

lain566 commented 6 years ago

I can reproduce it immediately using the following steps: Go to derstandard.at Refresh page 4 or 5 times

okiehsch commented 6 years ago

You are right, I can reproduce if I refresh the homepage page 4 or 5 times. If I refresh any article I can't reproduce. Example:

https://derstandard.at/2000083972831/Vettel-Ich-glaube-nicht-dass-es-ein-grosser-Fehler-war

unbenannt

This is some weird detection mechanism and I can't believe that it is working as intended.

Esokrates commented 6 years ago

Confirming the observation that refreshing the main page 4 to 5 times triggers the issue.

jspenguin2017 commented 6 years ago

OK, so the problem is just with the home page.

okiehsch commented 6 years ago

Well, it is only if you refresh it 4-5 times in a row. If I for example go to the homepage, then click an article, go back to the homepage, click another article etc. I can't reproduce. That's why I never had any issue using the site, as no "normal" user refreshes the homepage 4-5 times just for the fun of it.

jspenguin2017 commented 6 years ago

True, but if you have no extension enabled, refreshing 4-5 times won't send you to the block page.

okiehsch commented 6 years ago

@@||adfarm1.adition.com/s$script,domain=derstandard.at fixes the issue, but I am hesitant to add an exception for such a frankly bizarre case.

jspenguin2017 commented 6 years ago

I'm not too worried as long as it doesn't let ads through.

okiehsch commented 6 years ago

The homepage with the exception. image

The homepage without the exception image

okiehsch commented 6 years ago

The "Bezahlte Anzeige" is an ad.

jspenguin2017 commented 6 years ago

Interesting, they didn't come up before.

jspenguin2017 commented 6 years ago

Should be good now.

okiehsch commented 6 years ago

The exception is really not a good idea, go to https://derstandard.at/Inland and wait a little. The ad is quite obvious on that page ;)

Edit: Your fix was quicker than my post.

Esokrates commented 6 years ago

Bad News: Using Nano Defender 15.0.0.20 reloading 4 times does still trigger the issue, tested with fresh profile.

jspenguin2017 commented 6 years ago

tested with fresh profile.

Don't, you need to update filters.

But yea, it somehow still triggers, but it's gone after a few seconds.

okiehsch commented 6 years ago

Force an update of uBO-filters and then add derstandard.at##script:inject(cookie-remover.js, /^MGUID/) to your filter list.

jspenguin2017 commented 6 years ago

Does that break login?

okiehsch commented 6 years ago

I can login, the problem is that I get automatically logged out if I refresh the page.

Esokrates commented 6 years ago

@okiehsch Adding derstandard.at##script:inject(cookie-remover.js, /^MGUID/) fixes the reloading issue yes, but I can still trigger the issue when aggressively clicking through articles randomly for at most 4 minutes, any idea?

okiehsch commented 6 years ago

@gwarser pointed out that

"Cookie is only removed at the main page, because document.cookie defaults to current path when path is missing in cookie string, and derstandard.at sets cookies on /."

That is probably the reason for your issue clicking through articles, which I still can't reproduce.

Esokrates commented 6 years ago

@okiehsch Thanks for pointing this out. I just recorded yet again how I am able to reproduce: https://youtu.be/cauubMXgn1s If you want I can also demonstrate this with an ublock setup. I am always successful within a 5 minute timeframe. Tested on two different networks.

okiehsch commented 6 years ago

The moment you get the anti-adblock message, what does your logger show?

Esokrates commented 6 years ago

Found the way to trigger it, click exactly as in the screencast (demonstrated that ublock and nano behave exactly the same): https://youtu.be/WAvYM49PBuY https://youtu.be/xGv3KBaBDdY The trick is to use the uppermost navigation bar, which triggers the issue within 4 clicks. Regarding the logger (by which I suppose you mean the console): there are only unrelated vsync errors.

EDIT: BTW, the 5 times reloading triggers the issue again!! EDIT2: Hum, ok in today's tests I forgot adding derstandard.at##script:inject(cookie-remover.js, /^MGUID/), so the deomstrated trigger does not work with that line, so the first EDIT is not true!!

okiehsch commented 6 years ago

I mean uBlockOrigins logger.

okiehsch commented 6 years ago

EDIT: BTW, the 5 times reloading triggers the issue again!!

With derstandard.at##script:inject(cookie-remover.js, /^MGUID/) added to your filter list?

Esokrates commented 6 years ago

@okiehsch I've added a second EDIT to my comment. Now I have recorded another screencast with the line added to my filter list, force updated filters and the logger open, please have a look: https://youtu.be/2nb0-B5UvVY

EDIT: Just saw that the screencast is very choppy, I am sorry for that, the screencast software I'm using sucked up the whole cpu ressources so I guess some frames were lost in the process.

okiehsch commented 6 years ago

Ok, this is the same output that I get if I remove derstandard.at##script:inject(cookie-remover.js, /^MGUID/)

Now, no need for a screencast, just open your logger and put -- in the "filter log entries" box.

Trigger the anti-adblock message and post a screenshot of the logger after you successfully triggered it.

I only need the last entries, so no need to show all of them.

Esokrates commented 6 years ago

Because I've already uploaded here another link for a screencast where I triggered: https://youtu.be/z0c_VCGFKLY Here a screenshot of another try as you requested: screenshot from 2018-07-30 22-34-47

Both times WITH derstandard.at##script:inject(cookie-remover.js, /^MGUID/)

okiehsch commented 6 years ago

Well, adding @@||adfarm1.adition.com/s$script,domain=derstandard.at to your filter list should work.

The message should change to

unbenannt1

and then to image

Esokrates commented 6 years ago

@okiehsch Well, when adding that to my filters I can recover from the paywall yes, but the articles break after a few seconds like: screenshot from 2018-07-30 22-49-06 I'll do further tests.

okiehsch commented 6 years ago

Add derstandard.at##iframe[src="about:blank"]

Esokrates commented 6 years ago

That works :-). I'll do further testing.

Esokrates commented 6 years ago

@okiehsch It still triggers but recovers afterwards as you pointed out, but I guess that's the best you can do!?

okiehsch commented 6 years ago

I can't reproduce, so yes that is the best I can do.

Edit: By the way this

It still triggers but recovers afterwards

clearly shows that something is wrong with the sites anti-adblock script in the first place.

Esokrates commented 6 years ago

Ok, shall I do something else? Here how it looks after triggering with all the lines you provided:

screenshot from 2018-07-30 23-48-55 At this point I have clicked nothing screenshot from 2018-07-30 23-48-57 screenshot from 2018-07-30 23-49-03 Here I clicked to return to the article: screenshot from 2018-07-30 23-49-22

Really strange that you can't reproduce, did you try really hard for a few minutes?