@browserless.io/browserless 2.25.0-beta-2 → 2.25.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (224) hide show
  1. package/CHANGELOG.md +43 -3
  2. package/README.md +4 -5
  3. package/build/browserless.js +3 -1
  4. package/build/browsers/browsers.cdp.d.ts +3 -0
  5. package/build/browsers/browsers.cdp.js +4 -1
  6. package/build/browsers/browsers.playwright.d.ts +4 -0
  7. package/build/browsers/browsers.playwright.js +11 -2
  8. package/build/browsers/index.js +4 -3
  9. package/build/http.d.ts +9 -0
  10. package/build/http.js +9 -0
  11. package/build/routes/chrome/http/content.post.body.json +8 -8
  12. package/build/routes/chrome/http/pdf.post.body.json +8 -8
  13. package/build/routes/chrome/http/scrape.post.body.json +8 -8
  14. package/build/routes/chrome/http/screenshot.post.body.json +8 -8
  15. package/build/routes/chrome/tests/kill-sessions.spec.js +1 -1
  16. package/build/routes/chromium/http/content.post.body.json +8 -8
  17. package/build/routes/chromium/http/pdf.post.body.json +8 -8
  18. package/build/routes/chromium/http/scrape.post.body.json +8 -8
  19. package/build/routes/chromium/http/screenshot.post.body.json +8 -8
  20. package/build/routes/chromium/tests/kill-sessions.spec.js +1 -1
  21. package/build/routes/edge/http/content.post.body.json +579 -0
  22. package/build/routes/edge/http/content.post.d.ts +8 -0
  23. package/build/routes/edge/http/content.post.js +7 -0
  24. package/build/routes/edge/http/content.post.query.json +183 -0
  25. package/build/routes/edge/http/content.post.response.json +5 -0
  26. package/build/routes/edge/http/download.post.body.json +32 -0
  27. package/build/routes/edge/http/download.post.d.ts +8 -0
  28. package/build/routes/edge/http/download.post.js +7 -0
  29. package/build/routes/edge/http/download.post.query.json +120 -0
  30. package/build/routes/edge/http/download.post.response.json +4 -0
  31. package/build/routes/edge/http/function.post.body.json +32 -0
  32. package/build/routes/edge/http/function.post.d.ts +8 -0
  33. package/build/routes/edge/http/function.post.js +7 -0
  34. package/build/routes/edge/http/function.post.query.json +120 -0
  35. package/build/routes/edge/http/function.post.response.json +4 -0
  36. package/build/routes/edge/http/json-list.get.d.ts +5 -0
  37. package/build/routes/edge/http/json-list.get.js +5 -0
  38. package/build/routes/edge/http/json-list.get.response.json +52 -0
  39. package/build/routes/edge/http/json-new.put.d.ts +5 -0
  40. package/build/routes/edge/http/json-new.put.js +5 -0
  41. package/build/routes/edge/http/json-new.put.response.json +44 -0
  42. package/build/routes/edge/http/json-protocol.get.d.ts +5 -0
  43. package/build/routes/edge/http/json-protocol.get.js +5 -0
  44. package/build/routes/edge/http/json-protocol.get.response.json +6 -0
  45. package/build/routes/edge/http/json-version.get.d.ts +5 -0
  46. package/build/routes/edge/http/json-version.get.js +5 -0
  47. package/build/routes/edge/http/json-version.get.response.json +44 -0
  48. package/build/routes/edge/http/pdf.post.body.json +724 -0
  49. package/build/routes/edge/http/pdf.post.d.ts +8 -0
  50. package/build/routes/edge/http/pdf.post.js +7 -0
  51. package/build/routes/edge/http/pdf.post.query.json +120 -0
  52. package/build/routes/edge/http/pdf.post.response.json +5 -0
  53. package/build/routes/edge/http/performance.post.body.json +26 -0
  54. package/build/routes/edge/http/performance.post.d.ts +8 -0
  55. package/build/routes/edge/http/performance.post.js +7 -0
  56. package/build/routes/edge/http/performance.post.query.json +120 -0
  57. package/build/routes/edge/http/performance.post.response.json +7 -0
  58. package/build/routes/edge/http/scrape.post.body.json +626 -0
  59. package/build/routes/edge/http/scrape.post.d.ts +8 -0
  60. package/build/routes/edge/http/scrape.post.js +7 -0
  61. package/build/routes/edge/http/scrape.post.query.json +183 -0
  62. package/build/routes/edge/http/scrape.post.response.json +334 -0
  63. package/build/routes/edge/http/screenshot.post.body.json +669 -0
  64. package/build/routes/edge/http/screenshot.post.d.ts +8 -0
  65. package/build/routes/edge/http/screenshot.post.js +7 -0
  66. package/build/routes/edge/http/screenshot.post.query.json +120 -0
  67. package/build/routes/edge/http/screenshot.post.response.json +5 -0
  68. package/build/routes/edge/tests/content.spec.d.ts +1 -0
  69. package/build/routes/edge/tests/content.spec.js +312 -0
  70. package/build/routes/edge/tests/download.spec.d.ts +1 -0
  71. package/build/routes/edge/tests/download.spec.js +67 -0
  72. package/build/routes/edge/tests/function.spec.d.ts +1 -0
  73. package/build/routes/edge/tests/function.spec.js +277 -0
  74. package/build/routes/edge/tests/json-version.spec.d.ts +1 -0
  75. package/build/routes/edge/tests/json-version.spec.js +37 -0
  76. package/build/routes/edge/tests/kill-sessions.spec.d.ts +1 -0
  77. package/build/routes/edge/tests/kill-sessions.spec.js +80 -0
  78. package/build/routes/edge/tests/page-websocket.spec.d.ts +1 -0
  79. package/build/routes/edge/tests/page-websocket.spec.js +97 -0
  80. package/build/routes/edge/tests/pdf.spec.d.ts +1 -0
  81. package/build/routes/edge/tests/pdf.spec.js +345 -0
  82. package/build/routes/edge/tests/performance.spec.d.ts +1 -0
  83. package/build/routes/edge/tests/performance.spec.js +124 -0
  84. package/build/routes/edge/tests/scrape.spec.d.ts +1 -0
  85. package/build/routes/edge/tests/scrape.spec.js +354 -0
  86. package/build/routes/edge/tests/screenshot.spec.d.ts +1 -0
  87. package/build/routes/edge/tests/screenshot.spec.js +339 -0
  88. package/build/routes/edge/tests/websocket.spec.d.ts +1 -0
  89. package/build/routes/edge/tests/websocket.spec.js +384 -0
  90. package/build/routes/edge/ws/browser.d.ts +7 -0
  91. package/build/routes/edge/ws/browser.js +6 -0
  92. package/build/routes/edge/ws/browser.query.json +120 -0
  93. package/build/routes/edge/ws/cdp.d.ts +8 -0
  94. package/build/routes/edge/ws/cdp.js +7 -0
  95. package/build/routes/edge/ws/cdp.query.json +120 -0
  96. package/build/routes/edge/ws/page.d.ts +8 -0
  97. package/build/routes/edge/ws/page.js +7 -0
  98. package/build/routes/edge/ws/page.query.json +120 -0
  99. package/build/routes/edge/ws/playwright.d.ts +8 -0
  100. package/build/routes/edge/ws/playwright.js +7 -0
  101. package/build/routes/edge/ws/playwright.query.json +100 -0
  102. package/build/routes/firefox/tests/kill-sessions.spec.js +1 -1
  103. package/build/routes/management/http/meta.get.js +3 -1
  104. package/build/routes/webkit/tests/kill-sessions.spec.js +1 -1
  105. package/build/sdk-utils.js +1 -1
  106. package/build/shared/scrape.http.js +2 -2
  107. package/build/types.d.ts +32 -0
  108. package/build/types.js +18 -0
  109. package/build/utils.d.ts +1 -0
  110. package/build/utils.js +16 -2
  111. package/docker/chrome/Dockerfile +14 -14
  112. package/docker/chromium/Dockerfile +14 -14
  113. package/docker/edge/.dockerignore +16 -0
  114. package/docker/edge/Dockerfile +43 -0
  115. package/docker/firefox/Dockerfile +14 -14
  116. package/docker/multi/Dockerfile +18 -18
  117. package/docker/sdk/Dockerfile +10 -0
  118. package/extensions/ublock/_locales/ar/messages.json +3 -3
  119. package/extensions/ublock/_locales/bg/messages.json +1 -1
  120. package/extensions/ublock/_locales/br_FR/messages.json +2 -2
  121. package/extensions/ublock/_locales/cy/messages.json +11 -11
  122. package/extensions/ublock/_locales/el/messages.json +2 -2
  123. package/extensions/ublock/_locales/hu/messages.json +1 -1
  124. package/extensions/ublock/_locales/id/messages.json +1 -1
  125. package/extensions/ublock/_locales/lv/messages.json +4 -4
  126. package/extensions/ublock/_locales/mk/messages.json +130 -130
  127. package/extensions/ublock/_locales/oc/messages.json +1 -1
  128. package/extensions/ublock/_locales/pt_BR/messages.json +1 -1
  129. package/extensions/ublock/_locales/pt_PT/messages.json +2 -2
  130. package/extensions/ublock/_locales/si/messages.json +100 -100
  131. package/extensions/ublock/_locales/sr/messages.json +4 -4
  132. package/extensions/ublock/_locales/vi/messages.json +19 -19
  133. package/extensions/ublock/_locales/zh_TW/messages.json +28 -28
  134. package/extensions/ublock/assets/assets.json +33 -29
  135. package/extensions/ublock/assets/thirdparties/easylist/easylist.txt +2984 -3287
  136. package/extensions/ublock/assets/thirdparties/easylist/easyprivacy.txt +150 -171
  137. package/extensions/ublock/assets/thirdparties/pgl.yoyo.org/as/serverlist +37 -27
  138. package/extensions/ublock/assets/thirdparties/publicsuffix.org/list/effective_tld_names.dat +802 -888
  139. package/extensions/ublock/assets/thirdparties/urlhaus-filter/urlhaus-filter-online.txt +2355 -2071
  140. package/extensions/ublock/assets/ublock/badlists.txt +9 -1
  141. package/extensions/ublock/assets/ublock/badware.min.txt +354 -243
  142. package/extensions/ublock/assets/ublock/filters.min.txt +5837 -5737
  143. package/extensions/ublock/assets/ublock/privacy.min.txt +151 -38
  144. package/extensions/ublock/assets/ublock/quick-fixes.min.txt +83 -127
  145. package/extensions/ublock/assets/ublock/unbreak.min.txt +66 -50
  146. package/extensions/ublock/css/codemirror.css +4 -0
  147. package/extensions/ublock/document-blocked.html +3 -1
  148. package/extensions/ublock/js/arglist-parser.js +116 -0
  149. package/extensions/ublock/js/background.js +1 -1
  150. package/extensions/ublock/js/logger-ui.js +1 -1
  151. package/extensions/ublock/js/messaging.js +9 -2
  152. package/extensions/ublock/js/pagestore.js +3 -1
  153. package/extensions/ublock/js/redirect-engine.js +3 -1
  154. package/extensions/ublock/{assets/resources/set-attr.js → js/resources/attribute.js} +115 -11
  155. package/extensions/ublock/js/resources/base.js +38 -0
  156. package/extensions/ublock/js/resources/cookie.js +419 -0
  157. package/extensions/ublock/js/resources/href-sanitizer.js +188 -0
  158. package/extensions/ublock/js/resources/localstorage.js +235 -0
  159. package/extensions/ublock/js/resources/parse-replace.js +54 -0
  160. package/extensions/ublock/js/resources/prevent-settimeout.js +236 -0
  161. package/extensions/ublock/js/resources/proxy-apply.js +109 -0
  162. package/extensions/ublock/js/resources/replace-argument.js +120 -0
  163. package/extensions/ublock/{assets → js}/resources/run-at.js +20 -4
  164. package/extensions/ublock/{assets → js}/resources/safe-self.js +5 -4
  165. package/extensions/ublock/{assets → js}/resources/scriptlets.js +90 -1589
  166. package/extensions/ublock/js/resources/set-constant.js +287 -0
  167. package/extensions/ublock/js/resources/shared.js +44 -0
  168. package/extensions/ublock/js/resources/spoof-css.js +163 -0
  169. package/extensions/ublock/js/s14e-serializer.js +2 -1
  170. package/extensions/ublock/js/scriptlet-filtering-core.js +1 -1
  171. package/extensions/ublock/js/scriptlet-filtering.js +1 -31
  172. package/extensions/ublock/js/static-dnr-filtering.js +143 -129
  173. package/extensions/ublock/js/static-filtering-parser.js +27 -117
  174. package/extensions/ublock/js/static-net-filtering.js +53 -141
  175. package/extensions/ublock/js/traffic.js +1 -1
  176. package/extensions/ublock/js/urlskip.js +166 -0
  177. package/extensions/ublock/js/vapi-background-ext.js +38 -14
  178. package/extensions/ublock/manifest.json +1 -1
  179. package/package.json +22 -22
  180. package/src/browserless.ts +4 -0
  181. package/src/browsers/browsers.cdp.ts +5 -0
  182. package/src/browsers/browsers.playwright.ts +14 -1
  183. package/src/browsers/index.ts +5 -2
  184. package/src/http.ts +9 -0
  185. package/src/routes/chrome/tests/kill-sessions.spec.ts +1 -1
  186. package/src/routes/chromium/tests/kill-sessions.spec.ts +1 -1
  187. package/src/routes/edge/http/content.post.ts +20 -0
  188. package/src/routes/edge/http/download.post.ts +20 -0
  189. package/src/routes/edge/http/function.post.ts +20 -0
  190. package/src/routes/edge/http/json-list.get.ts +7 -0
  191. package/src/routes/edge/http/json-new.put.ts +7 -0
  192. package/src/routes/edge/http/json-protocol.get.ts +7 -0
  193. package/src/routes/edge/http/json-version.get.ts +7 -0
  194. package/src/routes/edge/http/pdf.post.ts +20 -0
  195. package/src/routes/edge/http/performance.post.ts +20 -0
  196. package/src/routes/edge/http/scrape.post.ts +20 -0
  197. package/src/routes/edge/http/screenshot.post.ts +20 -0
  198. package/src/routes/edge/tests/content.spec.ts +376 -0
  199. package/src/routes/edge/tests/download.spec.ts +77 -0
  200. package/src/routes/edge/tests/function.spec.ts +317 -0
  201. package/src/routes/edge/tests/json-version.spec.ts +52 -0
  202. package/src/routes/edge/tests/kill-sessions.spec.ts +99 -0
  203. package/src/routes/edge/tests/page-websocket.spec.ts +129 -0
  204. package/src/routes/edge/tests/pdf.spec.ts +389 -0
  205. package/src/routes/edge/tests/performance.spec.ts +155 -0
  206. package/src/routes/edge/tests/scrape.spec.ts +417 -0
  207. package/src/routes/edge/tests/screenshot.spec.ts +387 -0
  208. package/src/routes/edge/tests/websocket.spec.ts +510 -0
  209. package/src/routes/edge/ws/browser.ts +10 -0
  210. package/src/routes/edge/ws/cdp.ts +17 -0
  211. package/src/routes/edge/ws/page.ts +10 -0
  212. package/src/routes/edge/ws/playwright.ts +17 -0
  213. package/src/routes/firefox/tests/kill-sessions.spec.ts +1 -1
  214. package/src/routes/management/http/meta.get.ts +6 -1
  215. package/src/routes/management/http/static.get.ts +1 -1
  216. package/src/routes/webkit/tests/kill-sessions.spec.ts +1 -1
  217. package/src/sdk-utils.ts +1 -1
  218. package/src/shared/scrape.http.ts +2 -2
  219. package/src/types.ts +19 -0
  220. package/src/utils.ts +38 -16
  221. package/static/docs/swagger.json +2097 -10
  222. package/static/docs/swagger.min.json +2096 -9
  223. package/static/function/client.js +141 -253
  224. package/static/function/index.html +141 -253
