DandelionSprout / adfilt

The place where I, DandelionSprout, store my web filter lists for countless topics, including my Nordic adblock list. As simple as that, really.
Other
1.3k stars 143 forks source link

forbes.com #874

Closed Sonic5435325 closed 11 months ago

Sonic5435325 commented 11 months ago

Which entry/entries are you submitting?

When visiting forbes.com, the parameter sh shows up Here's a filter I think could work: ||forbes.com^$removeparam=sh

Which things do they block, hide, or unbreak?

The filter will get rid of a parameter on a site

Which of my lists are you submitting it to?

Actually Legitimate URL Shortener

Which adblocker(s) and version did you use when writing and testing the entries?

Other(s):

Adblocker version(s):

Which filterlists did you use? Failing to tell this will temporarily close the report until it has been told.

Actually Legitimate URL Shortener AdGuard URL Tracking Protection

(Optional) Which browser(s) and version did you use?

Firefox 114.0

Nojuuu commented 11 months ago

Already in both lists:

https://github.com/DandelionSprout/adfilt/blob/4d3165ad4fa9d11df10b7d158af6554f689729a4/LegitimateURLShortener.txt#L2590

https://github.com/AdguardTeam/AdguardFilters/blob/dbba61ae67773c64e74022805e54d87fee251abf/TrackParamFilter/sections/specific.txt#L121-L122

iam-py-test commented 11 months ago

This looks like it might be another case of history.replaceState adding parameters without reloading the page. I can reproduce; sh is removed, but comes back @Sonic5435325 does this break anything:

forbes.com##+js(set,history.replaceState,noopFunc)

I'm open to a better solution

Nojuuu commented 11 months ago

Seems like you need to accept cookies to get sh param?

Does forbes.com##+js(cookie-remover, _swb_consent_) work?

Nvm video not working without that cookie..

iam-py-test commented 11 months ago

I don't remember accepting cookies, but I will check. Nope, consent not required, but I'm in the US

Nojuuu commented 11 months ago

In EU I need to accept cookies for it


forbes.com##+js(set,history.replaceState,noopFunc)

Does not seem to break videos

Example: https://www.forbes.com/video/6328506763112/aoc-threatens-musk-for-promoting-her-twitter-impersonator/

but probably should be made more specific if possible.

Nojuuu commented 11 months ago

Does this work for you?

forbes.com##+js(set, trackingService.track, noopFunc)
iam-py-test commented 11 months ago

Seems to, and I don't see any breakage (not logged in though). Guess I gave up to early. Thanks for the solution 🥇

iam-py-test commented 11 months ago

@Sonic5435325 please update your filterlists and retest to see if @Nojuuu's solution works for you

Sonic5435325 commented 11 months ago

@iam-py-test @Nojuuu Yep, that filter works very well! Thanks.

THEtomaso commented 5 months ago

https://github.com/DandelionSprout/adfilt/commit/03bd9c72018462b02724bc40bf69844c0ecc4b26

It breaks the site's login function (if you click "Sign In" in the header, the popup is blocked). It's also broken by a couple of other filters though, because the cookie consent needs to be accepted first.

Problem filters:

Possible fix:

forbes.com#@#.bottom__OvpYA.root__XMKIj forbes.com#@#+js(set, trackingService.track, noopFunc) @@||global.ketchcdn.com^$domain=forbes.com

iam-py-test commented 5 months ago

Thank you for reporting this. I have fixed it in https://github.com/DandelionSprout/adfilt/commit/5cb9654bf21b015c848191ec00dcd480a195e949.

Yuki2718 commented 5 months ago

I can't reproduce, not seeing global.ketchcdn.com request even with European IPs. @AdamWr can you check?

AdamWr commented 5 months ago

Fixed - https://github.com/AdguardTeam/AdguardFilters/commit/6541c55af361b1f324cada5b9fc91b6f93afee82

Yuki2718 commented 5 months ago

Finally reproduced

iam-py-test commented 5 months ago

Thanks @Yuki2718 @AdamWr