diff --git a/NorwegianExperimentalList alternate versions/NordicFiltersABP-Inclusion.txt b/NorwegianExperimentalList alternate versions/NordicFiltersABP-Inclusion.txt index 006314d5e..b5c3f3aa5 100644 --- a/NorwegianExperimentalList alternate versions/NordicFiltersABP-Inclusion.txt +++ b/NorwegianExperimentalList alternate versions/NordicFiltersABP-Inclusion.txt @@ -1310,7 +1310,7 @@ kulturplot.no,dagensperspektiv.no,velferd.no###main > .small-12:nth-of-type(1) /annonse_$image /auglysing/* /auglysingar/* -.no/api/unit-image?$xmlhttprequest +.no/api/unit-image?$xmlhttprequest,~third-party /vefauglysingar/* ||ad.*.no^$domain=~ad.dep.no|~ad.hem.no|~ad.amediakreativ.no|~ba.no ||ad1.*.dk^ @@ -1376,7 +1376,7 @@ _toppbanner_$image,domain=~dahl.no|~onninen.no ! byggenyttNO /_annonser^$image ! frendeNO -||api.frende.no/webshop/log$xmlhttprequest +||api.frende.no/webshop/log$xmlhttprequest,domain=www.frende.no ! https://malviknytt•no/2020/07/31/skyting-pa-hjemmebande/ (16/08/2020) /Nettbanner-$image ! sexpigerDK @@ -1503,13 +1503,13 @@ _visittkortannonse_$image _300x250px-*.gif^$domain=ilaks.no _300x500pix$domain=rykindribe.dk,image _930x180pix$domain=rykindribe.dk,image -contentMarketing$xmlhttprequest +contentMarketing$xmlhttprequest,domain=sol.no|sol-no.translate.goog |blob:https://www.veier24.no/$image ||1819.is/infosmall/$image ||730.no/banner/*/sonymusic/$subdocument ||aa-cdn.mytaste.org/js/ad.js$script -||acdn.adnxs.com/ast/ast.js$script,,domain=vg.no -||acdn.adnxs.com/ast/ast.js$script,rewrite=abp-resource:blank-js,,domain=vgtv.no +||acdn.adnxs.com/ast/ast.js$script,domain=vg.no +||acdn.adnxs.com/ast/ast.js$script,rewrite=abp-resource:blank-js,domain=vgtv.no ||aftenposten.no/seksjon/dist/ads-$script ||akamai.net^$script,domain=eniro.no|eniro.dk ||akamaihd.net^$media,domain=discoveryplus.com @@ -1628,7 +1628,7 @@ contentMarketing$xmlhttprequest ||spaniaidag.no/wp-content/uploads/*/Ceru-Design-Web-*.jpg^ ||spaniaidag.no/wp-content/uploads/*/Kolstad-Gif-SI.gif^ ||spanienidag.es/sites/default/files/patrocinadores^ -/^.*://w{3}\.(tu|d\ig\i)\.n\o/(\d|[a-zA-Z_-]){130,}$/$xmlhttprequest +/^.*://w{3}\.(tu|d\ig\i)\.n\o/(\d|[a-zA-Z_-]){130,}$/$xmlhttprequest,domain=no ||ssl.p.jwpcdn.com^*/freewheel.js$script,domain=eurosport.no|eurosport.dk ||ssl.p.jwpcdn.com^*/jwpsrv.js$script,domain=eurosport.no|eurosport.dk|gamereactor.no|gamereactor.dk|vg.no ||ssl.p.jwpcdn.com^*/sharing.js$script,domain=eurosport.no|eurosport.dk|gamereactor.no|gamereactor.dk @@ -1674,7 +1674,7 @@ contentMarketing$xmlhttprequest ||www-presse-fotos-dk.filesusr.com^ ||xklub.dk/bannercache^ ||xklub.dk/xsite/img/banner^ -||xn--bredbnd-ixa.dk/wp-content/*/velkommen_banner$image, +||xn--bredbnd-ixa.dk/wp-content/*/velkommen_banner$image ||youtube.com/embed/*&origin=https%3A%2F%2Fwww.feltet.dk&widgetid=1$subdocument ||yrkesbil.no/gifs/1pix.gif^ ||ytresogn.no/ete/index.html^ @@ -2071,7 +2071,7 @@ tv2.no##.aside > .ad-container ! — — — — — — — ! 🇳🇴:Oppføringer med spesielle omstendigheter ! 🇬🇧:Entries with special circumstances -@@||vgtv.no^$ghide +@@||vgtv.no^$generichide ||samimag.no/wp-content/uploads/2019/11/Screenshot-2020-03-21-at-12.40.32.png^ ! https://www•aftenposten•no/sport/i/kR20OL/uno-x-soeker-om-worldtour-lisens-en-droem-som-har-modnet-over-tid (03/09/2022) @@ -2110,8 +2110,8 @@ baadmagasinet.dk##.article-bottom .qx-inner > .qx-section:last-of-type ! https://github.com/DandelionSprout/adfilt/pull/699 ||s.api.no/mittari/c/article/*/sectionId/*.gif^ ! https://github.com/uBlockOrigin/uAssets/issues/18880 -||no/app/aas^$xmlhttprequest -://aas.*.no/a/|$xmlhttprequest +||no/app/aas^$xmlhttprequest,ping,~third-party +://aas.*.no/a/|$xmlhttprequest,ping,~third-party ! 🇳🇴:——— Tomme skillebokser ——— ! 🇩🇰:——— Tomme adskillerbokser ——— @@ -2159,9 +2159,9 @@ dagsavisen.no##:is(p,h2):has(> br:only-of-type:empty) ! 🇮🇸:——— Óbrot ——— ! 🇬🇧:——— Unbreakage ——— ! Posten's new parcel tracker, fixes the form for giving them delivery information (doorbell name/number) -@@||glow.posten.no/api/tracking/*$xmlhttprequest +@@||glow.posten.no/api/tracking/*$xmlhttprequest,~third-party ! Makes articles that would be counted as ads anywhere else on SeHer, show up on that page. -@@||seher.no/reise$ghide +@@||seher.no/reise$generichide ! folkebladet.no; Makes job position lists show up correctly @@||stillingledig.*.no^ ! https://github.com/DandelionSprout/adfilt/issues/63#issuecomment-683430537 @@ -2169,7 +2169,7 @@ dagsavisen.no##:is(p,h2):has(> br:only-of-type:empty) ! https://github.com/DandelionSprout/adfilt/issues/63#issuecomment-689373261 ! ★★★ Caused by «EasyPrivacy» ★★★ ! Attempting to fix a problem with voting online on Idol Norway -@@||tv2.no/*/config/analytics.json$xmlhttprequest +@@||tv2.no/*/config/analytics.json$xmlhttprequest,~third-party ! Attempts to resolve how some frontpage articles are hard to open @@||schibsted.com/autoTracker$domain=vg.no ! 🇳🇴:Får Discovery+ sin påloggingsside til å vises riktig @@ -2247,10 +2247,10 @@ ekstrabladet.dk#@#body>div[id][style] @@||fe.adstate.net/assets/common/img/web_ad^$domain=aasavis.no|amta.no|an.no|ao.no|auraavis.no|austagderblad.no|avisenagder.no|ba.no|bygdebladet.no|bygdeposten.no|dalane-tidende.no|dt.no|eikerbladet.no|enebakkavis.no|f-b.no|finnmarkdagblad.no|finnmarken.no|firda.no|firdaposten.no|fremover.no|gbnett.no|gjengangeren.no|glomdalen.no|h-avis.no|ha-halden.no|hadeland.no|hardanger-folkeblad.no|helg.no|iharstad.no|indre.no|jarlsbergavis.no|jbl.no|kv.no|kvinnheringen.no|laagendalsposten.no|lierposten.no|lofotposten.no|lyngdalsavis.no|moss-avis.no|nidaros.no|noblad.no|nordhordland.no|nordlys.no|oa.no|oblad.no|op.no|ostlendingen.no|oyene.no|r-a.no|rablad.no|ranablad.no|rb.no|retten.no|rha.no|ringblad.no|ringsaker-blad.no|sa.no|sandeavis.no|sandnesposten.no|sb.no|smaalenene.no|sognavis.no|solabladet.no|solungavisa.no|strandbuen.no|svelviksposten.no|ta.no|tb.no|telen.no|tk.no|tvedestrandsposten.no|varingen.no|vestbyavis.no @@||fe.adstate.net/stream_file.php?type=ad_preview_image$domain=aasavis.no|amta.no|an.no|ao.no|auraavis.no|austagderblad.no|avisenagder.no|ba.no|bygdebladet.no|bygdeposten.no|dalane-tidende.no|dt.no|eikerbladet.no|enebakkavis.no|f-b.no|finnmarkdagblad.no|finnmarken.no|firda.no|firdaposten.no|fremover.no|gbnett.no|gjengangeren.no|glomdalen.no|h-avis.no|ha-halden.no|hadeland.no|hardanger-folkeblad.no|helg.no|iharstad.no|indre.no|jarlsbergavis.no|jbl.no|kv.no|kvinnheringen.no|laagendalsposten.no|lierposten.no|lofotposten.no|lyngdalsavis.no|moss-avis.no|nidaros.no|noblad.no|nordhordland.no|nordlys.no|oa.no|oblad.no|op.no|ostlendingen.no|oyene.no|r-a.no|rablad.no|ranablad.no|rb.no|retten.no|rha.no|ringblad.no|ringsaker-blad.no|sa.no|sandeavis.no|sandnesposten.no|sb.no|smaalenene.no|sognavis.no|solabladet.no|solungavisa.no|strandbuen.no|svelviksposten.no|ta.no|tb.no|telen.no|tk.no|tvedestrandsposten.no|varingen.no|vestbyavis.no ! https://new.reddit.com/r/uBlockOrigin/comments/gye2f2/cant_watch_videos_on_a_specific_website_with/ft9zlse/ -@@||cmp.ekstrabladet.dk/get_site_data$xmlhttprequest +@@||cmp.ekstrabladet.dk/get_site_data$xmlhttprequest,~third-party @@||dialogue.sp-prod.net/messagingWithoutDetection.js$script,domain=ekstrabladet.dk @@||notice.sp-prod.net^$subdocument,domain=ekstrabladet.dk -@@||sp-prod.net^$xmlhttprequest +@@||sp-prod.net^$xmlhttprequest,domain=ekstrabladet.dk @@||ad.amediakreativ.no/widgets/stillingskarusell^ @@ -2333,9 +2333,9 @@ nettavisen.no,www-nettavisen-no.translate.goog###topover ||collector.schibsted.io^$third-party ! "Generic Hide" -@@||bondebladet.screen9.tv^$ghide -@@||eurosport.no^$ghide -@@||eurosport.dk^$ghide +@@||bondebladet.screen9.tv^$generichide +@@||eurosport.no^$generichide +@@||eurosport.dk^$generichide ! Fixed in better ways in AdGuard Base and uBlock Filters, but is needed for ABP @@||inputmag.dk^$generichide @@ -2375,7 +2375,7 @@ trendsales.dk##.top__banner xn--bredbnd-ixa.dk##div[class^="speedtest-bg"] > a > img ||freewheel-mtgx-tv.akamaized.net/*.mp4$media,rewrite=abp-resource:blank-mp3,domain=bold.dk !!!||freewheel-mtgx-tv.akamaized.net^$media,domain=tv3sport.dk -||v.fwmrm.net/ad/g/$domain=ekstrabladet.dk|ekstrabladet-dk.translate.goog, +||v.fwmrm.net/ad/g/$domain=ekstrabladet.dk|ekstrabladet-dk.translate.goog ||vgc.no/cdn/js/libs/homad-config.json$xmlhttprequest,rewrite=abp-resource:blank-json ||widget.tippebannere.no^$third-party inky.no#@#iframe[width="200"][height="240"] @@ -3368,7 +3368,7 @@ triplx.dk##.aff-inner-col ! On a lot of parked domains ||astarsbuilding.com^$third-party -|http://*/munin/a/$xmlhttprequest +|http://*/munin/a/$xmlhttprequest,~third-party ://185.53.177.52^ ://185.53.177.52^$popup @@ -3439,7 +3439,7 @@ triplx.dk##.aff-inner-col ! 🇬🇧:Intended for Adblock Plus @@||prosent.no^$generichide -@@||tv2.no^$ghide +@@||tv2.no^$generichide @@ -5313,7 +5313,7 @@ zeromagazine.nu##div[id^=ads] /annonslinje_ /annonssamarbete$xmlhttprequest /annons$image,domain=dagensvimmerby.se|dagensvastervik.se|dagenskalmar.nu|dagenshultsfred.se|filmtopp.se|webbkameror.se|omkonst.com -/annons$xmlhttprequest +/annons$xmlhttprequest,domain=driva-eget.se|brukshunden.se /annons-banner /annons.aspx? /annons/banner @@ -5325,7 +5325,7 @@ zeromagazine.nu##div[id^=ads] /api/exposure$domain=svenskverkstad.se /api/partners$domain=familjehemsbanken.se /api/sponsors$domain=aikhockey.se|almtuna.com|bikkarlskoga.se|bjorkloven.com|brynas.se|difhockey.se|frolundahockey.com|farjestadbk.se|hockeyallsvenskan.se|hv71.se|ikoskarshamn.se|kalmarhockey.com|leksandsif.se|luleahockey.se|malmoredhawks.com|modohockey.se|moraik.se|nybrovikings.com|orebrohockey.se|roglebk.se|shl.se|skellefteaaik.se|sodertaljesk.se|taif.nu|timraik.se|vaxjolakers.se|vik.se|ostersundik.com -/api/s/track$xmlhttprequest +/api/s/track$xmlhttprequest,domain=eniro.se /api/tracker?$image /appinsights/*/track /app.php/adsview$xmlhttprequest @@ -5349,7 +5349,7 @@ zeromagazine.nu##div[id^=ads] /banners/*casino$image /banner$domain=assistanskoll.se|hrnytt.se|lokalguiden.se|nyaboendet.se|ljudoljus.net|poloniainfo.se|alltombostad.se|thepattayanewsse.com /banner/ads/* -/banner?cg$xmlhttprequest +/banner?cg$xmlhttprequest,domain=blocket.se /beat-be$domain=blocket.se /betald-exponering$image /bilder-for-annonser$image @@ -5396,7 +5396,7 @@ zeromagazine.nu##div[id^=ads] /com_adagency$domain=fastbikes.se /content_images/*casino$image,domain=ng.se /conversions/tracking.js$third-party -/count?$xmlhttprequest +/count?$xmlhttprequest,domain=feber.se|tjock.se /cpg_ads.$script /cs1pc.js$domain=kiaindex.se /ctr-prd.cbs-measurements. @@ -5541,10 +5541,10 @@ zeromagazine.nu##div[id^=ads] /monetization/pixel-sdk/* /mp_emediate/inc/annons.html /mrbet_banner -/natives?$xmlhttprequest +/natives?$xmlhttprequest,domain=aktuellhallbarhet.se|byggindustrin.se|dagensmedia.se|dagensmedicin.se|fastighetsnytt.se|resume.se|dagenssamhalle.se|market.se|dagligvarunytt.se|privataaffarer.se /native$domain=sydnarkenytt.se -/native$xmlhttprequest -/native$xmlhttprequest +/native$xmlhttprequest,domain=aktuellhallbarhet.se|byggindustrin.se|dagensmedia.se|dagensmedicin.se|fastighetsnytt.se|resume.se|dagenssamhalle.se|market.se|dagligvarunytt.se|privataaffarer.se +/native$xmlhttprequest,domain=automotorsport.se /native-ads$domain=atl.nu|landlantbruk.se|land.se /native-article-campaigns$domain=allas.se|elle.se|femina.se|hant.se|mabra.com|residencemagazine.se|svenskdam.se|motherhood.se /native-video-campaigns$domain=allas.se|elle.se|femina.se|hant.se|mabra.com|residencemagazine.se|svenskdam.se|motherhood.se @@ -5558,7 +5558,7 @@ zeromagazine.nu##div[id^=ads] /omniture/s_code.js /one-signal$domain=swebbtv.se /opus-analytics -/pageView$xmlhttprequest +/pageView$xmlhttprequest,domain=altinget.se /pagead$domain=vilaser.se|horoskoptid.se|eniro.se /pageviews$domain=vk.se|folkbladet.nu|nordsverige.se|mellanbygden.nu|vasterbottningen.se|lokaltidningen.nu /partners?$domain=hockeynews.se @@ -5731,7 +5731,7 @@ zeromagazine.nu##div[id^=ads] /sponsored_articles$domain=fastighetssverige.se /sponsorloggor$domain=swehockey.se /sponsors$domain=sdhl.se|storvretaibk.se|obosdamallsvenskan.se|elitettan.se -/sponsrade$xmlhttprequest +/sponsrade$xmlhttprequest,domain=hockeysverige.se /spotlight-ad_$image /ss_foundation/combined_li_tracking /static.marklar.se/*-tracker @@ -5767,7 +5767,7 @@ zeromagazine.nu##div[id^=ads] /toppbanner.js$domain=sydnarkenytt.se /toppbanner_snippet_js /torgen/banner.stat -/trace$xmlhttprequest +/trace$xmlhttprequest,domain=netflixguiden.se|radio.se /trackers/SessionCam-tag /tracker.php?do$image /tracker/socket$domain=swebbtv.se @@ -5775,7 +5775,7 @@ zeromagazine.nu##div[id^=ads] /tracking/cts.js /tracking/fpc.js /tracking_scripts$domain=osterbottenstidning.fi|sydin.fi|vasabladet.fi -/track$ping,xmlhttprequest +/track$ping,xmlhttprequest,domain=epochtimes.se|dagen.se /track-view$domain=aftonbladet.se|godare.se /track.js$domain=destination.se|sistaminuten.se /track/view?webInteractiveId$image @@ -5879,9 +5879,9 @@ zeromagazine.nu##div[id^=ads] ?action=advanced-ads-tracking-track ?action=get_banners$domain=djungeltrumman.se ?bannerid$domain=existenz.se -?t=$xmlhttprequest +?t=$xmlhttprequest,empty,domain=kyrkanstidning.se ?url=*impse.tradedoubler.com$image -@@*$ghide,domain=atl.nu|landlantbruk.se|land.se|fodertipset.se|citattorget.se|citiboard.se|kritiker.se|akaviaaspekt.se|annonsborsen.se +@@*$generichide,domain=atl.nu|landlantbruk.se|land.se|fodertipset.se|citattorget.se|citiboard.se|kritiker.se|akaviaaspekt.se|annonsborsen.se @@/adserver.$script,~third-party,domain=fotosidan.se|utsidan.se @@/adx.js$~third-party,domain=atl.nu|landlantbruk.se|land.se @@/aff/images/*$image,domain=alltforforaldrar.se @@ -5896,7 +5896,7 @@ zeromagazine.nu##div[id^=ads] @@||createsend1.com/css/ @@||fast.fonts.net/jsapi/core/mt.js$domain=tidskriftenprovins.se @@||feed.meltwater.com^$subdocument -@@||fwmrm.net/ad/g/$xmlhttprequest +@@||fwmrm.net/ad/g/$xmlhttprequest,domain=tv4play.se|tv4.se|fotbollskanalen.se|koket.se|embed.viaplay.com @@||img.upsales.com^ @@||js.createsend1.com/js/jquery @@||js.driftt.com^$domain=sanity.io diff --git a/NorwegianExperimentalList alternate versions/XYZPrepareFilters.py b/NorwegianExperimentalList alternate versions/XYZPrepareFilters.py index 75151bda3..e2b55e34e 100644 --- a/NorwegianExperimentalList alternate versions/XYZPrepareFilters.py +++ b/NorwegianExperimentalList alternate versions/XYZPrepareFilters.py @@ -2561,21 +2561,21 @@ def prepare_abp(lines) -> str: # remove $document modifier from the rule line = re.sub( - r"^(.*)\$doc.*$", - r"\1", + r"\$doc.*$", + "", line ) # remove $important modifier from the rule line = re.sub( - r"^(.*)\$important,(.*)", - r"\1$\2", + r"\$important,", + "$", line ) line = re.sub( - r"^(.*[$,])important(.*)$", - r"\1\2", + r"([$,])important", + "", line ) @@ -2598,26 +2598,26 @@ def prepare_abp(lines) -> str: ) line = re.sub( - r"^! Redirect:.*$", + r"! Redirect:.*$", "", line ) line = re.sub( - r"^(.*[$,])xhr(.*)$", + r"([$,])xhr", r"\1xmlhttprequest", line ) line = re.sub( - r"^(.*[$,~])3p(.*)$", - r"\1third-party\2", + r"([$,~])3p", + r"\1third-party", line ) line = re.sub( - r"^(.*[$,~])1p(.*)$", - r"\1~third-party\2", + r"([$,])1p", + r"\1~third-party", line ) @@ -2634,97 +2634,103 @@ def prepare_abp(lines) -> str: ) line = re.sub( - r"^(.*,)?viaplay.\*(#|,)", + r"(^|,)viaplay.\*(#|,)", r"\1viaplay.no,viaplay.dk,viaplay.is\2", line ) line = re.sub( - r"^(.*,)?google.\*(#|,)", + r"(^|,)google.\*(#|,)", r"\1google.no,google.dk,google.is\2", line ) line = re.sub( - r"^(.*,)?ticketmaster.\*(#|,)", + r"(^|,)ticketmaster.\*(#|,)", r"\1ticketmaster.no,ticketmaster.dk\2", line ) line = re.sub( - r"^(.*,)?qxl.\*(#|,)", + r"(^|,)qxl.\*(#|,)", r"\1qxl.no,qxl.dk\2", line ) line = re.sub( - r"^(.*,)?expedia.\*(#|,)", + r"(^|,)expedia.\*(#|,)", r"\1expedia.no,expedia.dk\2", line ) line = re.sub( - r"^(.*,)?gamereactor.\*(#|,)", + r"(^|,)gamereactor.\*(#|,)", r"\1gamereactor.no,gamereactor.dk\2", line ) line = re.sub( - r"^(.*,)?momondo.\*(#|,)", + r"(^|,)viafree.\*(#|,)", + r"\1viafree.no,viafree.dk\2", + line + ) + + line = re.sub( + r"(^|,)momondo.\*(#|,)", r"\1momondo.no,monondo.dk\2", line ) line = re.sub( - r"^(.*,)?eurosport.\*(#|,)", + r"(^|,)eurosport.\*(#|,)", r"\1eurosport.no,eurosport.dk\2", line ) line = re.sub( - r"^(.*,)?prisjakt.\*(#|,)", + r"(^|,)prisjakt.\*(#|,)", r"\1prisjakt.no\2", line ) line = re.sub( - r"^(.*,)?180.\*(#|,)", + r"(^|,)180.\*(#|,)", r"\g<1>180.no,180.dk\2", line ) line = re.sub( - r"^(.*,)?kimbino.\*(#|,)", + r"(^|,)kimbino.\*(#|,)", r"\1kimbino.no,kimbino.dk\2", line ) line = re.sub( - r"^(.*,)?costume.\*(#|,)", + r"(^|,)costume.\*(#|,)", r"\1costume.no,costume.dk\2", line ) line = re.sub( - r"^(.*,)?manuall.\*(#|,)", + r"(^|,)manuall.\*(#|,)", r"\1manuall.no,manuall.dk\2", line ) line = re.sub( - r"^(.*,)?intrafish.\*(#|,)", + r"(^|,)intrafish.\*(#|,)", r"\1intrafish.no\2", line ) line = re.sub( - r"^(.*,)?blaklader.\*(#|,)", + r"(^|,)blaklader.\*(#|,)", r"\1blaklader.no,blaklader.dk\2", line ) line = re.sub( - r"^(.*,)?ehandel\.\*(#|,)", + r"(^|,)ehandel\.\*(#|,)", r"\1ehandel.com,ehandel.dk,ehandel.se,ehandel.fi\2", line ) @@ -2742,79 +2748,79 @@ def prepare_abp(lines) -> str: ) line = re.sub( - r"^! (Version|Last[ -]?[Mm]odified): (.*)January(.*)v(\d\d?.*)$", + r"! (Version|Last[ -]?[Mm]odified): (.*)January(.*)v(\d\d?)", r"! Version: \g<2>01\3\4", line ) line = re.sub( - r"^! (Version|Last[ -]?[Mm]odified): (.*)February(.*)v(\d\d?)", + r"! (Version|Last[ -]?[Mm]odified): (.*)February(.*)v(\d\d?)", r"! Version: \g<2>02\3\4", line ) line = re.sub( - r"^! (Version|Last[ -]?[Mm]odified): (.*)March(.*)v(\d\d?)", + r"! (Version|Last[ -]?[Mm]odified): (.*)March(.*)v(\d\d?)", r"! Version: \g<2>03\3\4", line ) line = re.sub( - r"^! (Version|Last[ -]?[Mm]odified): (.*)April(.*)v(\d\d?)", + r"! (Version|Last[ -]?[Mm]odified): (.*)April(.*)v(\d\d?)", r"! Version: \g<2>04\3\4", line ) line = re.sub( - r"^! (Version|Last[ -]?[Mm]odified): (.*)May(.*)v(\d\d?.*)$", + r"! (Version|Last[ -]?[Mm]odified): (.*)May(.*)v(\d\d?)", r"! Version: \g<2>05\3\4", line ) line = re.sub( - r"^! (Version|Last[ -]?[Mm]odified): (.*)June(.*)v(\d\d?)", + r"! (Version|Last[ -]?[Mm]odified): (.*)June(.*)v(\d\d?)", r"! Version: \g<2>06\3\4", line ) line = re.sub( - r"^! (Version|Last[ -]?[Mm]odified): (.*)July(.*)v(\d\d?)", + r"! (Version|Last[ -]?[Mm]odified): (.*)July(.*)v(\d\d?)", r"! Version: \g<2>07\3\4", line ) line = re.sub( - r"^! (Version|Last[ -]?[Mm]odified): (.*)August(.*)v(\d\d?)", + r"! (Version|Last[ -]?[Mm]odified): (.*)August(.*)v(\d\d?)", r"! Version: \g<2>08\3\4", line ) line = re.sub( - r"^! (Version|Last[ -]?[Mm]odified): (.*)September(.*)v(\d\d?)", + r"! (Version|Last[ -]?[Mm]odified): (.*)September(.*)v(\d\d?)", r"! Version: \g<2>09\3\4", line ) line = re.sub( - r"^! (Version|Last[ -]?[Mm]odified): (.*)October(.*)v(\d\d?)", + r"! (Version|Last[ -]?[Mm]odified): (.*)October(.*)v(\d\d?)", r"! Version: \g<2>10\3\4", line ) line = re.sub( - r"^! (Version|Last[ -]?[Mm]odified): (.*)November(.*)v(\d\d?)", + r"! (Version|Last[ -]?[Mm]odified): (.*)November(.*)v(\d\d?)", r"! Version: \g<2>11\3\4", line ) line = re.sub( - r"^! (Version|Last[ -]?[Mm]odified): (.*)December(.*)v(\d\d?)", + r"! (Version|Last[ -]?[Mm]odified): (.*)December(.*)v(\d\d?)", r"! Version: \g<2>12\3\4", line ) line = re.sub( - r"^(! Title: 🏔️ Dandelion Sprout.*)$", + r"^(! Title: 🏔️ Dandelion Sprout.*)", r"[Adblock Plus 3.13]\n\1", line ) @@ -2843,6 +2849,126 @@ def prepare_abp(lines) -> str: line ) + line = re.sub( + r"([a-z*])#[?]?#(.*)( |\|)(.*):(upward|nth-ancestor)\(1\)", + r"\1##\2\3*:has(> \4)", + line + ) + + line = re.sub( + r"([a-z*])#[?]?#(.*)( |\|)(.*):(upward|nth-ancestor)\(2\)", + r"\1##\2\3*:has(> * > \4)", + line + ) + + line = re.sub( + r"([a-z*])#[?]?#(.*)( |\|)(.*):(upward|nth-ancestor)\(3\)", + r"\1##\2\3*:has(> * > * > \4)", + line + ) + + line = re.sub( + r"([a-z*])#[?]?#(.*)( |\|)(.*):(upward|nth-ancestor)\(4\)", + r"\1##\2\3*:has(> * > * > * > \4)", + line + ) + + line = re.sub( + r"([a-z*])#[?]?#(.*)( |\|)(.*):(upward|nth-ancestor)\(5\)", + r"\1##\2\3*:has(> * > * > * > * > \4)", + line + ) + + line = re.sub( + r"([a-z*])#[?]?#(.*)( |\|)(.*):(upward|nth-ancestor)\(6\)", + r"\1##\2\3*:has(> * > * > * > * > * > \4)", + line + ) + + line = re.sub( + r"([a-z*])#[?]?#(.*)( |\|)(.*):(upward|nth-ancestor)\(7\)", + r"\1##\2\3*:has(> * > * > * > * > * > * > \4)", + line + ) + + line = re.sub( + r"([a-z*])#[?]?#(.*)( |\|)(.*):(upward|nth-ancestor)\(8\)", + r"\1##\2\3*:has(> * > * > * > * > * > * > * > \4)", + line + ) + + line = re.sub( + r"([a-z*])#[?]?#(.*)( |\|)(.*):(upward|nth-ancestor)\(9\)", + r"\1##\2\3*:has(> * > * > * > * > * > * > * > * > \4)", + line + ) + + line = re.sub( + r"([a-z*])#[?]?#(.*)( |\|)(.*):(upward|nth-ancestor)\(10\)", + r"\1##\2\3*:has(> * > * > * > * > * > * > * > * > * > \4)", + line + ) + + line = re.sub( + r"([a-z*])#[?]?#(.*):(upward|nth-ancestor)\(1\)", + r"\1##*:has(> \2)", + line + ) + + line = re.sub( + r"([a-z*])#[?]?#(.*):(upward|nth-ancestor)\(2\)", + r"\1##*:has(> * > \2)", + line + ) + + line = re.sub( + r"([a-z*])#[?]?#(.*):(upward|nth-ancestor)\(3\)", + r"\1##*:has(> * > * > \2)", + line + ) + + line = re.sub( + r"([a-z*])#[?]?#(.*):(upward|nth-ancestor)\(4\)", + r"\1##*:has(> * > * > * > \2)", + line + ) + + line = re.sub( + r"([a-z*])#[?]?#(.*):(upward|nth-ancestor)\(5\)", + r"\1##*:has(> * > * > * > * > \2)", + line + ) + + line = re.sub( + r"([a-z*])#[?]?#(.*):(upward|nth-ancestor)\(6\)", + r"\1##*:has(> * > * > * > * > * > \2)", + line + ) + + line = re.sub( + r"([a-z*])#[?]?#(.*):(upward|nth-ancestor)\(7\)", + r"\1##*:has(> * > * > * > * > * > * > \2)", + line + ) + + line = re.sub( + r"([a-z*])#[?]?#(.*):(upward|nth-ancestor)\(8\)", + r"\1##*:has(> * > * > * > * > * > * > * > \2)", + line + ) + + line = re.sub( + r"([a-z*])#[?]?#(.*):(upward|nth-ancestor)\(9\)", + r"\1##*:has(> * > * > * > * > * > * > * > * > \2)", + line + ) + + line = re.sub( + r"([a-z*])#[?]?#(.*):(upward|nth-ancestor)\(10\)", + r"\1##*:has(> * > * > * > * > * > * > * > * > * > \2)", + line + ) + line = re.sub( r"^.*mm\.dk##\.fadeout.*$", r"", @@ -2856,8 +2982,8 @@ def prepare_abp(lines) -> str: ) line = re.sub( - r"^(.*[.?]),script(.*)$", - r"\1$script\2", + r"([.?]),script", + r"\1$script", line ) @@ -2880,8 +3006,8 @@ def prepare_abp(lines) -> str: ) line = re.sub( - ":remove()", - "", + r":remove()", + r"", line ) @@ -2940,14 +3066,14 @@ def prepare_abp(lines) -> str: ) line = re.sub( - ":before", - "::before", + r":before", + r"::before", line ) line = re.sub( - ":after", - "::after", + r":after", + r"::after", line ) @@ -2982,8 +3108,8 @@ def prepare_abp(lines) -> str: ) line = re.sub( - "\$empty,", - "$", + r"\$empty,", + r"$", line ) @@ -3000,8 +3126,14 @@ def prepare_abp(lines) -> str: ) line = re.sub( - "$mp4", - "$media,rewrite=abp-resource:blank-mp3", + r"\$mp4", + r"$media,rewrite=abp-resource:blank-mp3", + line + ) + + line = re.sub( + r"([a-z*][=|])viafree\.\*", + r"\1viafree.no|viafree.dk", line ) @@ -3054,8 +3186,8 @@ def prepare_abp(lines) -> str: ) line = re.sub( - "$ghide", - "$generichide", + r"\$ghide", + r"$generichide", line ) @@ -3066,8 +3198,8 @@ def prepare_abp(lines) -> str: ) line = re.sub( - ",mp4", - "", + r",mp4", + r"", line ) @@ -3114,14 +3246,14 @@ def prepare_abp(lines) -> str: ) line = re.sub( - "! Homepage: https://github.com/finnish-easylist-addition/finnish-easylist-addition", - "! Finnish section's homepage: https://github.com/finnish-easylist-addition/finnish-easylist-addition", + r"! Homepage: https://github\.com/finnish-easylist-addition/finnish-easylist-addition", + r"! Finnish section's homepage: https://github.com/finnish-easylist-addition/finnish-easylist-addition", line ) line = re.sub( - "! Homepage: https://github.com/DandelionSprout/Swedish-List-for-Adblock-Plus", - "! Swedish section's homepage: https://github.com/DandelionSprout/Swedish-List-for-Adblock-Plus", + r"! Homepage: https://github\.com/DandelionSprout/Swedish-List-for-Adblock-Plus", + r"! Swedish section's homepage: https://github.com/DandelionSprout/Swedish-List-for-Adblock-Plus", line ) @@ -3198,7 +3330,7 @@ def prepare_abp(lines) -> str: ) line = re.sub( - r"^(no)?#\??#optimus-element(.*:[a-eg-kmo-z].*)$", + r"^(no)?#\??#optimus-element(.*:[a-eg-kmo-z])", r"aasanetidende.no,aasavis.no,akersposten.no,amta.no,an.no,ao.no,auraavis.no,austagderblad.no,avisa-hordaland.no,avisagaula.no,avisenagder.no,ba.no,blv.no,budstikka.no,bygdebladet.no,bygdeposten.no,dalane-tidende.no,dt.no,eikerbladet.no,enebakkavis.no,f-b.no,fanaposten.no,firda.no,firdaposten.no,fremover.no,gbnett.no,gjengangeren.no,glomdalen.no,h-a.no,h-avis.no,ha-halden.no,hadeland.no,hardanger-folkeblad.no,helg.no,ialta.no,ifinnmark.no,ifinnmarkdebatten.no,iharstad.no,ilevanger.no,inderoyningen.no,indre.no,isandnessjoen.no,jarlsbergavis.no,jbl.no,kirkenesby.no,krs.no,kv.no,kvinnheringen.no,laagendalsposten.no,lierposten.no,lofot-tidende.no,lofotposten.no,lyngdalsavis.no,merakerposten.no,minenergi.no,mitthammerfest.no,mittjessheim.no,mittlillestrom.no,mittloerenskog.no,moss-avis.no,nab.no,namdalsavisa.no,nettavisen.no,nidaros.no,noblad.no,nord24.no,nordhordland.no,nordlys.no,nordnorskdebatt.no,nt24.no,oa.no,oblad.no,op.no,ostlendingen.no,oyene.no,r-a.no,rablad.no,ranablad.no,rb.no,retten.no,rha.no,ringblad.no,ringsaker-blad.no,sa.no,sageneavis.no,sandeavis.no,sandnesposten.no,sb.no,senja247.no,smaalenene.no,snasningen.no,sognavis.no,solabladet.no,solungavisa.no,steinkjer-avisa.no,strandbuen.no,sva.no,svelviksposten.no,sydvesten.no,t-a.no,ta.no,tb.no,telen.no,tk.no,totenidag.no,tromsoby.no,tronderdebatt.no,tvedestrandsposten.no,varingen.no,vestbyavis.no,vestviken24.no,vp.no#?#optimus-element\2", line ) @@ -3210,14 +3342,14 @@ def prepare_abp(lines) -> str: ) line = re.sub( - r"^(! If you wish to remove.*)$", + r"^(! If you wish to remove.*)", r"!•\n\1\n!•\n! If you see “/v3/full/“ in the list's URL or a “! DiffUrl:“ row above, while you're using Firefox, ABP 3.x, or a non-ABP extension, then you have been scammed and must change the list subscription to https://easylist-downloads.adblockplus.org/dandelion_sprouts_nordic_filters+easylist.txt immediately. However, if you use ABP 4.x in Chrome, there is no reason to worry.\n!•", line ) line = re.sub( - "\$popup,~inline-font", - "$popup", + r"\$popup,~inline-font", + r"$popup", line )