@@ -1,6 +1,6 @@
1
1
  ! Title: uBlock filters – Unbreak
2
2
  ! Expires: 5 days
3
- ! Last modified: Thu, 14 Nov 2024 10:47:30 +0000
3
+ ! Last modified: Mon, 30 Dec 2024 14:31:15 +0000
4
4
  ! Diff-Path: %diffpath%#ublock-unbreak
5
5
  ! Diff-Expires: 317 minutes
6
6
  ! License: https://github.com/uBlockOrigin/uAssets/blob/master/LICENSE
@@ -579,7 +579,7 @@ arstechnica.com#@#a[href^="https://www.amazon."][href*="tag="]
579
579
  @@||doubleclick.net/tag/js/gpt.js$script,domain=los40.com
580
580
  @@||doubleclick.net/gpt/pubads_impl_$script,domain=los40.com
581
581
  @@||doubleclick.net/gampad/ads?$xhr,domain=los40.com
582
- ||googlesyndication.com/safeframe/*/container.html$frame,redirect-rule=noop.html,domain=los40.com
582
+ ||googlesyndication.com/safeframe/*/container.html$frame,redirect=noop.html,domain=los40.com
583
583
  ||vod.playoncenter.com/videos/*.mp4$media,domain=los40.com
584
584
  ||streamtheworld.com/ondemand/creative?cat=cm-preroll$xhr,redirect=nooptext,domain=los40.com
585
585
  los40.com##+js(ra, class|style, div[id^="los40_gpt"])
@@ -606,7 +606,7 @@ los40.com##+js(no-fetch-if, googlesyndication)
606
606
  @@||taboola.com^$script,domain=gizmodo.com.au|lifehacker.com.au
607
607
  ! chess table broken https://2700chess.com/games/vachier-lagrave-wei-r1.1-hamburg-2019-11-03
608
608
  @@||2700chess.com/js/analysis.js$script,1p
609
- ||assets.adobedtm.com/*/satelliteLib$script,redirect-rule=noopjs,domain=8world.com
609
+ ||assets.adobedtm.com/*/satelliteLib$script,redirect=noopjs,domain=8world.com
610
610
  ||imasdk.googleapis.com/js/sdkloader/ima3.js$script,redirect=noopjs,domain=8world.com
611
611
  ||player.ooyala.com^$script,redirect-rule=noopjs,domain=8world.com
612
612
  ||scorecardresearch.com/*/plugins/$script,redirect=noopjs,domain=8world.com
