AdguardTeam / FiltersCompiler

A tool that compiles & validates filters
GNU Lesser General Public License v3.0
52 stars 12 forks source link

A few incorrect rules in uBO versions of Base and Tracking filters #176

Open KOSHACHIJ opened 1 year ago

KOSHACHIJ commented 1 year ago

uBO 1.48.5b9

All checked with built-in uBO validator

AdGuard Base filter + EasyList

Version: 2.2.76.27

unsupported filter syntax:

bikeradar.com,spiegel.de#@%#!function(){function b(){}function a(a){return{get:function(){return a},set:b}}function c(a){a(!1)}AG_defineProperty('_sp_.config.content_control_callback',a(b)),AG_defineProperty('_sp_.config.spid_control_callback',a(b)),AG_defineProperty('_sp_.config.vid_control_callback',a(b)),AG_defineProperty('_sp_.config.disableBlockerStyleSheets',a(!1)),AG_defineProperty('_sp_.checkState',a(c)),AG_defineProperty('_sp_.isAdBlocking',a(c)),AG_defineProperty('_sp_.isAdblocking',a(c)),AG_defineProperty('_sp_.isContentBlockerPresent',a(c)),AG_defineProperty('_sp_.getSafeUri',a(function(a){return a})),AG_defineProperty('_sp_.pageChange',a(b)),AG_defineProperty('_sp_.setupSmartBeacons',a(b)),AG_defineProperty('_sp_.msg.startMsg',a(b)),document.addEventListener('sp.blocking',function(a){a.stopImmediatePropagation(),a=document.createEvent('Event'),a.initEvent('sp.not_blocking',!0,!1),this.dispatchEvent(a)})}();

userscloud.com#@%#Object.defineProperties(window,{admvpu:{get:function(){},set:function(a){if("function"==typeof a)throw Error();}},Fingerprint2:{get:function(){},set:function(){throw Error();}}});

invalid filter:

facet.wp.pl#?#.article div[class*=" "]:matches-property("/__reactInternalInstance/._currentElement._owner._instance.props.type"="adv")

www.o2.pl#?##root div[class]:matches-property("/__reactInternalInstance/.return.memoizedProps.slotNumber"="/\d+/")

www.o2.pl#?##root div[class]:matches-property("/__reactInternalInstance/.return.memoizedProps.dataTestid"="/^ad-placeholder-/")

tv.wp.pl#?##app div[class*=" "]:matches-property("/__reactInternalInstance/.child.memoizedProps.slotNumber"="/\d+/")

pudelek.pl#?#div[data-testid] div[class*=" "]:matches-property("/__reactInternalInstance/.return.memoizedProps.slotNumber"="/\d+/")

moneyv.wp.pl,money.pl#?##app div[class*=" "]:matches-property("/__reactInternalInstance/.return.memoizedProps.slotNumber"="/\d+/")

moneyv.wp.pl,money.pl#?##app > div[class^="sc-"] > div[class]:matches-property("/__reactInternalInstance/.return.memoizedProps.advNumber"="/\d+/")

unsupported filter option:

||pubads.g.doubleclick.net/ondemand/hls/content/*/streams/*.m3u8$hls=\/videoplayback^?*&source=dclk_video_ads,domain=10play.com.au

||go.goasrv.com^$removeheader=location

||go.xlivrdr.com^$removeheader=location

||dubznetwork.com^$removeheader=refresh

remove dot after tld:

/expla*.js^$important,domain=rarbgto.org.

validator says invalid filter, seems incorrect use of !important rule:

@@||googletagservices.com/tag/js/gpt.js$domain=client.falixnodes.net,important

@@||pagead2.googlesyndication.com/pagead/js/adsbygoogle.js$domain=filecr.com,important

@@||v.fwmrm.net/ad/l/1$domain=tv3sport.dk,important

@@||v.fwmrm.net/ad/g/1$domain=tv3sport.dk,important

@@||imasdk.googleapis.com/js/sdkloader/ima3_dai.js$important,domain=digi24.ro

@@||connectivitycheck.gstatic.com^$important

validator says invalid filter, but idk why, redirect=noop.txt is correct filter ( we even have a few rules with redirect=noop.txt in the default uBlock filterlist ):

||jsc.marketgid.com/*.js?t=$redirect=noop.txt,important,~websocket,image,media,subdocument,stylesheet,script,xmlhttprequest,other

AdGuard Tracking Protection filter

Version: 2.0.54.5

unsupported filter syntax:

ntp.msn.com#@%#navigator.getBattery = undefined;

validator says invalid filter, seems incorrect use of !important rule:

@@||google-analytics.com/analytics.js$script,redirect=google-analytics_analytics.js,domain=nordvpn.com,important

@@||dpm.demdex.net/id?d_visid_ver=$domain=nbcdfw.com,important

@@||nbcume.sc.omtrdc.net/id?d_visid_ver=$domain=nbcdfw.com,important

@@||google-analytics.com/analytics.js$script,redirect=google-analytics_analytics.js,domain=tv-media.at,important