@browserless.io/browserless 2.33.0 → 2.34.0

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 (568) hide show
  1. package/CHANGELOG.md +13 -1
  2. package/README.md +1 -1
  3. package/build/config.d.ts +1 -1
  4. package/build/config.js +1 -1
  5. package/build/http.d.ts +10 -0
  6. package/build/http.js +5 -0
  7. package/build/limiter.spec.js +1 -1
  8. package/build/routes/chrome/http/content.post.body.json +18 -109
  9. package/build/routes/chrome/http/pdf.post.body.json +18 -109
  10. package/build/routes/chrome/http/scrape.post.body.json +18 -109
  11. package/build/routes/chrome/http/screenshot.post.body.json +18 -109
  12. package/build/routes/chrome/tests/content.spec.js +12 -12
  13. package/build/routes/chrome/tests/page-websocket.spec.js +3 -3
  14. package/build/routes/chrome/tests/pdf.spec.js +13 -13
  15. package/build/routes/chrome/tests/performance.spec.js +4 -4
  16. package/build/routes/chrome/tests/scrape.spec.js +13 -13
  17. package/build/routes/chrome/tests/screenshot.spec.js +14 -14
  18. package/build/routes/chromium/http/content.post.body.json +18 -109
  19. package/build/routes/chromium/http/pdf.post.body.json +18 -109
  20. package/build/routes/chromium/http/scrape.post.body.json +18 -109
  21. package/build/routes/chromium/http/screenshot.post.body.json +18 -109
  22. package/build/routes/chromium/tests/content.spec.js +13 -13
  23. package/build/routes/chromium/tests/page-websocket.spec.js +3 -3
  24. package/build/routes/chromium/tests/pdf.spec.js +13 -13
  25. package/build/routes/chromium/tests/performance.spec.js +4 -4
  26. package/build/routes/chromium/tests/scrape.spec.js +13 -13
  27. package/build/routes/chromium/tests/screenshot.spec.js +14 -14
  28. package/build/routes/edge/http/content.post.body.json +18 -109
  29. package/build/routes/edge/http/pdf.post.body.json +18 -109
  30. package/build/routes/edge/http/scrape.post.body.json +18 -109
  31. package/build/routes/edge/http/screenshot.post.body.json +18 -109
  32. package/build/routes/edge/tests/content.spec.js +12 -12
  33. package/build/routes/edge/tests/page-websocket.spec.js +3 -3
  34. package/build/routes/edge/tests/pdf.spec.js +13 -13
  35. package/build/routes/edge/tests/performance.spec.js +4 -4
  36. package/build/routes/edge/tests/scrape.spec.js +13 -13
  37. package/build/routes/edge/tests/screenshot.spec.js +14 -14
  38. package/build/routes/management/http/kill.get.d.ts +1 -1
  39. package/build/routes/management/http/kill.get.query.json +0 -3
  40. package/build/routes/management/http/pressure.get.d.ts +1 -1
  41. package/build/routes/management/http/pressure.get.js +12 -4
  42. package/build/routes/management/http/sessions.get.d.ts +1 -1
  43. package/build/routes/management/http/sessions.get.query.json +0 -3
  44. package/build/routes/management/tests/management.spec.js +13 -13
  45. package/build/server.js +12 -4
  46. package/build/shared/content.http.js +9 -2
  47. package/build/shared/pdf.http.js +9 -2
  48. package/build/shared/scrape.http.js +9 -2
  49. package/build/shared/screenshot.http.js +9 -2
  50. package/build/shim.d.ts +5 -0
  51. package/build/shim.js +13 -0
  52. package/build/shim.spec.js +28 -1
  53. package/build/types.d.ts +21 -1
  54. package/build/types.js +14 -0
  55. package/build/utils.d.ts +1 -0
  56. package/build/utils.js +4 -3
  57. package/extensions/ublocklite/_locales/ar/messages.json +8 -8
  58. package/extensions/ublocklite/_locales/be/messages.json +8 -8
  59. package/extensions/ublocklite/_locales/fi/messages.json +18 -18
  60. package/extensions/ublocklite/_locales/hi/messages.json +21 -21
  61. package/extensions/ublocklite/_locales/hu/messages.json +8 -8
  62. package/extensions/ublocklite/_locales/id/messages.json +15 -15
  63. package/extensions/ublocklite/_locales/ja/messages.json +23 -23
  64. package/extensions/ublocklite/_locales/nl/messages.json +1 -1
  65. package/extensions/ublocklite/_locales/pt_BR/messages.json +15 -15
  66. package/extensions/ublocklite/_locales/pt_PT/messages.json +18 -18
  67. package/extensions/ublocklite/_locales/ru/messages.json +1 -1
  68. package/extensions/ublocklite/_locales/th/messages.json +30 -30
  69. package/extensions/ublocklite/_locales/tr/messages.json +1 -1
  70. package/extensions/ublocklite/_locales/uk/messages.json +10 -10
  71. package/extensions/ublocklite/_locales/vi/messages.json +8 -8
  72. package/extensions/ublocklite/css/dashboard.css +9 -4
  73. package/extensions/ublocklite/css/picker-ui.css +1 -1
  74. package/extensions/ublocklite/css/report.css +0 -8
  75. package/extensions/ublocklite/css/settings.css +17 -13
  76. package/extensions/ublocklite/dashboard.html +16 -12
  77. package/extensions/ublocklite/js/background.js +75 -19
  78. package/extensions/ublocklite/js/config.js +2 -1
  79. package/extensions/ublocklite/js/dashboard.js +9 -5
  80. package/extensions/ublocklite/js/debug.js +69 -6
  81. package/extensions/ublocklite/js/develop.js +1 -1
  82. package/extensions/ublocklite/js/ext-compat.js +9 -2
  83. package/extensions/ublocklite/js/ext.js +6 -0
  84. package/extensions/ublocklite/js/fetch.js +3 -1
  85. package/extensions/ublocklite/js/filter-lists.js +17 -9
  86. package/extensions/ublocklite/js/filter-manager.js +80 -28
  87. package/extensions/ublocklite/js/jsonpath.js +65 -26
  88. package/extensions/ublocklite/js/mode-manager.js +5 -1
  89. package/extensions/ublocklite/js/picker-ui.js +32 -41
  90. package/extensions/ublocklite/js/popup.js +11 -11
  91. package/extensions/ublocklite/js/redirect-resources.js +1 -0
  92. package/extensions/ublocklite/js/report.js +4 -2
  93. package/extensions/ublocklite/js/ro-dnr-editor.js +6 -1
  94. package/extensions/ublocklite/js/ruleset-manager.js +38 -13
  95. package/extensions/ublocklite/js/scripting/css-generic.js +0 -1
  96. package/extensions/ublocklite/js/scripting/css-procedural-api.js +821 -0
  97. package/extensions/ublocklite/js/scripting/css-procedural.js +62 -718
  98. package/extensions/ublocklite/{rulesets/scripting/declarative/ubol-tests.js → js/scripting/css-user-terminate.js} +16 -13
  99. package/extensions/ublocklite/js/scripting/css-user.js +12 -1
  100. package/extensions/ublocklite/js/scripting/picker.js +46 -13
  101. package/extensions/ublocklite/js/scripting/tool-overlay.js +14 -8
  102. package/extensions/ublocklite/js/scripting/unpicker.js +5 -9
  103. package/extensions/ublocklite/js/scripting/zapper.js +1 -1
  104. package/extensions/ublocklite/js/scripting-manager.js +4 -75
  105. package/extensions/ublocklite/js/settings.js +3 -5
  106. package/extensions/ublocklite/js/static-filtering-parser.js +3 -3
  107. package/extensions/ublocklite/js/tool-overlay-ui.js +20 -24
  108. package/extensions/ublocklite/js/troubleshooting.js +11 -19
  109. package/extensions/ublocklite/js/ubo-parser.js +1 -1
  110. package/extensions/ublocklite/js/unpicker-ui.js +16 -9
  111. package/extensions/ublocklite/js/zapper-ui.js +3 -2
  112. package/extensions/ublocklite/manifest.json +12 -2
  113. package/extensions/ublocklite/picker-ui.html +1 -1
  114. package/extensions/ublocklite/report.html +0 -1
  115. package/extensions/ublocklite/rulesets/generic-details.json +28 -16
  116. package/extensions/ublocklite/rulesets/main/adguard-mobile.json +5 -2
  117. package/extensions/ublocklite/rulesets/main/annoyances-cookies.json +27 -15
  118. package/extensions/ublocklite/rulesets/main/annoyances-notifications.json +276 -0
  119. package/extensions/ublocklite/rulesets/main/annoyances-others.json +4 -3
  120. package/extensions/ublocklite/rulesets/main/annoyances-overlays.json +4 -4
  121. package/extensions/ublocklite/rulesets/main/annoyances-widgets.json +3 -2
  122. package/extensions/ublocklite/rulesets/main/bgr-0.json +54 -68
  123. package/extensions/ublocklite/rulesets/main/block-lan.json +3 -2
  124. package/extensions/ublocklite/rulesets/main/chn-0.json +28 -21
  125. package/extensions/ublocklite/rulesets/main/deu-0.json +7 -6
  126. package/extensions/ublocklite/rulesets/main/dpollock-0.json +8 -41
  127. package/extensions/ublocklite/rulesets/main/easylist.json +68 -42
  128. package/extensions/ublocklite/rulesets/main/easyprivacy.json +89 -12
  129. package/extensions/ublocklite/rulesets/main/fra-0.json +19 -19
  130. package/extensions/ublocklite/rulesets/main/hrv-0.json +5 -5
  131. package/extensions/ublocklite/rulesets/main/hun-0.json +5 -3
  132. package/extensions/ublocklite/rulesets/main/idn-0.json +13 -2
  133. package/extensions/ublocklite/rulesets/main/ind-0.json +34 -26
  134. package/extensions/ublocklite/rulesets/main/irn-0.json +676 -635
  135. package/extensions/ublocklite/rulesets/main/isr-0.json +1 -0
  136. package/extensions/ublocklite/rulesets/main/jpn-1.json +55 -31
  137. package/extensions/ublocklite/rulesets/main/kor-1.json +9 -4
  138. package/extensions/ublocklite/rulesets/main/mkd-0.json +1 -1
  139. package/extensions/ublocklite/rulesets/main/nld-0.json +2 -1
  140. package/extensions/ublocklite/rulesets/main/nor-0.json +35 -13
  141. package/extensions/ublocklite/rulesets/main/pgl.json +36 -15
  142. package/extensions/ublocklite/rulesets/main/pol-0.json +3 -2
  143. package/extensions/ublocklite/rulesets/main/rus-0.json +37 -37
  144. package/extensions/ublocklite/rulesets/main/rus-1.json +7 -3
  145. package/extensions/ublocklite/rulesets/main/spa-1.json +15 -33
  146. package/extensions/ublocklite/rulesets/main/stevenblack-hosts.json +15675 -15915
  147. package/extensions/ublocklite/rulesets/main/swe-1.json +46 -34
  148. package/extensions/ublocklite/rulesets/main/tur-0.json +56 -32
  149. package/extensions/ublocklite/rulesets/main/ublock-badware.json +87 -89
  150. package/extensions/ublocklite/rulesets/main/ublock-experimental.json +3 -0
  151. package/extensions/ublocklite/rulesets/main/ublock-filters.json +139 -69
  152. package/extensions/ublocklite/rulesets/main/ukr-0.json +5 -7
  153. package/extensions/ublocklite/rulesets/main/urlhaus-full.json +546 -1235
  154. package/extensions/ublocklite/rulesets/main/vie-1.json +55 -57
  155. package/extensions/ublocklite/rulesets/modify-headers/chn-0.json +4 -2
  156. package/extensions/ublocklite/rulesets/modify-headers/fra-0.json +2 -1
  157. package/extensions/ublocklite/rulesets/modify-headers/irn-0.json +14 -14
  158. package/extensions/ublocklite/rulesets/modify-headers/ublock-filters.json +4 -8
  159. package/extensions/ublocklite/rulesets/modify-headers/vie-1.json +1 -1
  160. package/extensions/ublocklite/rulesets/redirect/annoyances-overlays.json +1 -1
  161. package/extensions/ublocklite/rulesets/redirect/easyprivacy.json +35 -0
  162. package/extensions/ublocklite/rulesets/redirect/irn-0.json +23 -23
  163. package/extensions/ublocklite/rulesets/redirect/kor-1.json +1 -1
  164. package/extensions/ublocklite/rulesets/redirect/rus-0.json +2 -1
  165. package/extensions/ublocklite/rulesets/redirect/spa-1.json +1 -2
  166. package/extensions/ublocklite/rulesets/redirect/tur-0.json +2 -3
  167. package/extensions/ublocklite/rulesets/redirect/ublock-badware.json +18 -0
  168. package/extensions/ublocklite/rulesets/redirect/ublock-filters.json +20 -15
  169. package/extensions/ublocklite/rulesets/redirect/vie-1.json +5 -22
  170. package/extensions/ublocklite/rulesets/regex/chn-0.json +1 -1
  171. package/extensions/ublocklite/rulesets/regex/ita-0.json +1 -0
  172. package/extensions/ublocklite/rulesets/regex/jpn-1.json +1 -1
  173. package/extensions/ublocklite/rulesets/regex/tur-0.json +4 -1
  174. package/extensions/ublocklite/rulesets/regex/ublock-badware.json +3 -8
  175. package/extensions/ublocklite/rulesets/regex/ublock-filters.json +14 -9
  176. package/extensions/ublocklite/rulesets/regex/ukr-0.json +3 -5
  177. package/extensions/ublocklite/rulesets/removeparam/adguard-spyware-url.json +26 -11
  178. package/extensions/ublocklite/rulesets/removeparam/irn-0.json +16 -15
  179. package/extensions/ublocklite/rulesets/removeparam/rus-1.json +3 -2
  180. package/extensions/ublocklite/rulesets/removeparam/ublock-filters.json +6 -5
  181. package/extensions/ublocklite/rulesets/ruleset-details.json +332 -324
  182. package/extensions/ublocklite/rulesets/scripting/generic/annoyances-cookies.js +3 -3
  183. package/extensions/ublocklite/rulesets/scripting/generic/annoyances-notifications.js +87 -0
  184. package/extensions/ublocklite/rulesets/scripting/generic/annoyances-social.js +2 -2
  185. package/extensions/ublocklite/rulesets/scripting/generic/bgr-0.js +3 -3
  186. package/extensions/ublocklite/rulesets/scripting/generic/chn-0.js +2 -2
  187. package/extensions/ublocklite/rulesets/scripting/generic/deu-0.js +1 -1
  188. package/extensions/ublocklite/rulesets/scripting/generic/easylist.js +3 -3
  189. package/extensions/ublocklite/rulesets/scripting/generic/est-0.js +1 -1
  190. package/extensions/ublocklite/rulesets/scripting/generic/fra-0.js +2 -2
  191. package/extensions/ublocklite/rulesets/scripting/generic/hrv-0.js +1 -1
  192. package/extensions/ublocklite/rulesets/scripting/generic/idn-0.js +2 -2
  193. package/extensions/ublocklite/rulesets/scripting/generic/ind-0.js +2 -2
  194. package/extensions/ublocklite/rulesets/scripting/generic/irn-0.js +3 -3
  195. package/extensions/ublocklite/rulesets/scripting/generic/jpn-1.js +3 -3
  196. package/extensions/ublocklite/rulesets/scripting/generic/kor-1.js +2 -2
  197. package/extensions/ublocklite/rulesets/scripting/generic/nor-0.js +1 -1
  198. package/extensions/ublocklite/rulesets/scripting/generic/pol-0.js +1 -1
  199. package/extensions/ublocklite/rulesets/scripting/generic/rou-1.js +2 -2
  200. package/extensions/ublocklite/rulesets/scripting/generic/rus-0.js +1 -1
  201. package/extensions/ublocklite/rulesets/scripting/generic/swe-1.js +1 -1
  202. package/extensions/ublocklite/rulesets/scripting/generic/tur-0.js +1 -1
  203. package/extensions/ublocklite/rulesets/scripting/generic/ublock-filters.js +3 -3
  204. package/extensions/ublocklite/rulesets/scripting/generic/ukr-0.js +3 -3
  205. package/extensions/ublocklite/rulesets/scripting/generic/vie-1.js +1 -1
  206. package/extensions/ublocklite/rulesets/scripting/{declarative/isr-0.js → generichigh/annoyances-notifications.css} +15 -21
  207. package/extensions/ublocklite/rulesets/scripting/generichigh/chn-0.css +14 -0
  208. package/extensions/ublocklite/rulesets/scripting/generichigh/easylist.css +3 -0
  209. package/extensions/ublocklite/rulesets/scripting/generichigh/est-0.css +1 -0
  210. package/extensions/ublocklite/rulesets/scripting/generichigh/idn-0.css +34 -0
  211. package/extensions/ublocklite/rulesets/scripting/generichigh/irn-0.css +27 -0
  212. package/extensions/ublocklite/rulesets/scripting/generichigh/nor-0.css +17 -0
  213. package/extensions/ublocklite/rulesets/scripting/generichigh/pol-0.css +8 -0
  214. package/extensions/ublocklite/rulesets/scripting/generichigh/rou-1.css +1 -0
  215. package/extensions/ublocklite/rulesets/scripting/generichigh/rus-0.css +107 -0
  216. package/extensions/ublocklite/rulesets/scripting/generichigh/rus-1.css +3 -0
  217. package/extensions/ublocklite/rulesets/scripting/generichigh/swe-1.css +1 -0
  218. package/extensions/ublocklite/rulesets/scripting/generichigh/tur-0.css +1 -0
  219. package/extensions/ublocklite/rulesets/scripting/generichigh/ublock-filters.css +6 -2
  220. package/extensions/ublocklite/rulesets/scripting/generichigh/vie-1.css +1 -0
  221. package/extensions/ublocklite/rulesets/scripting/procedural/adguard-mobile.js +3 -3
  222. package/extensions/ublocklite/rulesets/scripting/procedural/alb-0.js +4 -4
  223. package/extensions/ublocklite/rulesets/scripting/procedural/annoyances-cookies.js +4 -4
  224. package/extensions/ublocklite/rulesets/scripting/procedural/annoyances-notifications.js +42 -0
  225. package/extensions/ublocklite/rulesets/scripting/procedural/annoyances-others.js +3 -3
  226. package/extensions/ublocklite/rulesets/scripting/procedural/annoyances-overlays.js +3 -3
  227. package/extensions/ublocklite/rulesets/scripting/procedural/annoyances-social.js +3 -3
  228. package/extensions/ublocklite/rulesets/scripting/procedural/chn-0.js +3 -3
  229. package/extensions/ublocklite/rulesets/scripting/procedural/cze-0.js +3 -3
  230. package/extensions/ublocklite/rulesets/scripting/procedural/deu-0.js +1 -1
  231. package/extensions/ublocklite/rulesets/scripting/procedural/easylist.js +3 -3
  232. package/extensions/ublocklite/rulesets/scripting/{declarative → procedural}/easyprivacy.js +5 -5
  233. package/extensions/ublocklite/rulesets/scripting/procedural/est-0.js +3 -3
  234. package/extensions/ublocklite/rulesets/scripting/procedural/fin-0.js +3 -3
  235. package/extensions/ublocklite/rulesets/scripting/procedural/fra-0.js +4 -4
  236. package/extensions/ublocklite/rulesets/scripting/procedural/grc-0.js +3 -3
  237. package/extensions/ublocklite/rulesets/scripting/procedural/hrv-0.js +3 -3
  238. package/extensions/ublocklite/rulesets/scripting/procedural/hun-0.js +3 -3
  239. package/extensions/ublocklite/rulesets/scripting/procedural/idn-0.js +3 -3
  240. package/extensions/ublocklite/rulesets/scripting/procedural/ind-0.js +3 -3
  241. package/extensions/ublocklite/rulesets/scripting/procedural/irn-0.js +3 -3
  242. package/extensions/ublocklite/rulesets/scripting/procedural/isl-0.js +1 -1
  243. package/extensions/ublocklite/rulesets/scripting/procedural/isr-0.js +3 -3
  244. package/extensions/ublocklite/rulesets/scripting/procedural/ita-0.js +3 -3
  245. package/extensions/ublocklite/rulesets/scripting/procedural/jpn-1.js +3 -3
  246. package/extensions/ublocklite/rulesets/scripting/procedural/kor-1.js +3 -3
  247. package/extensions/ublocklite/rulesets/scripting/procedural/ltu-0.js +3 -3
  248. package/extensions/ublocklite/rulesets/scripting/procedural/lva-0.js +1 -1
  249. package/extensions/ublocklite/rulesets/scripting/{declarative → procedural}/mkd-0.js +4 -4
  250. package/extensions/ublocklite/rulesets/scripting/procedural/nld-0.js +3 -3
  251. package/extensions/ublocklite/rulesets/scripting/procedural/nor-0.js +4 -4
  252. package/extensions/ublocklite/rulesets/scripting/procedural/pol-0.js +3 -3
  253. package/extensions/ublocklite/rulesets/scripting/procedural/rou-1.js +3 -3
  254. package/extensions/ublocklite/rulesets/scripting/procedural/rus-0.js +3 -3
  255. package/extensions/ublocklite/rulesets/scripting/procedural/rus-1.js +3 -3
  256. package/extensions/ublocklite/rulesets/scripting/procedural/spa-0.js +1 -1
  257. package/extensions/ublocklite/rulesets/scripting/procedural/spa-1.js +4 -4
  258. package/extensions/ublocklite/rulesets/scripting/procedural/svn-0.js +1 -1
  259. package/extensions/ublocklite/rulesets/scripting/procedural/swe-1.js +3 -3
  260. package/extensions/ublocklite/rulesets/scripting/procedural/tha-0.js +1 -1
  261. package/extensions/ublocklite/rulesets/scripting/procedural/tur-0.js +4 -4
  262. package/extensions/ublocklite/rulesets/scripting/procedural/ublock-badware.js +3 -3
  263. package/extensions/ublocklite/rulesets/scripting/procedural/ublock-filters.js +3 -3
  264. package/extensions/ublocklite/rulesets/scripting/procedural/ubol-tests.js +1 -1
  265. package/extensions/ublocklite/rulesets/scripting/procedural/ukr-0.js +3 -3
  266. package/extensions/ublocklite/rulesets/scripting/procedural/vie-1.js +3 -3
  267. package/extensions/ublocklite/rulesets/scripting/scriptlet/adguard-mobile.abort-current-script.js +6 -5
  268. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.abort-current-script.js +4 -3
  269. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.set-constant.js +2 -2
  270. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.set-cookie-reload.js +446 -0
  271. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.set-cookie.js +2 -2
  272. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.set-local-storage-item.js +2 -2
  273. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.set-session-storage-item.js +2 -2
  274. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.trusted-click-element.js +2 -2
  275. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.trusted-set-cookie.js +2 -2
  276. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.trusted-set-local-storage-item.js +2 -2
  277. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-notifications.abort-current-script.js +452 -0
  278. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-notifications.abort-on-property-write.js +347 -0
  279. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-notifications.addEventListener-defuser.js +498 -0
  280. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-notifications.remove-attr.js +405 -0
  281. package/extensions/ublocklite/rulesets/scripting/scriptlet/{tur-0.set-attr.js → annoyances-notifications.remove-class.js} +90 -119
  282. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-notifications.set-constant.js +541 -0
  283. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-notifications.set-cookie.js +442 -0
  284. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-notifications.set-local-storage-item.js +399 -0
  285. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-notifications.set-session-storage-item.js +399 -0
  286. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.abort-current-script.js +5 -4
  287. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.abort-on-property-read.js +1 -1
  288. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.addEventListener-defuser.js +2 -2
  289. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.prevent-setTimeout.js +2 -2
  290. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.prevent-window-open.js +1 -1
  291. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.remove-node-text.js +2 -2
  292. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.set-constant.js +2 -2
  293. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.set-cookie.js +2 -2
  294. package/extensions/ublocklite/rulesets/scripting/scriptlet/chn-0.abort-current-script.js +6 -5
  295. package/extensions/ublocklite/rulesets/scripting/scriptlet/chn-0.addEventListener-defuser.js +1 -1
  296. package/extensions/ublocklite/rulesets/scripting/scriptlet/chn-0.adjust-setTimeout.js +1 -1
  297. package/extensions/ublocklite/rulesets/scripting/scriptlet/chn-0.json-prune.js +3 -3
  298. package/extensions/ublocklite/rulesets/scripting/scriptlet/chn-0.prevent-fetch.js +2 -2
  299. package/extensions/ublocklite/rulesets/scripting/scriptlet/chn-0.prevent-setTimeout.js +2 -2
  300. package/extensions/ublocklite/rulesets/scripting/scriptlet/chn-0.set-constant.js +2 -2
  301. package/extensions/ublocklite/rulesets/scripting/scriptlet/cze-0.abort-current-script.js +4 -3
  302. package/extensions/ublocklite/rulesets/scripting/scriptlet/easyprivacy.abort-current-script.js +5 -4
  303. package/extensions/ublocklite/rulesets/scripting/scriptlet/easyprivacy.set-constant.js +1 -1
  304. package/extensions/ublocklite/rulesets/scripting/scriptlet/easyprivacy.set-local-storage-item.js +1 -1
  305. package/extensions/ublocklite/rulesets/scripting/scriptlet/fin-0.abort-current-script.js +4 -3
  306. package/extensions/ublocklite/rulesets/scripting/scriptlet/fra-0.abort-current-script.js +4 -3
  307. package/extensions/ublocklite/rulesets/scripting/scriptlet/fra-0.prevent-requestAnimationFrame.js +407 -0
  308. package/extensions/ublocklite/rulesets/scripting/scriptlet/fra-0.prevent-setTimeout.js +2 -2
  309. package/extensions/ublocklite/rulesets/scripting/scriptlet/fra-0.prevent-window-open.js +1 -1
  310. package/extensions/ublocklite/rulesets/scripting/scriptlet/fra-0.remove-node-text.js +449 -0
  311. package/extensions/ublocklite/rulesets/scripting/scriptlet/hun-0.abort-current-script.js +6 -5
  312. package/extensions/ublocklite/rulesets/scripting/scriptlet/hun-0.set-local-storage-item.js +399 -0
  313. package/extensions/ublocklite/rulesets/scripting/scriptlet/idn-0.abort-current-script.js +7 -6
  314. package/extensions/ublocklite/rulesets/scripting/scriptlet/idn-0.abort-on-property-read.js +3 -3
  315. package/extensions/ublocklite/rulesets/scripting/scriptlet/idn-0.addEventListener-defuser.js +2 -2
  316. package/extensions/ublocklite/rulesets/scripting/scriptlet/irn-0.abort-current-script.js +4 -3
  317. package/extensions/ublocklite/rulesets/scripting/scriptlet/irn-0.set-local-storage-item.js +2 -2
  318. package/extensions/ublocklite/rulesets/scripting/scriptlet/irn-0.set-session-storage-item.js +2 -2
  319. package/extensions/ublocklite/rulesets/scripting/scriptlet/isr-0.abort-current-script.js +4 -3
  320. package/extensions/ublocklite/rulesets/scripting/scriptlet/jpn-1.abort-current-script.js +6 -5
  321. package/extensions/ublocklite/rulesets/scripting/scriptlet/jpn-1.abort-on-property-write.js +2 -2
  322. package/extensions/ublocklite/rulesets/scripting/scriptlet/jpn-1.addEventListener-defuser.js +2 -2
  323. package/extensions/ublocklite/rulesets/scripting/scriptlet/jpn-1.adjust-setTimeout.js +1 -1
  324. package/extensions/ublocklite/rulesets/scripting/scriptlet/jpn-1.href-sanitizer.js +2 -2
  325. package/extensions/ublocklite/rulesets/scripting/scriptlet/jpn-1.remove-attr.js +2 -2
  326. package/extensions/ublocklite/rulesets/scripting/scriptlet/jpn-1.remove-node-text.js +2 -2
  327. package/extensions/ublocklite/rulesets/scripting/scriptlet/jpn-1.set-constant.js +2 -2
  328. package/extensions/ublocklite/rulesets/scripting/scriptlet/kor-1.abort-current-script.js +4 -3
  329. package/extensions/ublocklite/rulesets/scripting/scriptlet/kor-1.set-constant.js +2 -2
  330. package/extensions/ublocklite/rulesets/scripting/scriptlet/kor-1.spoof-css.js +422 -0
  331. package/extensions/ublocklite/rulesets/scripting/scriptlet/ltu-0.abort-current-script.js +4 -3
  332. package/extensions/ublocklite/rulesets/scripting/scriptlet/nld-0.abort-current-script.js +4 -3
  333. package/extensions/ublocklite/rulesets/scripting/scriptlet/nld-0.prevent-setTimeout.js +2 -2
  334. package/extensions/ublocklite/rulesets/scripting/scriptlet/nld-0.prevent-xhr.js +584 -0
  335. package/extensions/ublocklite/rulesets/scripting/scriptlet/nor-0.abort-current-script.js +4 -3
  336. package/extensions/ublocklite/rulesets/scripting/scriptlet/pol-0.abort-current-script.js +4 -3
  337. package/extensions/ublocklite/rulesets/scripting/scriptlet/rou-1.abort-current-script.js +4 -3
  338. package/extensions/ublocklite/rulesets/scripting/scriptlet/rou-1.prevent-setInterval.js +2 -2
  339. package/extensions/ublocklite/rulesets/scripting/scriptlet/rou-1.prevent-setTimeout.js +2 -2
  340. package/extensions/ublocklite/rulesets/scripting/scriptlet/rou-1.prevent-window-open.js +2 -2
  341. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.abort-current-script.js +5 -4
  342. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.abort-on-property-read.js +2 -2
  343. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.addEventListener-defuser.js +3 -3
  344. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.adjust-setInterval.js +1 -1
  345. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.href-sanitizer.js +2 -2
  346. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.json-prune-fetch-response.js +2 -2
  347. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.prevent-fetch.js +3 -3
  348. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.remove-node-text.js +2 -2
  349. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.set-constant.js +3 -3
  350. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.set-cookie.js +2 -2
  351. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-1.prevent-xhr.js +1 -1
  352. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-1.set-constant.js +3 -3
  353. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.abort-current-script.js +6 -5
  354. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.abort-on-property-read.js +2 -2
  355. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.abort-on-property-write.js +2 -2
  356. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.addEventListener-defuser.js +3 -3
  357. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.adjust-setTimeout.js +2 -2
  358. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.noeval-if.js +3 -3
  359. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.prevent-fetch.js +2 -2
  360. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.prevent-setTimeout.js +2 -2
  361. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.prevent-window-open.js +1 -1
  362. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.remove-attr.js +2 -2
  363. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.set-constant.js +2 -2
  364. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.set-local-storage-item.js +1 -1
  365. package/extensions/ublocklite/rulesets/scripting/scriptlet/swe-1.abort-current-script.js +5 -4
  366. package/extensions/ublocklite/rulesets/scripting/scriptlet/swe-1.noeval-if.js +1 -1
  367. package/extensions/ublocklite/rulesets/scripting/scriptlet/swe-1.prevent-xhr.js +1 -1
  368. package/extensions/ublocklite/rulesets/scripting/scriptlet/swe-1.set-constant.js +1 -1
  369. package/extensions/ublocklite/rulesets/scripting/scriptlet/tur-0.abort-current-script.js +4 -3
  370. package/extensions/ublocklite/rulesets/scripting/scriptlet/tur-0.abort-on-property-read.js +1 -1
  371. package/extensions/ublocklite/rulesets/scripting/scriptlet/tur-0.abort-on-property-write.js +2 -2
  372. package/extensions/ublocklite/rulesets/scripting/scriptlet/tur-0.adjust-setInterval.js +2 -2
  373. package/extensions/ublocklite/rulesets/scripting/scriptlet/tur-0.adjust-setTimeout.js +332 -0
  374. package/extensions/ublocklite/rulesets/scripting/scriptlet/tur-0.m3u-prune.js +2 -2
  375. package/extensions/ublocklite/rulesets/scripting/scriptlet/tur-0.prevent-window-open.js +1 -1
  376. package/extensions/ublocklite/rulesets/scripting/scriptlet/tur-0.remove-attr.js +2 -2
  377. package/extensions/ublocklite/rulesets/scripting/scriptlet/tur-0.set-constant.js +2 -2
  378. package/extensions/ublocklite/rulesets/scripting/scriptlet/tur-0.set-local-storage-item.js +3 -3
  379. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-badware.abort-current-script.js +4 -3
  380. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.abort-current-script.js +7 -6
  381. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.abort-on-property-read.js +2 -2
  382. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.abort-on-property-write.js +2 -2
  383. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.abort-on-stack-trace.js +3 -3
  384. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.addEventListener-defuser.js +3 -3
  385. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.adjust-setInterval.js +3 -3
  386. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.adjust-setTimeout.js +3 -3
  387. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.close-window.js +3 -3
  388. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.href-sanitizer.js +2 -2
  389. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.json-edit.js +69 -29
  390. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.json-prune-fetch-response.js +2 -2
  391. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.json-prune.js +2 -2
  392. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.jsonl-edit-xhr-response.js +70 -30
  393. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.noeval-if.js +2 -2
  394. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.nowebrtc.js +1 -1
  395. package/extensions/ublocklite/rulesets/scripting/scriptlet/{irn-0.close-window.js → ublock-filters.prevent-canvas.js} +14 -21
  396. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.prevent-fetch.js +2 -2
  397. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.prevent-requestAnimationFrame.js +2 -2
  398. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.prevent-setInterval.js +3 -3
  399. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.prevent-setTimeout.js +2 -2
  400. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.prevent-window-open.js +2 -2
  401. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.prevent-xhr.js +3 -3
  402. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.remove-attr.js +2 -2
  403. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.remove-cookie.js +2 -2
  404. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.remove-node-text.js +3 -3
  405. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.set-constant.js +3 -3
  406. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.set-cookie.js +2 -2
  407. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.set-local-storage-item.js +2 -2
  408. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.set-session-storage-item.js +2 -2
  409. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-click-element.js +2 -2
  410. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-create-html.js +2 -2
  411. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-json-edit-fetch-response.js +927 -0
  412. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-override-element-method.js +3 -3
  413. package/extensions/ublocklite/rulesets/scripting/scriptlet/{hun-0.prevent-fetch.js → ublock-filters.trusted-prevent-fetch.js} +7 -7
  414. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-replace-argument.js +2 -2
  415. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-replace-fetch-response.js +2 -2
  416. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-replace-node-text.js +3 -3
  417. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-replace-outbound-text.js +3 -3
  418. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-set-attr.js +2 -2
  419. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-set-constant.js +4 -4
  420. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-set-cookie.js +3 -3
  421. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-set-local-storage-item.js +1 -1
  422. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-suppress-native-method.js +2 -2
  423. package/extensions/ublocklite/rulesets/scripting/scriptlet/ubol-tests.jsonl-edit-fetch-response.js +68 -28
  424. package/extensions/ublocklite/rulesets/scripting/scriptlet/ubol-tests.jsonl-edit-xhr-response.js +68 -28
  425. package/extensions/ublocklite/rulesets/scripting/scriptlet/ukr-0.abort-current-script.js +4 -3
  426. package/extensions/ublocklite/rulesets/scripting/scriptlet/ukr-0.abort-on-property-read.js +1 -1
  427. package/extensions/ublocklite/rulesets/scripting/scriptlet/vie-1.abort-current-script.js +6 -5
  428. package/extensions/ublocklite/rulesets/scripting/scriptlet/vie-1.abort-on-property-read.js +2 -2
  429. package/extensions/ublocklite/rulesets/scripting/scriptlet/vie-1.set-constant.js +1 -1
  430. package/extensions/ublocklite/rulesets/scripting/specific/adguard-mobile.js +3 -3
  431. package/extensions/ublocklite/rulesets/scripting/specific/annoyances-cookies.js +3 -3
  432. package/extensions/ublocklite/rulesets/scripting/specific/annoyances-notifications.js +42 -0
  433. package/extensions/ublocklite/rulesets/scripting/specific/annoyances-others.js +3 -3
  434. package/extensions/ublocklite/rulesets/scripting/specific/annoyances-overlays.js +3 -3
  435. package/extensions/ublocklite/rulesets/scripting/specific/annoyances-social.js +3 -3
  436. package/extensions/ublocklite/rulesets/scripting/specific/bgr-0.js +3 -3
  437. package/extensions/ublocklite/rulesets/scripting/specific/chn-0.js +3 -3
  438. package/extensions/ublocklite/rulesets/scripting/specific/cze-0.js +1 -1
  439. package/extensions/ublocklite/rulesets/scripting/specific/deu-0.js +3 -3
  440. package/extensions/ublocklite/rulesets/scripting/specific/easylist.js +3 -3
  441. package/extensions/ublocklite/rulesets/scripting/specific/fin-0.js +3 -3
  442. package/extensions/ublocklite/rulesets/scripting/specific/fra-0.js +3 -3
  443. package/extensions/ublocklite/rulesets/scripting/specific/hrv-0.js +3 -3
  444. package/extensions/ublocklite/rulesets/scripting/specific/hun-0.js +3 -3
  445. package/extensions/ublocklite/rulesets/scripting/specific/idn-0.js +3 -3
  446. package/extensions/ublocklite/rulesets/scripting/specific/ind-0.js +3 -3
  447. package/extensions/ublocklite/rulesets/scripting/specific/irn-0.js +3 -3
  448. package/extensions/ublocklite/rulesets/scripting/specific/isr-0.js +3 -3
  449. package/extensions/ublocklite/rulesets/scripting/specific/ita-0.js +3 -3
  450. package/extensions/ublocklite/rulesets/scripting/specific/jpn-1.js +3 -3
  451. package/extensions/ublocklite/rulesets/scripting/specific/kor-1.js +3 -3
  452. package/extensions/ublocklite/rulesets/scripting/specific/nld-0.js +3 -3
  453. package/extensions/ublocklite/rulesets/scripting/specific/nor-0.js +3 -3
  454. package/extensions/ublocklite/rulesets/scripting/specific/pol-0.js +3 -3
  455. package/extensions/ublocklite/rulesets/scripting/specific/rou-1.js +3 -3
  456. package/extensions/ublocklite/rulesets/scripting/specific/rus-0.js +3 -3
  457. package/extensions/ublocklite/rulesets/scripting/specific/rus-1.js +3 -3
  458. package/extensions/ublocklite/rulesets/scripting/specific/spa-1.js +3 -3
  459. package/extensions/ublocklite/rulesets/scripting/specific/swe-1.js +3 -3
  460. package/extensions/ublocklite/rulesets/scripting/specific/tur-0.js +3 -3
  461. package/extensions/ublocklite/rulesets/scripting/specific/ublock-filters.js +3 -3
  462. package/extensions/ublocklite/rulesets/scripting/specific/ukr-0.js +3 -3
  463. package/extensions/ublocklite/rulesets/scripting/specific/vie-1.js +3 -3
  464. package/extensions/ublocklite/rulesets/scriptlet-details.json +408 -341
  465. package/extensions/ublocklite/rulesets/strictblock/adguard-mobile.json +13 -1
  466. package/extensions/ublocklite/rulesets/strictblock/annoyances-cookies.json +0 -1
  467. package/extensions/ublocklite/rulesets/strictblock/annoyances-notifications.json +41 -0
  468. package/extensions/ublocklite/rulesets/strictblock/bgr-0.json +1 -2
  469. package/extensions/ublocklite/rulesets/strictblock/chn-0.json +278 -1
  470. package/extensions/ublocklite/rulesets/strictblock/dpollock-0.json +8 -41
  471. package/extensions/ublocklite/rulesets/strictblock/easylist.json +13 -14
  472. package/extensions/ublocklite/rulesets/strictblock/easyprivacy.json +74 -3
  473. package/extensions/ublocklite/rulesets/strictblock/fra-0.json +500 -41
  474. package/extensions/ublocklite/rulesets/strictblock/hun-0.json +2 -0
  475. package/extensions/ublocklite/rulesets/strictblock/irn-0.json +6 -2
  476. package/extensions/ublocklite/rulesets/strictblock/jpn-1.json +182 -171
  477. package/extensions/ublocklite/rulesets/strictblock/kor-1.json +5 -0
  478. package/extensions/ublocklite/rulesets/strictblock/mkd-0.json +1 -0
  479. package/extensions/ublocklite/rulesets/strictblock/nor-0.json +6 -4
  480. package/extensions/ublocklite/rulesets/strictblock/pgl.json +36 -15
  481. package/extensions/ublocklite/rulesets/strictblock/pol-0.json +1 -0
  482. package/extensions/ublocklite/rulesets/strictblock/rus-1.json +1 -0
  483. package/extensions/ublocklite/rulesets/strictblock/spa-1.json +1 -0
  484. package/extensions/ublocklite/rulesets/strictblock/stevenblack-hosts.json +15675 -15915
  485. package/extensions/ublocklite/rulesets/strictblock/swe-1.json +6 -55
  486. package/extensions/ublocklite/rulesets/strictblock/tur-0.json +0 -1
  487. package/extensions/ublocklite/rulesets/strictblock/ublock-badware.json +677 -670
  488. package/extensions/ublocklite/rulesets/strictblock/ublock-filters.json +1 -1
  489. package/extensions/ublocklite/rulesets/strictblock/ukr-0.json +1 -4
  490. package/extensions/ublocklite/rulesets/strictblock/urlhaus-full.json +546 -1235
  491. package/extensions/ublocklite/rulesets/strictblock/vie-1.json +2 -2
  492. package/extensions/ublocklite/rulesets/urlskip/ublock-filters.json +97 -14
  493. package/extensions/ublocklite/ublock.zip +0 -0
  494. package/extensions/ublocklite/web_accessible_resources/fingerprint2.js +1 -1
  495. package/package.json +12 -12
  496. package/src/config.ts +1 -1
  497. package/src/http.ts +5 -0
  498. package/src/limiter.spec.ts +1 -1
  499. package/src/routes/chrome/tests/content.spec.ts +12 -12
  500. package/src/routes/chrome/tests/page-websocket.spec.ts +3 -3
  501. package/src/routes/chrome/tests/pdf.spec.ts +13 -13
  502. package/src/routes/chrome/tests/performance.spec.ts +4 -4
  503. package/src/routes/chrome/tests/scrape.spec.ts +13 -13
  504. package/src/routes/chrome/tests/screenshot.spec.ts +14 -14
  505. package/src/routes/chromium/tests/content.spec.ts +13 -13
  506. package/src/routes/chromium/tests/page-websocket.spec.ts +3 -3
  507. package/src/routes/chromium/tests/pdf.spec.ts +13 -13
  508. package/src/routes/chromium/tests/performance.spec.ts +4 -4
  509. package/src/routes/chromium/tests/scrape.spec.ts +13 -13
  510. package/src/routes/chromium/tests/screenshot.spec.ts +14 -14
  511. package/src/routes/edge/tests/content.spec.ts +12 -12
  512. package/src/routes/edge/tests/page-websocket.spec.ts +3 -3
  513. package/src/routes/edge/tests/pdf.spec.ts +13 -13
  514. package/src/routes/edge/tests/performance.spec.ts +4 -4
  515. package/src/routes/edge/tests/scrape.spec.ts +13 -13
  516. package/src/routes/edge/tests/screenshot.spec.ts +14 -14
  517. package/src/routes/management/http/kill.get.ts +1 -1
  518. package/src/routes/management/http/pressure.get.ts +15 -3
  519. package/src/routes/management/http/sessions.get.ts +1 -1
  520. package/src/routes/management/tests/management.spec.ts +13 -13
  521. package/src/server.ts +17 -3
  522. package/src/shared/content.http.ts +9 -1
  523. package/src/shared/pdf.http.ts +9 -1
  524. package/src/shared/scrape.http.ts +9 -1
  525. package/src/shared/screenshot.http.ts +9 -1
  526. package/src/shim.spec.ts +40 -1
  527. package/src/shim.ts +17 -0
  528. package/src/types.ts +32 -1
  529. package/src/utils.ts +5 -3
  530. package/static/docs/swagger.json +455 -150
  531. package/static/docs/swagger.min.json +454 -149
  532. package/static/function/client.js +46 -8
  533. package/static/function/index.html +46 -8
  534. package/extensions/ublocklite/js/scripting/css-declarative.js +0 -116
  535. package/extensions/ublocklite/rulesets/scripting/declarative/adguard-mobile.js +0 -42
  536. package/extensions/ublocklite/rulesets/scripting/declarative/alb-0.js +0 -42
  537. package/extensions/ublocklite/rulesets/scripting/declarative/annoyances-cookies.js +0 -42
  538. package/extensions/ublocklite/rulesets/scripting/declarative/annoyances-others.js +0 -42
  539. package/extensions/ublocklite/rulesets/scripting/declarative/annoyances-overlays.js +0 -42
  540. package/extensions/ublocklite/rulesets/scripting/declarative/annoyances-social.js +0 -42
  541. package/extensions/ublocklite/rulesets/scripting/declarative/chn-0.js +0 -42
  542. package/extensions/ublocklite/rulesets/scripting/declarative/cze-0.js +0 -42
  543. package/extensions/ublocklite/rulesets/scripting/declarative/easylist.js +0 -42
  544. package/extensions/ublocklite/rulesets/scripting/declarative/est-0.js +0 -42
  545. package/extensions/ublocklite/rulesets/scripting/declarative/fin-0.js +0 -42
  546. package/extensions/ublocklite/rulesets/scripting/declarative/fra-0.js +0 -42
  547. package/extensions/ublocklite/rulesets/scripting/declarative/grc-0.js +0 -42
  548. package/extensions/ublocklite/rulesets/scripting/declarative/hrv-0.js +0 -42
  549. package/extensions/ublocklite/rulesets/scripting/declarative/hun-0.js +0 -42
  550. package/extensions/ublocklite/rulesets/scripting/declarative/idn-0.js +0 -42
  551. package/extensions/ublocklite/rulesets/scripting/declarative/irn-0.js +0 -42
  552. package/extensions/ublocklite/rulesets/scripting/declarative/jpn-1.js +0 -42
  553. package/extensions/ublocklite/rulesets/scripting/declarative/kor-1.js +0 -42
  554. package/extensions/ublocklite/rulesets/scripting/declarative/ltu-0.js +0 -42
  555. package/extensions/ublocklite/rulesets/scripting/declarative/nld-0.js +0 -42
  556. package/extensions/ublocklite/rulesets/scripting/declarative/nor-0.js +0 -42
  557. package/extensions/ublocklite/rulesets/scripting/declarative/pol-0.js +0 -42
  558. package/extensions/ublocklite/rulesets/scripting/declarative/rou-1.js +0 -42
  559. package/extensions/ublocklite/rulesets/scripting/declarative/rus-0.js +0 -42
  560. package/extensions/ublocklite/rulesets/scripting/declarative/rus-1.js +0 -42
  561. package/extensions/ublocklite/rulesets/scripting/declarative/spa-1.js +0 -42
  562. package/extensions/ublocklite/rulesets/scripting/declarative/swe-1.js +0 -42
  563. package/extensions/ublocklite/rulesets/scripting/declarative/tur-0.js +0 -42
  564. package/extensions/ublocklite/rulesets/scripting/declarative/ublock-badware.js +0 -42
  565. package/extensions/ublocklite/rulesets/scripting/declarative/ublock-filters.js +0 -42
  566. package/extensions/ublocklite/rulesets/scripting/declarative/ukr-0.js +0 -42
  567. package/extensions/ublocklite/rulesets/scripting/declarative/vie-1.js +0 -42
  568. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.overlay-buster.js +0 -165