@@ -1003,7 +1003,7 @@ humanbenchmark.com##+js(set, pubg.unload, noopFunc)
1003
1003
  |https://$frame,3p,domain=moviesweb.info,badfilter
1004
1004
  |https://$image,3p,domain=moviesweb.info,badfilter
1005
1005
  @@||message-fra.sp-prod.net^$script,xhr,domain=manager-magazin.de
1006
- ||doubleclick.net/tag/js/gpt.js$script,redirect-rule=googletagservices_gpt.js,domain=aristeguinoticias.com
1006
+ ||doubleclick.net/tag/js/gpt.js$script,redirect=googletagservices_gpt.js,domain=aristeguinoticias.com
1007
1007
  @@||news12.com^$frame,1p
1008
1008
  @@||treg.hearstnp.com/treg.js$script,domain=sfchronicle.com|sfgate.com
1009
1009
  politico.com##+js(set, generateGalleryAd, noopFunc)
@@ -1055,7 +1055,7 @@ praxistipps.chip.de#@#a[target][href^="https://x.chip.de/"]:upward(div[id])
1055
1055
  ! cname handelsblatt .com broken
1056
1056
  @@||privacy-mgmt.com^$script,domain=handelsblatt.com
1057
1057
  @@||geo.leadboxer.com/GeoIpEngine/$script,domain=opentracker.net
1058
- ||doubleclick.net/tag/js/gpt.js$script,redirect-rule=googletagservices_gpt.js,domain=usnews.com
1058
+ ||doubleclick.net/tag/js/gpt.js$script,redirect=googletagservices_gpt.js,domain=usnews.com
1059
1059
  usnews.com##+js(set, Object.prototype.vjsPlayer.ads, noopFunc)
1060
1060
  ! cname https://github.com/uBlockOrigin/uAssets/issues/7928
1061
1061
  @@||privacy-mgmt.com^$script,domain=faz.net|focus.de|golem.de|stern.de
@@ -1131,11 +1131,11 @@ hero-magazine.com###header:style(position: inherit !important;)
1131
1131
  !#if env_firefox
1132
1132
  @@||googlesyndication.com/pagead/js/adsbygoogle.js$script,domain=caminogeek.com
1133
1133
  !#endif
1134
- @@||ads.adthrive.com/sites/*/ads.min.js$script,domain=a-z-animals.com|brewerfanatic.com|fishonfirst.com|northsidebaseball.com|pimylifeup.com|twinsdaily.com
1135
- @@||ads.adthrive.com/builds/core/*$script,domain=a-z-animals.com|brewerfanatic.com|fishonfirst.com|northsidebaseball.com|pimylifeup.com|twinsdaily.com
1134
+ @@||ads.adthrive.com/sites/*/ads.min.js$script,domain=brewerfanatic.com|fishonfirst.com|northsidebaseball.com|twinsdaily.com
1135
+ @@||ads.adthrive.com/builds/core/*$script,domain=brewerfanatic.com|fishonfirst.com|northsidebaseball.com|twinsdaily.com
1136
1136
  pimylifeup.com##+js(no-fetch-if, marmalade)
1137
- a-z-animals.com,brewerfanatic.com,fishonfirst.com,northsidebaseball.com,pimylifeup.com,twinsdaily.com#@#.adthrive
1138
- a-z-animals.com,brewerfanatic.com,fishonfirst.com,northsidebaseball.com,twinsdaily.com#@#.adthrive-video-player
1137
+ brewerfanatic.com,fishonfirst.com,northsidebaseball.com,twinsdaily.com#@#.adthrive
1138
+ brewerfanatic.com,fishonfirst.com,northsidebaseball.com,twinsdaily.com#@#.adthrive-video-player
1139
1139
  ! egy.best broken download buttons
1140
1140
  ||cdn-static.egybest.*/packed/$badfilter
1141
1141
  ||securepubads.g.doubleclick.net/tag/js/gpt.js$script,important,redirect=noop.js,domain=indy100.com
@@ -1213,7 +1213,7 @@ independent.co.uk##+js(no-fetch-if, doubleclick)
1213
1213
  ||chartbeat.net^$badfilter
1214
1214
  ||chartbeat.com^$3p
1215
1215
  ||chartbeat.net^$3p
1216
- ||static.adsafeprotected.com/vans-adapter-google-ima.js^$script,redirect-rule=noopjs,domain=tyla.com
1216
+ ||static.adsafeprotected.com/vans-adapter-google-ima.js^$script,redirect=noopjs,domain=tyla.com
1217
1217
  @@||static-redesign.cnbcfm.com/dist/components-PcmModule-Ads-BoxInline$script,domain=cnbc.com
1218
1218
  ! blocked by PL