@@ -1,7 +1,7 @@
1
1
  /*******************************************************************************
2
2
 
3
3
  uBlock Origin Lite - a comprehensive, MV3-compliant content blocker
4
- Copyright (C) 2014-present Raymond Hill
4
+ Copyright (C) 2019-present Raymond Hill
5
5
 
6
6
  This program is free software: you can redistribute it and/or modify
7
7
  it under the terms of the GNU General Public License as published by
@@ -19,24 +19,27 @@
19
19
  Home: https://github.com/gorhill/uBlock
20
20
  */
21
21
 
22
- // ruleset: ubol-tests
23
-
24
- // Important!
25
- // Isolate from global scope
26
- (function uBOL_cssDeclarativeImport() {
22
+ (function uBOL_cssUserTerminate() {
27
23
 
28
24
  /******************************************************************************/
29
25
 
30
- const argsList = ["","{\"selector\":\"#ccf3 .fail\",\"action\":[\"style\",\"visibility: hidden\"]}\n{\"selector\":\"#ccf5 .fail-pseudo::before\",\"action\":[\"style\",\"visibility: hidden\"]}"];
31
- const argsSeqs = [0,1];
32
- const hostnamesMap = new Map([["ublockorigin.github.io",1],["localhost",1]]);
33
- const hasEntities = false;
26
+ const plainSelectors = self.customFilters?.plainSelectors;
27
+ if ( plainSelectors ) {
28
+ chrome.runtime.sendMessage({
29
+ what: 'removeCSS',
30
+ css: `${plainSelectors.join(',\n')}{display:none!important;}`,
31
+ }).catch(( ) => {
32
+ });
33
+ }
34
+
35
+ if ( self.customProceduralFiltererAPI instanceof Object ) {
36
+ self.customProceduralFiltererAPI.reset();
37
+ }
34
38
 
35
- self.declarativeImports = self.declarativeImports || [];
36
- self.declarativeImports.push({ argsList, argsSeqs, hostnamesMap, hasEntities });
39
+ self.customFilters = undefined;
37
40
 
38
41
  /******************************************************************************/
39
42
 
40
43
  })();
41
44
 
42
- /******************************************************************************/
45
+ void 0;
@@ -24,12 +24,23 @@
24
24
  /******************************************************************************/
25
25
 
26
26
  const docURL = new URL(document.baseURI);
27
- chrome.runtime.sendMessage({
27
+ const details = await chrome.runtime.sendMessage({
28
28
  what: 'injectCustomFilters',
29
29
  hostname: docURL.hostname,
30
30
  }).catch(( ) => {
31
31
  });
32
32
 
33
+ if ( details?.proceduralSelectors?.length ) {
34
+ if ( self.ProceduralFiltererAPI ) {
35
+ self.customProceduralFiltererAPI = new self.ProceduralFiltererAPI();
36
+ self.customProceduralFiltererAPI.addSelectors(
37
+ details.proceduralSelectors.map(a => JSON.parse(a))
38
+ );
39
+ }
40
+ }
41
+
42
+ self.customFilters = details;
43
+
33
44
  /******************************************************************************/
34
45
 
35
46
  })();
@@ -1,6 +1,6 @@
1
1
  /*******************************************************************************
2
2
 
3
- uBlock Origin - a comprehensive, efficient content blocker
3
+ uBlock Origin Lite - a comprehensive, MV3-compliant content blocker
4
4
  Copyright (C) 2025-present Raymond Hill
5
5
 
6
6
  This program is free software: you can redistribute it and/or modify
@@ -237,22 +237,55 @@ const excludedSelectors = [
237
237
 
238
238
  /******************************************************************************/
239
239
 
240
+ async function previewSelector(selector) {
241
+ if ( selector === previewedSelector ) { return; }
242
+ if ( previewedSelector !== '' ) {
243
+ if ( previewedSelector.startsWith('{') ) {
244
+ if ( self.pickerProceduralFilteringAPI ) {
245
+ await self.pickerProceduralFilteringAPI.reset();
246
+ }
247
+ }
248
+ if ( previewedCSS !== '' ) {
249
+ await ubolOverlay.sendMessage({ what: 'removeCSS', css: previewedCSS });
250
+ previewedCSS = '';
251
+ }
252
+ }
253
+ previewedSelector = selector || '';
254
+ if ( selector === '' ) { return; }
255
+ if ( selector.startsWith('{') ) {
256
+ if ( self.ProceduralFiltererAPI === undefined ) { return; }
257
+ if ( self.pickerProceduralFilteringAPI === undefined ) {
258
+ self.pickerProceduralFilteringAPI = new self.ProceduralFiltererAPI();
259
+ }
260
+ self.pickerProceduralFilteringAPI.addSelectors([ JSON.parse(selector) ]);
261
+ return;
262
+ }
263
+ previewedCSS = `${selector}{display:none!important;}`;
264
+ await ubolOverlay.sendMessage({ what: 'insertCSS', css: previewedCSS });
265
+ }
266
+
267
+ let previewedSelector = '';
268
+ let previewedCSS = '';
269
+
270
+ /******************************************************************************/
271
+
272
+ const previewProceduralFiltererAPI = new self.ProceduralFiltererAPI();
273
+
274
+ /******************************************************************************/
275
+
240
276
  function onMessage(msg) {
241
277
  switch ( msg.what ) {
242
- case 'injectCustomFilters':
243
- return ubolOverlay.sendMessage({ what: 'injectCustomFilters',
244
- hostname: ubolOverlay.url.hostname,
245
- });
246
- case 'uninjectCustomFilters':
247
- return ubolOverlay.sendMessage({ what: 'uninjectCustomFilters',
248
- hostname: ubolOverlay.url.hostname,
249
- });
278
+ case 'quitTool':
279
+ previewProceduralFiltererAPI.reset();
280
+ break;
281
+ case 'startCustomFilters':
282
+ return ubolOverlay.sendMessage({ what: 'startCustomFilters' });
283
+ case 'terminateCustomFilters':
284
+ return ubolOverlay.sendMessage({ what: 'terminateCustomFilters' });
250
285
  case 'candidatesAtPoint':
251
286
  return candidatesAtPoint(msg.mx, msg.my, msg.broad);
252
- case 'insertCSS':
253
- return ubolOverlay.sendMessage(msg);
254
- case 'removeCSS':
255
- return ubolOverlay.sendMessage(msg);
287
+ case 'previewSelector':
288
+ return previewSelector(msg.selector);
256
289
  default:
257
290
  break;
258
291
  }
@@ -1,6 +1,6 @@
1
1
  /*******************************************************************************
2
2
 
3
- uBlock Origin - a comprehensive, efficient content blocker
3
+ uBlock Origin Lite - a comprehensive, MV3-compliant content blocker
4
4
  Copyright (C) 2025-present Raymond Hill
5
5
 
6
6
  This program is free software: you can redistribute it and/or modify
@@ -254,14 +254,20 @@ self.ubolOverlay = {
254
254
  },
255
255
 
256
256
  qsa(node, selector) {
257
- if ( node !== null ) {
258
- try {
259
- const elems = node.querySelectorAll(selector);
260
- this.qsa.error = undefined;
261
- return elems;
262
- } catch (reason) {
263
- this.qsa.error = `${reason}`;
257
+ if ( node === null ) { return []; }
258
+ if ( selector.startsWith('{') ) {
259
+ if ( this.proceduralFiltererAPI === undefined ) {
260
+ if ( self.ProceduralFiltererAPI === undefined ) { return []; }
261
+ this.proceduralFiltererAPI = new self.ProceduralFiltererAPI();
264
262
  }
263
+ return this.proceduralFiltererAPI.qsa(selector);
264
+ }
265
+ try {
266
+ const elems = node.querySelectorAll(selector);
267
+ this.qsa.error = undefined;
268
+ return elems;
269
+ } catch (reason) {
270
+ this.qsa.error = `${reason}`;
265
271
  }
266
272
  return [];
267
273
  },
@@ -1,6 +1,6 @@
1
1
  /*******************************************************************************
2
2
 
3
- uBlock Origin - a comprehensive, efficient content blocker
3
+ uBlock Origin Lite - a comprehensive, MV3-compliant content blocker
4
4
  Copyright (C) 2025-present Raymond Hill
5
5
 
6
6
  This program is free software: you can redistribute it and/or modify
@@ -31,14 +31,10 @@ if ( ubolOverlay.file === '/unpicker-ui.html' ) { return; }
31
31
 
32
32
  function onMessage(msg) {
33
33
  switch ( msg.what ) {
34
- case 'injectCustomFilters':
35
- return ubolOverlay.sendMessage({ what: 'injectCustomFilters',
36
- hostname: ubolOverlay.url.hostname,
37
- });
38
- case 'uninjectCustomFilters':
39
- return ubolOverlay.sendMessage({ what: 'uninjectCustomFilters',
40
- hostname: ubolOverlay.url.hostname,
41
- });
34
+ case 'startCustomFilters':
35
+ return ubolOverlay.sendMessage({ what: 'startCustomFilters' });
36
+ case 'terminateCustomFilters':
37
+ return ubolOverlay.sendMessage({ what: 'terminateCustomFilters' });
42
38
  case 'removeCustomFilter':
43
39
  return ubolOverlay.sendMessage({ what: 'removeCustomFilter',
44
40
  hostname: ubolOverlay.url.hostname,
@@ -1,6 +1,6 @@
1
1
  /*******************************************************************************
2
2
 
3
- uBlock Origin - a comprehensive, efficient content blocker
3
+ uBlock Origin Lite - a comprehensive, MV3-compliant content blocker
4
4
  Copyright (C) 2025-present Raymond Hill
5
5
 
6
6
  This program is free software: you can redistribute it and/or modify
@@ -21,18 +21,14 @@
21
21
 
22
22
  import * as ut from './utils.js';
23
23
 
24
- import {
25
- browser,
26
- localRemove,
27
- localWrite,
28
- } from './ext.js';
24
+ import { browser, localRemove } from './ext.js';
25
+ import { ubolErr, ubolLog } from './debug.js';
29
26
 
30
27
  import { fetchJSON } from './fetch.js';
31
28
  import { getEnabledRulesetsDetails } from './ruleset-manager.js';
32
29
  import { getFilteringModeDetails } from './mode-manager.js';
33
30
  import { registerCustomFilters } from './filter-manager.js';
34
31
  import { registerToolbarIconToggler } from './action.js';
35
- import { ubolLog } from './debug.js';
36
32
 
37
33
  /******************************************************************************/
38
34
 
@@ -354,70 +350,6 @@ function registerProcedural(context) {
354
350
 
355
351
  /******************************************************************************/
356
352
 
357
- function registerDeclarative(context) {
358
- const { before, filteringModeDetails, rulesetsDetails } = context;
359
-
360
- const js = [];
361
- for ( const rulesetDetails of rulesetsDetails ) {
362
- const count = rulesetDetails.css?.declarative || 0;
363
- if ( count === 0 ) { continue; }
364
- js.push(`/rulesets/scripting/declarative/${rulesetDetails.id}.js`);
365
- }
366
- if ( js.length === 0 ) { return; }
367
-
368
- const { none, basic, optimal, complete } = filteringModeDetails;
369
- const matches = [
370
- ...ut.matchesFromHostnames(optimal),
371
- ...ut.matchesFromHostnames(complete),
372
- ];
373
- if ( matches.length === 0 ) { return; }
374
-
375
- normalizeMatches(matches);
376
-
377
- js.unshift('/js/scripting/isolated-api.js');
378
- js.push('/js/scripting/css-declarative.js');
379
-
380
- const excludeMatches = [];
381
- if ( none.has('all-urls') === false ) {
382
- excludeMatches.push(...ut.matchesFromHostnames(none));
383
- }
384
- if ( basic.has('all-urls') === false ) {
385
- excludeMatches.push(...ut.matchesFromHostnames(basic));
386
- }
387
-
388
- const registered = before.get('css-declarative');
389
- before.delete('css-declarative'); // Important!
390
-
391
- const directive = {
392
- id: 'css-declarative',
393
- js,
394
- matches,
395
- allFrames: true,
396
- runAt: 'document_start',
397
- };
398
- if ( excludeMatches.length !== 0 ) {
399
- directive.excludeMatches = excludeMatches;
400
- }
401
-
402
- // register
403
- if ( registered === undefined ) {
404
- context.toAdd.push(directive);
405
- return;
406
- }
407
-
408
- // update
409
- if (
410
- ut.strArrayEq(registered.js, js, false) === false ||
411
- ut.strArrayEq(registered.matches, matches) === false ||
412
- ut.strArrayEq(registered.excludeMatches, excludeMatches) === false
413
- ) {
414
- context.toRemove.push('css-declarative');
415
- context.toAdd.push(directive);
416
- }
417
- }
418
-
419
- /******************************************************************************/
420
-
421
353
  function registerSpecific(context) {
422
354
  const { before, filteringModeDetails, rulesetsDetails } = context;
423
355
 
@@ -602,7 +534,6 @@ async function registerInjectables() {
602
534
  };
603
535
 
604
536
  await Promise.all([
605
- registerDeclarative(context),
606
537
  registerProcedural(context),
607
538
  registerScriptlet(context, scriptletDetails),
608
539
  registerSpecific(context),
@@ -620,8 +551,7 @@ async function registerInjectables() {
620
551
  await browser.scripting.unregisterContentScripts({ ids: toRemove });
621
552
  localRemove('$scripting.unregisterContentScripts');
622
553
  } catch(reason) {
623
- localWrite('$scripting.unregisterContentScripts', `${reason}`);
624
- console.info(reason);
554
+ ubolErr(reason);
625
555
  }
626
556
  }
627
557
 
@@ -631,8 +561,7 @@ async function registerInjectables() {
631
561
  await browser.scripting.registerContentScripts(toAdd);
632
562
  localRemove('$scripting.registerContentScripts');
633
563
  } catch(reason) {
634
- localWrite('$scripting.registerContentScripts', `${reason}`);
635
- console.info(reason);
564
+ ubolErr(reason);
636
565
  }
637
566
  }
638
567
 
@@ -222,10 +222,8 @@ listen.onmessage = ev => {
222
222
  }
223
223
 
224
224
  if ( message.enabledRulesets !== undefined ) {
225
- if ( hashFromIterable(message.enabledRulesets) !== hashFromIterable(local.enabledRulesets) ) {
226
- local.enabledRulesets = message.enabledRulesets;
227
- render = true;
228
- }
225
+ local.enabledRulesets = message.enabledRulesets;
226
+ render = true;
229
227
  }
230
228
 
231
229
  if ( render === false ) { return; }
@@ -250,7 +248,7 @@ sendMessage({
250
248
  }
251
249
  listen();
252
250
  }).catch(reason => {
253
- console.trace(reason);
251
+ console.error(reason);
254
252
  });
255
253
 
256
254
  /******************************************************************************/
@@ -1273,7 +1273,6 @@ export class AstFilterParser {
1273
1273
  case NODE_TYPE_NET_OPTION_NAME_FONT:
1274
1274
  case NODE_TYPE_NET_OPTION_NAME_IMAGE:
1275
1275
  case NODE_TYPE_NET_OPTION_NAME_MEDIA:
1276
- case NODE_TYPE_NET_OPTION_NAME_OBJECT:
1277
1276
  case NODE_TYPE_NET_OPTION_NAME_OTHER:
1278
1277
  case NODE_TYPE_NET_OPTION_NAME_SCRIPT:
1279
1278
  case NODE_TYPE_NET_OPTION_NAME_XHR:
@@ -1301,6 +1300,7 @@ export class AstFilterParser {
1301
1300
  break;
1302
1301
  case NODE_TYPE_NET_OPTION_NAME_DOC:
1303
1302
  case NODE_TYPE_NET_OPTION_NAME_FRAME:
1303
+ case NODE_TYPE_NET_OPTION_NAME_OBJECT:
1304
1304
  realBad = hasValue;
1305
1305
  if ( realBad ) { break; }
1306
1306
  docTypeCount += 1;
@@ -3199,8 +3199,8 @@ export const netOptionTokenDescriptors = new Map([
3199
3199
  // https://github.com/uBlockOrigin/uBlock-issues/issues/89
3200
3200
  // Do not discard unknown pseudo-elements.
3201
3201
 
3202
- class ExtSelectorCompiler {
3203
- constructor(instanceOptions) {
3202
+ export class ExtSelectorCompiler {
3203
+ constructor(instanceOptions = {}) {
3204
3204
  this.reParseRegexLiteral = /^\/(.+)\/([imu]+)?$/;
3205
3205
 
3206
3206
  // Use a regex for most common CSS selectors known to be valid in any
@@ -1,6 +1,6 @@
1
1
  /*******************************************************************************
2
2
 
3
- uBlock Origin - a comprehensive, efficient content blocker
3
+ uBlock Origin Lite - a comprehensive, MV3-compliant content blocker
4
4
  Copyright (C) 2025-present Raymond Hill
5
5
 
6
6
  This program is free software: you can redistribute it and/or modify
@@ -48,9 +48,8 @@ export const toolOverlay = {
48
48
  };
49
49
  this.moveable = qs$('aside:has(#move)');
50
50
  if ( this.moveable !== null ) {
51
- dom.on('aside #move', 'pointerdown', ev => {
52
- this.mover(ev);
53
- });
51
+ dom.on('aside #move', 'pointerdown', ev => { this.mover(ev); });
52
+ dom.on('aside #move', 'touchstart', this.eatTouchEvent);
54
53
  }
55
54
  this.onMessage({ what: 'startTool',
56
55
  url: msg.url,
@@ -167,20 +166,16 @@ export const toolOverlay = {
167
166
  if ( target.matches('#move') === false ) { return; }
168
167
  if ( dom.cl.has(this.moveable, 'moving') ) { return; }
169
168
  target.setPointerCapture(ev.pointerId);
170
- this.moverIsTouch = ev.type.startsWith('touch');
171
- if ( this.moverIsTouch ) {
172
- const touch = ev.touches[0];
173
- this.moverX0 = touch.pageX;
174
- this.moverY0 = touch.pageY;
175
- } else {
176
- this.moverX0 = ev.pageX;
177
- this.moverY0 = ev.pageY;
178
- }
169
+ this.moverX0 = ev.pageX;
170
+ this.moverY0 = ev.pageY;
179
171
  const rect = this.moveable.getBoundingClientRect();
180
172
  this.moverCX0 = rect.x + rect.width / 2;
181
173
  this.moverCY0 = rect.y + rect.height / 2;
182
174
  dom.cl.add(this.moveable, 'moving');
183
- self.addEventListener('pointermove', this.moverMoveAsync, { capture: true });
175
+ self.addEventListener('pointermove', this.moverMoveAsync, {
176
+ passive: true,
177
+ capture: true,
178
+ });
184
179
  self.addEventListener('pointerup', this.moverStop, { capture: true, once: true });
185
180
  ev.stopPropagation();
186
181
  ev.preventDefault();
@@ -209,15 +204,9 @@ export const toolOverlay = {
209
204
  }
210
205
  },
211
206
  moverMoveAsync(ev) {
207
+ toolOverlay.moverX1 = ev.pageX;
208
+ toolOverlay.moverY1 = ev.pageY;
212
209
  if ( toolOverlay.moverTimer !== undefined ) { return; }
213
- if ( toolOverlay.moverIsTouch ) {
214
- const touch = ev.touches[0];
215
- toolOverlay.moverX1 = touch.pageX;
216
- toolOverlay.moverY1 = touch.pageY;
217
- } else {
218
- toolOverlay.moverX1 = ev.pageX;
219
- toolOverlay.moverY1 = ev.pageY;
220
- }
221
210
  toolOverlay.moverTimer = self.requestAnimationFrame(( ) => {
222
211
  toolOverlay.moverMove();
223
212
  });
@@ -225,13 +214,20 @@ export const toolOverlay = {
225
214
  moverStop(ev) {
226
215
  if ( dom.cl.has(toolOverlay.moveable, 'moving') === false ) { return; }
227
216
  dom.cl.remove(toolOverlay.moveable, 'moving');
228
- self.removeEventListener('pointermove', toolOverlay.moverMoveAsync, { capture: true });
217
+ self.removeEventListener('pointermove', toolOverlay.moverMoveAsync, {
218
+ passive: true,
219
+ capture: true,
220
+ });
229
221
  ev.target.releasePointerCapture(ev.pointerId);
230
222
  ev.stopPropagation();
231
223
  ev.preventDefault();
232
224
  },
225
+ eatTouchEvent(ev) {
226
+ if ( ev.target !== qs$('aside #move') ) { return; }
227
+ ev.stopPropagation();
228
+ ev.preventDefault();
229
+ },
233
230
  moveable: null,
234
- moverIsTouch: false,
235
231
  moverX0: 0, moverY0: 0,
236
232
  moverX1: 0, moverY1: 0,
237
233
  moverCX0: 0, moverCY0: 0,
@@ -19,14 +19,11 @@
19
19
  Home: https://github.com/gorhill/uBlock
20
20
  */
21
21
 
22
- import {
23
- localRead,
24
- runtime,
25
- sendMessage,
26
- } from './ext.js';
27
-
28
22
  import { dnr } from './ext-compat.js';
29
- import { dom } from './dom.js';
23
+ import { getConsoleOutput } from './debug.js';
24
+ import { getDefaultFilteringMode } from './mode-manager.js';
25
+ import { getEffectiveUserRules } from './ruleset-manager.js';
26
+ import { runtime } from './ext.js';
30
27
 
31
28
  /******************************************************************************/
32
29
 
@@ -63,15 +60,11 @@ export async function getTroubleshootingInfo(siteMode) {
63
60
  rulesets,
64
61
  defaultMode,
65
62
  userRules,
66
- registerContentScriptsReason,
67
- unregisterContentScriptsReason,
68
63
  ] = await Promise.all([
69
64
  runtime.getPlatformInfo(),
70
65
  dnr.getEnabledRulesets(),
71
- sendMessage({ what: 'getDefaultFilteringMode' }),
72
- sendMessage({ what: 'getEffectiveUserRules' }),
73
- localRead('$scripting.registerContentScripts'),
74
- localRead('$scripting.unregisterContentScripts'),
66
+ getDefaultFilteringMode(),
67
+ getEffectiveUserRules(),
75
68
  ]);
76
69
  const browser = (( ) => {
77
70
  const extURL = runtime.getURL('');
@@ -85,7 +78,6 @@ export async function getTroubleshootingInfo(siteMode) {
85
78
  } else {
86
79
  agent = 'Chrome';
87
80
  }
88
- dom.cl.add('html', agent.toLowerCase());
89
81
  if ( /\bMobile\b/.test(navigator.userAgent) ) {
90
82
  agent += ' Mobile';
91
83
  }
@@ -113,11 +105,11 @@ export async function getTroubleshootingInfo(siteMode) {
113
105
  config['user rules'] = userRules.length;
114
106
  }
115
107
  config.rulesets = rulesets;
116
- if ( registerContentScriptsReason !== undefined ) {
117
- config.registerContentScripts = registerContentScriptsReason;
118
- }
119
- if ( unregisterContentScriptsReason !== undefined ) {
120
- config.unregisterContentScripts = unregisterContentScriptsReason;
108
+ const consoleOutput = getConsoleOutput();
109
+ if ( consoleOutput.length !== 0 ) {
110
+ config.console = siteMode
111
+ ? consoleOutput.slice(-8)
112
+ : consoleOutput;
121
113
  }
122
114
  return renderData(config);
123
115
  }
@@ -314,7 +314,7 @@ function parseNetworkFilter(parser) {
314
314
  break;
315
315
  case sfp.NODE_TYPE_NET_OPTION_NAME_METHOD: {
316
316
  const value = parser.getNetOptionValue(type);
317
- for ( const method of value.toUpperCase().split('|') ) {
317
+ for ( const method of value.toLowerCase().split('|') ) {
318
318
  const not = method.charCodeAt(0) === 0x7E /* '~' */;
319
319
  if ( not ) {
320
320
  excludedRequestMethods.add(method.slice(1));
@@ -1,6 +1,6 @@
1
1
  /*******************************************************************************
2
2
 
3
- uBlock Origin - a comprehensive, efficient content blocker
3
+ uBlock Origin Lite - a comprehensive, MV3-compliant content blocker
4
4
  Copyright (C) 2025-present Raymond Hill
5
5
 
6
6
  This program is free software: you can redistribute it and/or modify
@@ -33,8 +33,8 @@ function onMinimizeClicked() {
33
33
 
34
34
  function highlight() {
35
35
  const selectors = [];
36
- for ( const selectorElem of qsa$('#customFilters .customFilter.on > span.selector') ) {
37
- selectors.push(selectorElem.textContent);
36
+ for ( const selectorElem of qsa$('#customFilters .customFilter.on') ) {
37
+ selectors.push(selectorElem.dataset.selector);
38
38
  }
39
39
  if ( selectors.length !== 0 ) {
40
40
  toolOverlay.postMessage({
@@ -64,7 +64,7 @@ function onFilterClicked(ev) {
64
64
  highlight();
65
65
  return;
66
66
  }
67
- const selector = selectorElem.textContent;
67
+ const selector = filterElem.dataset.selector;
68
68
  const trashElem = qs$(filterElem, ':scope > span.remove');
69
69
  if ( target === trashElem ) {
70
70
  dom.cl.add(filterElem, 'removed');
@@ -111,9 +111,16 @@ function populateFilters(selectors) {
111
111
  dom.clear(container);
112
112
  const rowTemplate = qs$('template#customFilterRow');
113
113
  for ( const selector of selectors ) {
114
- const row = rowTemplate.content.cloneNode(true);
115
- qs$(row, '.customFilter > span.selector').textContent = selector;
116
- container.append(row);
114
+ const fragment = rowTemplate.content.cloneNode(true);
115
+ const row = qs$(fragment, '.customFilter');
116
+ row.dataset.selector = selector;
117
+ let text = selector;
118
+ if ( selector.startsWith('{') ) {
119
+ const o = JSON.parse(selector);
120
+ text = o.raw;
121
+ }
122
+ qs$(row, '.selector').textContent = text;
123
+ container.append(fragment);
117
124
  }
118
125
  faIconsInit(container);
119
126
  autoSelectFilter();
@@ -129,8 +136,8 @@ async function startUnpicker() {
129
136
  if ( selectors.length === 0 ) {
130
137
  return quitUnpicker();
131
138
  }
139
+ await toolOverlay.postMessage({ what: 'terminateCustomFilters' });
132
140
  await toolOverlay.postMessage({ what: 'startTool' });
133
- await toolOverlay.postMessage({ what: 'uninjectCustomFilters' });
134
141
  populateFilters(selectors);
135
142
  dom.on('#minimize', 'click', onMinimizeClicked);
136
143
  dom.on('#customFilters', 'click', onFilterClicked);
@@ -140,7 +147,7 @@ async function startUnpicker() {
140
147
  /******************************************************************************/
141
148
 
142
149
  async function quitUnpicker() {
143
- await toolOverlay.postMessage({ what: 'injectCustomFilters' });
150
+ await toolOverlay.postMessage({ what: 'startCustomFilters' });
144
151
  toolOverlay.stop();
145
152
  }
146
153
 
@@ -1,6 +1,6 @@
1
1
  /*******************************************************************************
2
2
 
3
- uBlock Origin - a comprehensive, efficient content blocker
3
+ uBlock Origin Lite - a comprehensive, MV3-compliant content blocker
4
4
  Copyright (C) 2025-present Raymond Hill
5
5
 
6
6
  This program is free software: you can redistribute it and/or modify
@@ -33,7 +33,8 @@ function onSvgClicked(ev) {
33
33
  my: ev.clientY,
34
34
  options: {
35
35
  stay: true,
36
- highlight: ev.target !== toolOverlay.svgIslands,
36
+ highlight: dom.cl.has(dom.root, 'mobile') &&
37
+ ev.target !== toolOverlay.svgIslands,
37
38
  },
38
39
  });
39
40
  }
@@ -97,6 +97,16 @@
97
97
  "enabled": false,
98
98
  "path": "/rulesets/main/annoyances-others.json"
99
99
  },
100
+ {
101
+ "id": "annoyances-notifications",
102
+ "enabled": false,
103
+ "path": "/rulesets/main/annoyances-notifications.json"
104
+ },
105
+ {
106
+ "id": "ublock-experimental",
107
+ "enabled": false,
108
+ "path": "/rulesets/main/ublock-experimental.json"
109
+ },
100
110
  {
101
111
  "id": "stevenblack-hosts",
102
112
  "enabled": false,
@@ -314,7 +324,7 @@
314
324
  "storage": {
315
325
  "managed_schema": "managed_storage.json"
316
326
  },
317
- "version": "2025.711.1256",
327
+ "version": "2025.812.1339",
318
328
  "web_accessible_resources": [
319
329
  {
320
330
  "resources": [
@@ -355,8 +365,8 @@
355
365
  {
356
366
  "resources": [
357
367
  "web_accessible_resources/noop.js",
358
- "web_accessible_resources/amazon_apstag.js",
359
368
  "web_accessible_resources/google-ima.js",
369
+ "web_accessible_resources/amazon_apstag.js",
360
370
  "web_accessible_resources/noop.txt",
361
371
  "web_accessible_resources/noop.css",
362
372
  "web_accessible_resources/1x1.gif",