1219
1219
  ||blogtopsites.com^$badfilter
@@ -1361,8 +1361,8 @@ unito.life##^script:has-text(KeenTracking)
1361
1361
  unito.life##+js(acs, KeenTracking)
1362
1362
  @@||formulatv.com/js/cmp2.js$script,1p
1363
1363
  @@||googletagmanager.com/gtm.js$script,domain=formulatv.com
1364
- ||google-analytics.com/analytics.js$script,redirect-rule=noopjs,domain=hudsonvalleypost.com|seacoastcurrent.com|popcrush.com,important
1365
- ||googletagmanager.com/gtm.js$script,redirect-rule=noopjs,domain=hudsonvalleypost.com|seacoastcurrent.com|popcrush.com,important
1364
+ ||google-analytics.com/analytics.js$script,redirect=noopjs,domain=hudsonvalleypost.com|seacoastcurrent.com|popcrush.com,important
1365
+ ||googletagmanager.com/gtm.js$script,redirect=noopjs,domain=hudsonvalleypost.com|seacoastcurrent.com|popcrush.com,important
1366
1366
  @@||google-analytics.com/analytics.js$script,3p,redirect-rule,domain=k2radio.com|kowb1290.com|koel.com|loudwire.com
1367
1367
  @@||googletagmanager.com/gtm.js$script,3p,redirect-rule,domain=k2radio.com|kowb1290.com|koel.com|loudwire.com
1368
1368
  @@||googletagmanager.com/gtm.js$script,domain=megacritic.ru
@@ -1421,7 +1421,7 @@ safeframe.googlesyndication.com##.left-container
1421
1421
  ||tercept.com^$badfilter
1422
1422
  ||tercept.com^$3p
1423
1423
  ! broken sportschau.de live stream
1424
- ||wdr.de/*/tracker/tracker.min.js$script,redirect-rule=noop.js,domain=sportschau.de
1424
+ ||wdr.de/*/tracker/tracker.min.js$script,redirect=noop.js,domain=sportschau.de
1425
1425
  @@||de-config.sensic.net/sui-connector.js$script,domain=sportschau.de
1426
1426
  ! unbreak https://uiz.io/QfCH from https://github.com/AdguardTeam/AdguardFilters/issues/54339
1427
1427
  @@||bigappboi.com/captchalocker/js/popup.js.php
@@ -1447,7 +1447,7 @@ xunta.gal#@##anuncio
1447
1447
  myair2.resmed.com##+js(no-xhr-if, cloudflare.com/cdn-cgi/trace)
1448
1448
  ||cloudflare.com/cdn-cgi/trace$xhr,3p,redirect-rule=noop.txt,domain=~funimation.com|~1bit.space|~1bitspace.com
1449
1449
  @@||d2wy8f7a9ursnm.cloudfront.net/*/bugsnag.min.js$script,domain=crust.com.au
1450
- ||d2r1yp2w7bby2u.cloudfront.net/js/localforage.min.js$script,redirect-rule=noopjs,domain=sonyliv.com
1450
+ ||d2r1yp2w7bby2u.cloudfront.net/js/localforage.min.js$script,redirect=noopjs,domain=sonyliv.com
1451
1451
  @@||fundingchoicesmessages.google.com^$script,domain=stooq.com|stooq.pl
1452
1452
  @@*ad2.$image,domain=sophiabushfan.net
1453
1453
  @@_advertisment.$image,domain=gorgeouspfeiffer.com
@@ -1469,20 +1469,15 @@ pewresearch.org##+js(set, ga, noopFunc)
1469
1469
  @@||cdn.questionpro.com^$css
1470
1470
  @@||rdstation.com.br^*api/$xhr
1471
1471
  ! Reported internally, this unbreaks:
1472
- @@||googletagmanager.com/gtm.js$script,domain=www.shockwave.com
1472
+ @@||googletagmanager.com/gtm.js$script,domain=shockwave.com
1473
1473
  ||videoplayerhub.com^$script,domain=shockwave.com,redirect-rule=noopjs
1474
1474
  ||natureetdecouvertes.com^$1p,image,redirect-rule=2x2.png
1475
1475
  !#if env_mobile
1476
- ||cxense.com/cx.js$script,redirect-rule=noop.js,domain=itmedia.co.jp
1476
+ ||cxense.com/cx.js$script,redirect=noop.js,domain=itmedia.co.jp
1477
1477
  !#endif
1478
1478
  ilbianconero.com##.no-scroll:style(overflow:auto!important)
1479
1479
  @@||googletagmanager.com/gtm.js$script,domain=insideevs.com
1480
1480
  @@||googletagmanager.com/gtm.js$script,domain=suspilne.media
1481
- @@||cdn.casamireasa.biz/deploys/www/delivery^$domain=canale.live
1482
- @@||canale.live/reclama/$1p
1483
- @@||canale.live/player-tv/$css,1p
1484
- ! unbreak https://gogoplay1.com/videos/kero-kero-chime-episode-30's download popup
1485
- @@||gogoplay1.com/download?id=$popup
1486
1481
  @@||google-analytics.com/analytics.js$script,redirect-rule,domain=nordvpn.com
1487
1482
  ||static.chotot.com/storage/js/prebid-ads.js$script,important
1488
1483
  @@||cibng.ibanking-services.com^$cname
@@ -1511,7 +1506,7 @@ meteoetradar.com##+js(no-xhr-if, doubleclick)
1511
1506
  @@||s0.2mdn.net/instream/html5/ima3.js$script,domain=as.com
1512
1507
  @@||nocturnetls.net^$script,1p
1513
1508
  ! cname https://github.com/uBlockOrigin/uAssets/issues/11275
1514
- @@||relay-client-c01.iocnt.net^$script,domain=www.businessinsider.de
1509
+ @@||relay-client-c01.iocnt.net^$script,domain=businessinsider.de
1515
1510
  @@||mypearson.com^*/ga.min.js
1516
1511
  ||tags.tiqcdn.com^$badfilter
1517
1512
  @@||inbenta.io/prod/*/tracking/events$xhr,domain=knab.nl
@@ -1555,7 +1550,7 @@ mgronline.com##[href^="https://www.hotelscombined.co.th/"]
1555
1550
  sports.yahoo.com#@#.H\(400px\) > .VideoPlayer
1556
1551
  sports.yahoo.com#@#.H\(400px\).Pos\(r\)
1557
1552
  ||relish.com^$domain=seriouseats.com
1558
- @@||googletagmanager.com/gtm.js$domain=www3.nissan.co.jp
1553
+ @@||googletagmanager.com/gtm.js$domain=nissan.co.jp
1559
1554
  *$script,redirect-rule=noop.js,domain=nissan.co.jp
1560
1555
  abczdrowie.pl#@#+js(aost, WP.prebid, onLoad)
1561
1556
  @@||nexus.ensighten.com/easyjet/*/Bootstrap.js$script,domain=easyjet.com
@@ -1607,16 +1602,12 @@ si.com#@#.is-below-header-ad
1607
1602
  @@||api.permutive.com/v*/geoip$xhr,domain=watch.globaltv.com
1608
1603
  @@/1.gif?$image,1p,domain=kanjiku.net
1609
1604
  @@/2.gif?$image,1p,domain=kanjiku.net
1610
- @@||dealersite4.d2cmedia.ca^$domain=schlueterhyundai.com
1611
- @@||wwwjuwanshe.pp8.com^$3p,domain=juwanshe.com
1612
1605
  @@||googletagmanager.com/gtm.js$script,domain=all.accor.com|login.accor.com
1613
1606
  @@||googletagmanager.com/gtag/js$script,domain=all.accor.com|login.accor.com
1614
1607
  @@||google-analytics.com/analytics.js$script,domain=all.accor.com|login.accor.com
1615
1608
  @@||ipapi.co^*json$xhr
1616
1609
  @@||coinzillatag.com/lib/display.js$script,domain=ad-doge.com
1617
1610
  @@||sentry-cdn.com^$script,domain=ad-doge.com
1618
- security-demo.extrahop.com##+js(nostif, ad blocker)
1619
- @@||app.pendo.io/data/guide.js/*$script,domain=security-demo.extrahop.com
1620
1611
  @@||google-analytics.com/analytics.js$script,domain=reykjaviksailors.is
1621
1612
  @@||googletagmanager.com/gtag/js$script,domain=reykjaviksailors.is
1622
1613
  @@||kingarthurbaking.com/sites/default/files/google_tag/$script,1p
@@ -1672,7 +1663,7 @@ tamin.ir#@#.ads2
1672
1663
  job.mt.de,job.nw.de#@#^script:has-text(===):has-text(/[\w\W]{16000}/)
1673
1664
  job.mt.de,job.nw.de#@#+js(nostif, .call(null), 10)
1674
1665
  @@||ak-ads-ns.prisasd.com/prebid/prebid_noticias.js$script,domain=as.com
1675
- ||elpais.com/t.gif$image,1p,redirect-rule=1x1.gif,important
1666
+ ||elpais.com/t.gif$image,1p,redirect=1x1.gif,important
1676
1667
  ||fwcdn2.com^$badfilter
1677
1668
  @@||app.link/_r?sdk$script,domain=ecwid.com
1678
1669
  @@||api2.branch.io/v1/url$xhr,domain=ecwid.com
@@ -1712,7 +1703,7 @@ video.gazzetta.it##+js(set, Object.prototype.omidAccessModeRules, {})
1712
1703
  @@||tags.tiqcdn.com/utag/bluestem/main/prod/utag.sync.js$script,domain=fingerhut.com
1713
1704
  @@||monetate.net^$script,xhr,domain=fingerhut.com
1714
1705
  ! funny.pho. to cannot switch the language
1715
- ||hits.informer.com/log.php$image,domain=funny.pho.to,redirect-rule=1x1.gif
1706
+ ||hits.informer.com/log.php$image,domain=funny.pho.to,redirect=1x1.gif
1716
1707
  factable.com##+js(set, googletag.cmd, {})
1717
1708
  factable.com##.puicontainer
1718
1709
  factable.com##.pohcontainer
@@ -1813,7 +1804,7 @@ palatifini.it##body:style(overflow: auto !important;)
1813
1804
  @@||cmp.dmgmediaprivacy.co.uk/gdpr/*$xhr,domain=gbnews.uk
1814
1805
  dmzj.com##body:style(overflow: auto !important;)
1815
1806
  @@||pnp.co.za/pnpstorefront/_ui/shared/js/analyticsmediator.js$script,1p
1816
- ||encar.com/js/*/analytics.js$script,1p,redirect-rule=noop.js
1807
+ ||encar.com/js/*/analytics.js$script,1p,redirect=noop.js
1817
1808
  @@||cdn.logrocket.io/LogRocket.min.js$script,domain=webappui.jobnimbus.com
1818
1809
  @@||cdn.logrocket.io/logger-1.min.js$script,domain=webappui.jobnimbus.com
1819
1810
  ! z-lib home pages connections breakage
@@ -1869,8 +1860,8 @@ gloucestershirelive.co.uk##+js(set, chameleonVideo.adDisabledRequested, true)
1869
1860
  ||join.megaphonetv.com^$3p,badfilter
1870
1861
  @@||video.qq.com/getvinfo$script,1p
1871
1862
  ||arcgis.com/apps/instant/node_modules/templates-common-library/structuralFunctionality/telemetry/AppMeasurement.js^$script,1p,redirect=noopjs
1872
- ||noaa.maps.arcgis.com/apps/instant/*/AppMeasurement.js$1p,important
1873
- /google-tag-manager.min.js$script,domain=511tactical.com,redirect-rule=googletagmanager_gtm.js
1863
+ ||maps.arcgis.com/apps/*/AppMeasurement.js^$1p,redirect=noopjs,important
1864
+ /google-tag-manager.min.js$script,domain=511tactical.com,redirect=googletagmanager_gtm.js
1874
1865
  ! herz-fuer-tiere.de images hidden
1875
1866
  @@||herz-fuer-tiere.de^$cname
1876
1867
  @@||wikipedia.org/api/rest*$xhr,1p
@@ -1909,7 +1900,7 @@ arsiv.mackolik.com##+js(set, AdmostClient, {})
1909
1900
  @@||content.gap.com/fp/*.js$script,1p
1910
1901
  @@||cohesion.bankrate.com/cohesion/cohesion-latest.min.js$script,1p
1911
1902
  ||mycourses.pearson.com/shared/static/*/component/ga.min.js$script,1p,redirect=google-analytics.com/analytics.js,important
1912
- /img/ads/Spinner.png$image,redirect-rule=1x1.gif
1903
+ /img/ads/Spinner.png$image,redirect=1x1.gif
1913
1904
  ||coveo.com^$script,domain=basspro.com,redirect-rule=noopjs
1914
1905
  ! fix https://pointmall.rakuten.co.jp/gacha
1915
1906
  @@||googletagmanager.com/gtm.js$domain=pointmall.rakuten.co.jp
@@ -1927,9 +1918,9 @@ riteaid.com##^html > body:not(.catalogsearch-result-index):upward(1) > head > sc
1927
1918
  ! unbreak sign up on NSFW sites
1928
1919
  @@/signup.php?mode=async&action=show_security_code$image,1p
1929
1920
  @@/akam/13/*$script,xhr,1p,domain=easyjet.com|ing.nl
1930
- @@/init.js|$script,xhr,1p,domain=www.crunchbase.com
1931
- @@||collector-*.px-cloud.net/b/$xhr,domain=www.crunchbase.com
1932
- @@||googletagmanager.com/gtm.js$script,domain=www.radiox.co.uk
1921
+ @@/init.js|$script,xhr,1p,domain=crunchbase.com
1922
+ @@||collector-*.px-cloud.net/b/$xhr,domain=crunchbase.com
1923
+ @@||googletagmanager.com/gtm.js$script,domain=radiox.co.uk
1933
1924
  radiox.co.uk##^body:not(:has(#remixd-audio-player)) > script:has-text(googletagmanager)
1934
1925
  ! Home page live video breakage
1935
1926
  ||imasdk.googleapis.com/js/sdkloader/ima3.js$script,domain=yaktrinews.com,redirect=google-ima.js
@@ -2076,7 +2067,7 @@ doodle.com##.AdsLayout__top-container
2076
2067
  ||bing.com/geolocation/write?$badfilter
2077
2068
  ||cdn.onesignal.com^$badfilter
2078
2069
  ! sho.com broken search
2079
- ||sho.com/www/sho/lib/omniture/AppMeasurement.js$xhr,1p,redirect-rule=noop.js
2070
+ ||sho.com/www/sho/lib/omniture/AppMeasurement.js$xhr,1p,redirect=noop.js
2080
2071
  cerbahealthcare.it##+js(set, pa, {})
2081
2072
  cerbahealthcare.it##+js(set, Object.prototype.setConfigurations, noopFunc)
2082
2073
  @@||googletagmanager.com/gtm.js$script,domain=dzonline.de|marveloptics.com|wn.de
@@ -2085,7 +2076,7 @@ cerbahealthcare.it##+js(set, Object.prototype.setConfigurations, noopFunc)
2085
2076
  @@||googletagmanager.com/gtm.js$script,domain=radio-canada.ca
2086
2077
  @@||static.chartbeat.com^$domain=repubblica.it
2087
2078
  ! unbreak sugoroku64.ad-link.jp (account required)
2088
- ||ad-link.jp/sugoroku64/static/img/promotion_5/spacer.gif$image,redirect-rule=1x1.gif,domain=sugoroku64.ad-link.jp
2079
+ ||ad-link.jp/sugoroku64/static/img/promotion_5/spacer.gif$image,redirect=1x1.gif,domain=sugoroku64.ad-link.jp
2089
2080
  securegames.iwin.com##+js(no-xhr-if, /gtm.js)
2090
2081
  pcwelt.de#@#a[href^="https://pvn.mediamarkt.de/"]
2091
2082
  pcwelt.de#@#a[href^="https://pvn.saturn.de/"]
@@ -2115,8 +2106,8 @@ tiendaenlinea.claro.com.ni##+js(set, Object.prototype.bk_addPageCtx, noopFunc)
2115
2106
  tiendaenlinea.claro.com.ni##+js(set, Object.prototype.bk_doJSTag, noopFunc)
2116
2107
  ||cs.co^$badfilter
2117
2108
  delta.com#@#.adv-container
2118
- ||shop.motorolasolutions.com/msi-files/libs/dynatrace.js$script,redirect-rule=noopjs,from=shop.motorolasolutions.com
2119
- ||shop.motorolasolutions.com/msi-files/page-tags/head/dynatrace-loader.js$script,redirect-rule=noopjs,from=shop.motorolasolutions.com
2109
+ ||shop.motorolasolutions.com/msi-files/libs/dynatrace.js$script,redirect=noopjs,from=shop.motorolasolutions.com
2110
+ ||shop.motorolasolutions.com/msi-files/page-tags/head/dynatrace-loader.js$script,redirect=noopjs,from=shop.motorolasolutions.com
2120
2111
  ! To counter `statcounter.com` in Peter Lowe's
2121
2112
  ||statcounter.com^$badfilter
2122
2113
  ||statcounter.com^$3p
@@ -2134,12 +2125,13 @@ decathlon.in##body:style(opacity: 1 !important;)
2134
2125
  @@||collect.mopinion.com/assets/surveys/*/js/survey.min.js$script,domain=findmystreet.co.uk
2135
2126
  @@||deploy.mopinion.com^$script,xhr,domain=findmystreet.co.uk
2136
2127
  @@||googletagmanager.com/gtm.js$script,domain=findmystreet.co.uk
2137
- @@||click.allkeyshop.com/*&source=www.allkeyshop.com$doc
2128
+ ||allkeyshop.com/redirection/$doc,csp=script-src 'none'
2129
+ @@||click.allkeyshop.com/*&source=allkeyshop.com$doc
2138
2130
  *$1p,inline-script,script,domain=click.allkeyshop.com
2139
2131
  click.allkeyshop.com##+js(refresh-defuser)
2140
2132
  @@||autocomplete.clearbit.com^$xhr
2141
2133
  neilpatel.com##+js(no-xhr-if, ip-api)
2142
- @@||cdn.logly.co.jp^$image,domain=www.asahi.com
2134
+ @@||cdn.logly.co.jp^$image,domain=asahi.com
2143
2135
  @@||dti.ne.jp/cgi-bin/Count.cgi?$image,1p
2144
2136
  @@||googletagmanager.com/gtm.js$script,domain=tele2.ee
2145
2137
  @@||tags.tiqcdn.com/utag/aaa/main/prod/utag.sync.js$script,domain=apps.calif.aaa.com
@@ -2168,7 +2160,7 @@ metastats.net###page-wrapper > div.row:nth-of-type(1)
2168
2160
  @@||4chan.org/adv/$image,domain=boards.4channel.org
2169
2161
  ! To counter `siteintercept.qualtrics.com` in PL list
2170
2162
  ||siteintercept.qualtrics.com^$badfilter
2171
- ||googletagmanager.com/gtag/js$script,redirect-rule=noop.js:10,domain=scobel.pasaz24.pl
2163
+ ||googletagmanager.com/gtag/js$script,redirect=noop.js:10,domain=scobel.pasaz24.pl
2172
2164
  goku.sx##.st-hidden:remove-class(st-hidden)
2173
2165
  goku.sx##.st-btn:not(.st-first):style(display: inline-block !important; min-width: 50px !important; width: 50px !important;)
2174
2166
  goku.sx##.st-btn > img:style(margin: auto !important; display: block !important;)
@@ -2236,17 +2228,17 @@ kcra.com,wcvb.com##+js(set, google.ima.settings.setDisableFlashAds, noopFunc)
2236
2228
  wionews.com##^link[rel="canonical"]:not([href^="https://www.wionews.com/videos/"]) ~ script#pwt_script
2237
2229
  @@||securepubads.g.doubleclick.net/pagead/managed/js/gpt/*$script,domain=moviepilot.de
2238
2230
  @@||hs.eloqua.com^$frame,domain=anthology.com
2239
- @@||mindbodygreen.com/ads-leaderboard-ad-$script,domain=www.mindbodygreen.com
2231
+ @@||mindbodygreen.com/ads-leaderboard-ad-$script,domain=mindbodygreen.com
2240
2232
  ! browsing-topics breakages
2241
2233
  @@||cjisonline.com^$permissions=browsing-topics=()
2242
2234
  futura-sciences.com##+js(set, pa, {})
2243
2235
  futura-sciences.com##+js(set, pa.privacy, {})
2244
- ||adobe.com/newrelic.js$script,redirect-rule=noopjs,1p
2236
+ ||adobe.com/newrelic.js$script,redirect=noopjs,1p
2245
2237
  wikihow.com##+js(set, Object.prototype.getTargetingMap, noopFunc)
2246
2238
  !#if env_chromium
2247
2239
  @@||wikihow.com^$ghide
2248
- @@||securepubads.g.doubleclick.net/tag/js/gpt.js$script,domain=www.wikihow.com
2249
- @@||securepubads.g.doubleclick.net/pagead/managed/js/gpt/*/pubads_impl.js$script,domain=www.wikihow.com
2240
+ @@||securepubads.g.doubleclick.net/tag/js/gpt.js$script,domain=wikihow.com
2241
+ @@||securepubads.g.doubleclick.net/pagead/managed/js/gpt/*/pubads_impl.js$script,domain=wikihow.com
2250
2242
  wikihow.com##ins.adsbygoogle
2251
2243
  wikihow.com##.wh_ad_active:style(margin: 0 !important; visibility: collapse !important;)
2252
2244
  !#endif
@@ -2305,7 +2297,7 @@ virginmediatelevision.ie##+js(no-xhr-if, /froloa.js)
2305
2297
  ||imasdk.googleapis.com/js/sdkloader/ima3.js$script,redirect=google-ima.js,domain=3bmeteo.com,important
2306
2298
  3bmeteo.com##+js(nano-sib, adv, *)
2307
2299
  ! [NSFW] https://deepnude.to/ - Missing "userid" and "identifier" cookies from FingerprintJS
2308
- /fingerprint2.min.js$script,3p,redirect=fingerprint2.js,important
2300
+ /fingerprint2.min.js$script,3p,redirect=fingerprint2.js,important,domain=~amateuralbum.net
2309
2301
  /fingerprint2.js$script,3p,redirect=fingerprint2.js,important
2310
2302
  sproutgigs.com##+js(fingerprint2)
2311
2303
  larazon.es##+js(set, gfkS2sExtension, {})
@@ -2378,7 +2370,7 @@ www.reddit.com,sh.reddit.com##community-highlight-card[subreddit-prefixed-name="
2378
2370
  @@||static.knowledgehub.com/global/images/ping.gif?$xhr,1p
2379
2371
  lumens.com##+js(set, _satellite, {})
2380
2372
  lumens.com##+js(set, _satellite.track, noopFunc)
2381
- ||analytics.skroutz.gr/analytics.min.js^$script,1p,redirect-rule=noop.js
2373
+ ||analytics.skroutz.gr/analytics.min.js^$script,1p,redirect=noop.js
2382
2374
  @@||hdblog.it/new_files/ajax/bf_new.php$frame,1p
2383
2375
  @@||worker.clerkprod-cloudflare.net^$xhr,domain=qiwi.gg
2384
2376
  @@||cdns.brsrvr.com/v1/br-trk-*.js^$script,3p,domain=uncommongoods.com
@@ -2703,7 +2695,8 @@ spotifydown.com##.semi-transparent:has(ins.adsbygoogle[data-ad-slot])
2703
2695
  ||imasdk.googleapis.com/js/sdkloader/ima3.js$script,redirect=google-ima.js,domain=maxpreps.com,important
2704
2696
  @@||cdn.segment.com/*/analytics.min.js$script,domain=app.pandadoc.com
2705
2697
  pandadoc.com##+js(rmnt, script, adBlockEnabled)
2706
- @@||b.cdnst.net/javascript/prebid*.min.js$script,3p,domain=www.speedtest.net
2698
+ speedtest.net##+js(set, Object.prototype.que, noopFunc)
2699
+ speedtest.net##+js(set, Object.prototype.que.push, noopFunc)
2707
2700
  17track.net##+js(set, ga.sendGaEvent, noopFunc)
2708
2701
  @@||taplytics-umami.grubhub.com/jssdk/$script,1p
2709
2702
  ! unbreak Email and SMS solutions
@@ -2715,3 +2708,26 @@ smartcharts.net##+js(set, WURFL, {})
2715
2708
  @@||static.hentai.direct/hentai/*.jpg$popup,3p,domain=hentai2read.com
2716
2709
  @@||static.hentaicdn.com/hentai/*.jpg$popup,3p,domain=hentai2read.com
2717
2710
  forocoches.com#@#[align="center"]:has(div[id^="optidigital-adslot-"])
2711
+ redtube.com#@#svg
2712
+ ||imasdk.googleapis.com/js/sdkloader/ima3.js$script,redirect=google-ima.js,domain=thecw.com,important
2713
+ @@||www.googletagmanager.com/gtm.js$script,domain=www.petsbest.com
2714
+ trutv.com##+js(set, turnerAnalyticsObj, {})
2715
+ trutv.com##+js(set, turnerAnalyticsObj.setVideoObject4AnalyticsProperty, noopFunc)
2716
+ @@||cdnt.netcoresmartech.com/smartechclient.js^$script,domain=selfcare.unifi.com.my
2717
+ ||tag.aticdn.net/piano-analytics.js$script,domain=toureiffel.paris,important
2718
+ toureiffel.paris##+js(set, pa, {})
2719
+ ||imasdk.googleapis.com/js/sdkloader/ima3.js$script,redirect=google-ima.js,domain=gameplayneo.com,important
2720
+ gameplayneo.com##+js(nano-stb, adConfig, *, 0.001)
2721
+ @@||monetize-static.viralize.tv/*viralize_player_content.min.$script,domain=abs-cbn.com
2722
+ ||imasdk.googleapis.com/js/sdkloader/ima3_debug.js$redirect=google-ima.js,domain=embed.sportsline.com,important
2723
+ ||cdn.cookielaw.org/scripttemplates/otSDKStub.js$script,domain=embed.sportsline.com
2724
+ ||g.doubleclick.net/tag/js/gpt.js$script,xhr,redirect=googletagservices_gpt.js:5,domain=wralsportsfan.com,important
2725
+ @@||googletagmanager.com^$script,redirect-rule,domain=charleyharper.com|charleyharperartstudio.com|charleyharperwholesale.com|fabframes.com|fabulousframesandart.com
2726
+ @@||pagead2.googlesyndication.com/pagead/js/adsbygoogle.js$script,redirect-rule,domain=radioviainternet.nl
2727
+ ||tags.tiqcdn.com/utag/*/utag.sync.js$domain=visible.com,important
2728
+ visible.com##+js(set, adobe, {})
2729
+ @@||h-usps.online-metrix.net^$script,domain=ips.usps.com
2730
+ hagerty.com##+js(set, MT, {})
2731
+ hagerty.com##+js(set, MT.track, noopFunc)
2732
+ ||xlivesex.com^$badfilter
2733
+ @@||ads.pubmatic.com/AdServer/js/pwt/$script,domain=cdn.thepublive.com
@@ -134,6 +134,10 @@
134
134
  .cm-theme-override .cm-s-default .cm-variable {
135
135
  color: var(--sf-variable-ink);
136
136
  }
137
+ .cm-theme-override .cm-s-default .CodeMirror-activeline .cm-ext-js .cm-variable {
138
+ text-decoration: underline color-mix(in srgb, var(--sf-variable-ink) 30%, transparent) solid 3px;
139
+ text-decoration-skip-ink: none;
140
+ }
137
141
  .cm-theme-override .cm-s-default .cm-warning {
138
142
  background-color: var(--sf-warning-surface);
139
143
  text-decoration: underline var(--sf-warning-ink);
@@ -47,10 +47,12 @@
47
47
  </div>
48
48
  </div>
49
49
  <div id="templates" style="display: none;">
50
+ <ul>
50
51
  <li class="filterList">
51
52
  <a class="filterListSource" href="asset-viewer.html?url=" target="_blank"></a>&nbsp;<!--
52
53
  --><a class="fa-icon filterListSupport hidden" href="#" target="_blank" rel="noopener noreferrer">home</a>
53
- </span>
54
+ </li>
55
+ </ul>
54
56
  </div>
55
57
 
56
58
  <script src="lib/hsluv/hsluv-0.1.0.min.js"></script>
@@ -0,0 +1,116 @@
1
+ /*******************************************************************************
2
+
3
+ uBlock Origin - a comprehensive, efficient content blocker
4
+ Copyright (C) 2020-present Raymond Hill
5
+
6
+ This program is free software: you can redistribute it and/or modify
7
+ it under the terms of the GNU General Public License as published by
8
+ the Free Software Foundation, either version 3 of the License, or
9
+ (at your option) any later version.
10
+
11
+ This program is distributed in the hope that it will be useful,
12
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
13
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
+ GNU General Public License for more details.
15
+
16
+ You should have received a copy of the GNU General Public License
17
+ along with this program. If not, see {http://www.gnu.org/licenses/}.
18
+
19
+ Home: https://github.com/gorhill/uBlock
20
+ */
21
+
22
+ /******************************************************************************/
23
+
24
+ export class ArglistParser {
25
+ constructor(separatorChar = ',', mustQuote = false) {
26
+ this.separatorChar = this.actualSeparatorChar = separatorChar;
27
+ this.separatorCode = this.actualSeparatorCode = separatorChar.charCodeAt(0);
28
+ this.mustQuote = mustQuote;
29
+ this.quoteBeg = 0; this.quoteEnd = 0;
30
+ this.argBeg = 0; this.argEnd = 0;
31
+ this.separatorBeg = 0; this.separatorEnd = 0;
32
+ this.transform = false;
33
+ this.failed = false;
34
+ this.reWhitespaceStart = /^\s+/;
35
+ this.reWhitespaceEnd = /\s+$/;
36
+ this.reOddTrailingEscape = /(?:^|[^\\])(?:\\\\)*\\$/;
37
+ this.reTrailingEscapeChars = /\\+$/;
38
+ }
39
+ nextArg(pattern, beg = 0) {
40
+ const len = pattern.length;
41
+ this.quoteBeg = beg + this.leftWhitespaceCount(pattern.slice(beg));
42
+ this.failed = false;
43
+ const qc = pattern.charCodeAt(this.quoteBeg);
44
+ if ( qc === 0x22 /* " */ || qc === 0x27 /* ' */ || qc === 0x60 /* ` */ ) {
45
+ this.indexOfNextArgSeparator(pattern, qc);
46
+ if ( this.argEnd !== len ) {
47
+ this.quoteEnd = this.argEnd + 1;
48
+ this.separatorBeg = this.separatorEnd = this.quoteEnd;
49
+ this.separatorEnd += this.leftWhitespaceCount(pattern.slice(this.quoteEnd));
50
+ if ( this.separatorEnd === len ) { return this; }
51
+ if ( pattern.charCodeAt(this.separatorEnd) === this.separatorCode ) {
52
+ this.separatorEnd += 1;
53
+ return this;
54
+ }
55
+ }
56
+ }
57
+ this.indexOfNextArgSeparator(pattern, this.separatorCode);
58
+ this.separatorBeg = this.separatorEnd = this.argEnd;
59
+ if ( this.separatorBeg < len ) {
60
+ this.separatorEnd += 1;
61
+ }
62
+ this.argEnd -= this.rightWhitespaceCount(pattern.slice(0, this.separatorBeg));
63
+ this.quoteEnd = this.argEnd;
64
+ if ( this.mustQuote ) {
65
+ this.failed = true;
66
+ }
67
+ return this;
68
+ }
69
+ normalizeArg(s, char = '') {
70
+ if ( char === '' ) { char = this.actualSeparatorChar; }
71
+ let out = '';
72
+ let pos = 0;
73
+ while ( (pos = s.lastIndexOf(char)) !== -1 ) {
74
+ out = s.slice(pos) + out;
75
+ s = s.slice(0, pos);
76
+ const match = this.reTrailingEscapeChars.exec(s);
77
+ if ( match === null ) { continue; }
78
+ const tail = (match[0].length & 1) !== 0
79
+ ? match[0].slice(0, -1)
80
+ : match[0];
81
+ out = tail + out;
82
+ s = s.slice(0, -match[0].length);
83
+ }
84
+ if ( out === '' ) { return s; }
85
+ return s + out;
86
+ }
87
+ leftWhitespaceCount(s) {
88
+ const match = this.reWhitespaceStart.exec(s);
89
+ return match === null ? 0 : match[0].length;
90
+ }
91
+ rightWhitespaceCount(s) {
92
+ const match = this.reWhitespaceEnd.exec(s);
93
+ return match === null ? 0 : match[0].length;
94
+ }
95
+ indexOfNextArgSeparator(pattern, separatorCode) {
96
+ this.argBeg = this.argEnd = separatorCode !== this.separatorCode
97
+ ? this.quoteBeg + 1
98
+ : this.quoteBeg;
99
+ this.transform = false;
100
+ if ( separatorCode !== this.actualSeparatorCode ) {
101
+ this.actualSeparatorCode = separatorCode;
102
+ this.actualSeparatorChar = String.fromCharCode(separatorCode);
103
+ }
104
+ while ( this.argEnd < pattern.length ) {
105
+ const pos = pattern.indexOf(this.actualSeparatorChar, this.argEnd);
106
+ if ( pos === -1 ) {
107
+ return (this.argEnd = pattern.length);
108
+ }
109
+ if ( this.reOddTrailingEscape.test(pattern.slice(0, pos)) === false ) {
110
+ return (this.argEnd = pos);
111
+ }
112
+ this.transform = true;
113
+ this.argEnd = pos + 1;
114
+ }
115
+ }
116
+ }
@@ -73,6 +73,7 @@ const hiddenSettingsDefault = {
73
73
  loggerPopupType: 'popup',
74
74
  manualUpdateAssetFetchPeriod: 500,
75
75
  modifyWebextFlavor: 'unset',
76
+ noScriptingCSP: 'script-src http: https:',
76
77
  popupFontSize: 'unset',
77
78
  popupPanelDisabledSections: 0,
78
79
  popupPanelHeightMode: 0,
@@ -254,7 +255,6 @@ const µBlock = { // jshint ignore:line
254
255
  scriptlets: {},
255
256
 
256
257
  cspNoInlineScript: "script-src 'unsafe-eval' * blob: data:",
257
- cspNoScripting: 'script-src http: https:',
258
258
  cspNoInlineFont: 'font-src *',
259
259
 
260
260
  liveBlockingProfiles: [],
@@ -2779,7 +2779,7 @@ const loggerStats = (( ) => {
2779
2779
  const outputOne = [];
2780
2780
  for ( let i = 0; i < fields.length; i++ ) {
2781
2781
  const field = fields[i];
2782
- let code = /\b(?:www\.|https?:\/\/)/.test(field) ? '`' : '';
2782
+ const code = i === 1 || /\b(?:www\.|https?:\/\/)/.test(field) ? '`' : '';
2783
2783
  outputOne.push(` ${code}${field.replace(/\|/g, '\\|')}${code} `);
2784
2784
  }
2785
2785
  outputAll.push(outputOne.join('|'));
@@ -804,6 +804,9 @@ const onMessage = function(request, sender, callback) {
804
804
 
805
805
  case 'shouldRenderNoscriptTags': {
806
806
  if ( pageStore === null ) { break; }
807
+ if ( µb.hiddenSettings.noScriptingCSP !== µb.hiddenSettingsDefault.noScriptingCSP ) {
808
+ break;
809
+ }
807
810
  const fctxt = µb.filteringContext.fromTabId(sender.tabId);
808
811
  if ( pageStore.filterScripting(fctxt, undefined) ) {
809
812
  vAPI.tabs.executeScript(sender.tabId, {
@@ -1884,7 +1887,11 @@ const onMessage = function(request, sender, callback) {
1884
1887
  listPromises.push(
1885
1888
  io.get(assetKey, { dontCache: true }).then(details => {
1886
1889
  listNames.push(assetKey);
1887
- return { name: assetKey, text: details.content };
1890
+ return {
1891
+ name: assetKey,
1892
+ text: details.content,
1893
+ trustedSource: assetKey.startsWith('ublock-'),
1894
+ };
1888
1895
  })
1889
1896
  );
1890
1897
  }
@@ -2009,7 +2016,7 @@ const logCSPViolations = function(pageStore, request) {
2009
2016
  fctxt.type = 'script';
2010
2017
  fctxt.filter = undefined;
2011
2018
  if ( pageStore.filterScripting(fctxt, true) === 1 ) {
2012
- cspData.set(µb.cspNoScripting, fctxt.filter);
2019
+ cspData.set(µb.hiddenSettings.noScriptingCSP, fctxt.filter);
2013
2020
  }
2014
2021
 
2015
2022
  fctxt.type = 'inline-font';
@@ -1063,7 +1063,9 @@ const PageStore = class {
1063
1063
  this.largeMediaTimer.on(500);
1064
1064
  }
1065
1065
  const size = headers.contentLength;
1066
- if ( isNaN(size) ) { return 0; }
1066
+ if ( isNaN(size) ) {
1067
+ return µb.userSettings.largeMediaSize === 0 ? 1 : 0;
1068
+ }
1067
1069
  if ( (size >>> 10) < µb.userSettings.largeMediaSize ) { return 0; }
1068
1070
  this.largeMediaCount += 1;
1069
1071
  this.largeMediaTimer.on(500);
@@ -316,7 +316,7 @@ class RedirectEngine {
316
316
  this.aliases = new Map();
317
317
 
318
318
  const fetches = [
319
- import('/assets/resources/scriptlets.js').then(module => {
319
+ import('/js/resources/scriptlets.js').then(module => {
320
320
  for ( const scriptlet of module.builtinScriptlets ) {
321
321
  const details = {};
322
322
  details.mime = mimeFromName(scriptlet.name);
@@ -333,6 +333,8 @@ class RedirectEngine {
333
333
  }
334
334
  }
335
335
  this.modifyTime = Date.now();
336
+ }).catch(reason => {
337
+ console.error(reason);
336
338
  }),
337
339
  ];
338
340