@browserless.io/browserless 2.34.0 → 2.36.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 (451) hide show
  1. package/CHANGELOG.md +28 -1
  2. package/build/limiter.js +1 -1
  3. package/build/routes/chrome/http/content.post.body.json +90 -1
  4. package/build/routes/chrome/http/pdf.post.body.json +90 -1
  5. package/build/routes/chrome/http/scrape.post.body.json +90 -1
  6. package/build/routes/chrome/http/scrape.post.response.json +21 -22
  7. package/build/routes/chrome/http/screenshot.post.body.json +90 -1
  8. package/build/routes/chromium/http/content.post.body.json +90 -1
  9. package/build/routes/chromium/http/pdf.post.body.json +90 -1
  10. package/build/routes/chromium/http/scrape.post.body.json +90 -1
  11. package/build/routes/chromium/http/scrape.post.response.json +21 -22
  12. package/build/routes/chromium/http/screenshot.post.body.json +90 -1
  13. package/build/routes/chromium/tests/scrape.spec.js +41 -0
  14. package/build/routes/edge/http/content.post.body.json +90 -1
  15. package/build/routes/edge/http/pdf.post.body.json +90 -1
  16. package/build/routes/edge/http/scrape.post.body.json +90 -1
  17. package/build/routes/edge/http/scrape.post.response.json +21 -22
  18. package/build/routes/edge/http/screenshot.post.body.json +90 -1
  19. package/build/sdk-utils.js +1 -1
  20. package/build/shared/scrape.http.js +13 -3
  21. package/docker/base/Dockerfile +8 -8
  22. package/docker/chrome/Dockerfile +2 -2
  23. package/docker/chromium/Dockerfile +2 -2
  24. package/docker/edge/Dockerfile +2 -2
  25. package/docker/firefox/Dockerfile +2 -2
  26. package/docker/multi/Dockerfile +2 -2
  27. package/docker/sdk/Dockerfile +1 -1
  28. package/docker/webkit/Dockerfile +2 -2
  29. package/extensions/ublocklite/README.md +1 -1
  30. package/extensions/ublocklite/_locales/br_FR/messages.json +1 -1
  31. package/extensions/ublocklite/_locales/bs/messages.json +58 -58
  32. package/extensions/ublocklite/_locales/he/messages.json +2 -2
  33. package/extensions/ublocklite/_locales/hu/messages.json +1 -1
  34. package/extensions/ublocklite/_locales/pt_BR/messages.json +1 -1
  35. package/extensions/ublocklite/_locales/pt_PT/messages.json +1 -1
  36. package/extensions/ublocklite/_locales/ro/messages.json +1 -1
  37. package/extensions/ublocklite/_locales/sk/messages.json +6 -6
  38. package/extensions/ublocklite/_locales/sq/messages.json +17 -17
  39. package/extensions/ublocklite/_locales/sr/messages.json +28 -28
  40. package/extensions/ublocklite/_locales/th/messages.json +1 -1
  41. package/extensions/ublocklite/_locales/tr/messages.json +1 -1
  42. package/extensions/ublocklite/_locales/vi/messages.json +1 -1
  43. package/extensions/ublocklite/css/common.css +5 -3
  44. package/extensions/ublocklite/css/default.css +10 -0
  45. package/extensions/ublocklite/css/unpicker-ui.css +1 -0
  46. package/extensions/ublocklite/js/background.js +5 -3
  47. package/extensions/ublocklite/js/dnr-parser.js +1 -1
  48. package/extensions/ublocklite/js/fetch.js +1 -1
  49. package/extensions/ublocklite/js/filter-lists.js +1 -4
  50. package/extensions/ublocklite/js/filter-manager.js +45 -9
  51. package/extensions/ublocklite/js/popup.js +2 -2
  52. package/extensions/ublocklite/js/ruleset-manager.js +10 -126
  53. package/extensions/ublocklite/js/rw-dnr-editor.js +8 -4
  54. package/extensions/ublocklite/js/scripting/css-procedural.js +2 -0
  55. package/extensions/ublocklite/js/scripting/css-specific.js +2 -0
  56. package/extensions/ublocklite/js/scripting/tool-overlay.js +1 -0
  57. package/extensions/ublocklite/js/scripting-manager.js +2 -2
  58. package/extensions/ublocklite/js/settings.js +2 -1
  59. package/extensions/ublocklite/js/static-filtering-parser.js +25 -18
  60. package/extensions/ublocklite/js/ubo-parser.js +181 -65
  61. package/extensions/ublocklite/manifest.json +4 -4
  62. package/extensions/ublocklite/rulesets/generic-details.json +7 -17
  63. package/extensions/ublocklite/rulesets/main/adguard-mobile.json +25 -4
  64. package/extensions/ublocklite/rulesets/main/adguard-spyware-url.json +615 -1
  65. package/extensions/ublocklite/rulesets/main/annoyances-cookies.json +21 -8
  66. package/extensions/ublocklite/rulesets/main/annoyances-others.json +5 -2
  67. package/extensions/ublocklite/rulesets/main/annoyances-overlays.json +22 -2
  68. package/extensions/ublocklite/rulesets/main/annoyances-widgets.json +1 -1
  69. package/extensions/ublocklite/rulesets/main/chn-0.json +98 -29
  70. package/extensions/ublocklite/rulesets/main/cze-0.json +6 -1
  71. package/extensions/ublocklite/rulesets/main/deu-0.json +15 -11
  72. package/extensions/ublocklite/rulesets/main/dpollock-0.json +4 -0
  73. package/extensions/ublocklite/rulesets/main/easylist.json +146 -98
  74. package/extensions/ublocklite/rulesets/main/easyprivacy.json +149 -32
  75. package/extensions/ublocklite/rulesets/main/est-0.json +1 -1
  76. package/extensions/ublocklite/rulesets/main/fin-0.json +9 -0
  77. package/extensions/ublocklite/rulesets/main/fra-0.json +49 -9
  78. package/extensions/ublocklite/rulesets/main/hun-0.json +4 -1
  79. package/extensions/ublocklite/rulesets/main/idn-0.json +1 -1
  80. package/extensions/ublocklite/rulesets/main/ind-0.json +101 -155
  81. package/extensions/ublocklite/rulesets/main/irn-0.json +34 -11
  82. package/extensions/ublocklite/rulesets/main/isr-0.json +20 -2
  83. package/extensions/ublocklite/rulesets/main/ita-0.json +3 -1
  84. package/extensions/ublocklite/rulesets/main/jpn-1.json +69 -22
  85. package/extensions/ublocklite/rulesets/main/kor-1.json +39 -5
  86. package/extensions/ublocklite/rulesets/main/ltu-0.json +3 -1
  87. package/extensions/ublocklite/rulesets/main/lva-0.json +2 -1
  88. package/extensions/ublocklite/rulesets/main/nld-0.json +6 -1
  89. package/extensions/ublocklite/rulesets/main/nor-0.json +13 -4
  90. package/extensions/ublocklite/rulesets/main/pgl.json +8 -11
  91. package/extensions/ublocklite/rulesets/main/pol-0.json +13 -2
  92. package/extensions/ublocklite/rulesets/main/rou-1.json +17 -1
  93. package/extensions/ublocklite/rulesets/main/rus-0.json +104 -27
  94. package/extensions/ublocklite/rulesets/main/rus-1.json +114 -4
  95. package/extensions/ublocklite/rulesets/main/spa-1.json +43 -15
  96. package/extensions/ublocklite/rulesets/main/stevenblack-hosts.json +15832 -9032
  97. package/extensions/ublocklite/rulesets/main/swe-1.json +89 -52
  98. package/extensions/ublocklite/rulesets/main/tha-0.json +7 -1
  99. package/extensions/ublocklite/rulesets/main/tur-0.json +54 -6
  100. package/extensions/ublocklite/rulesets/main/ublock-badware.json +79 -106
  101. package/extensions/ublocklite/rulesets/main/ublock-filters.json +794 -111
  102. package/extensions/ublocklite/rulesets/main/ubol-tests.json +60 -0
  103. package/extensions/ublocklite/rulesets/main/ukr-0.json +20 -1
  104. package/extensions/ublocklite/rulesets/main/urlhaus-full.json +631 -676
  105. package/extensions/ublocklite/rulesets/main/vie-1.json +74 -59
  106. package/extensions/ublocklite/rulesets/regex/chn-0.json +8 -3
  107. package/extensions/ublocklite/rulesets/regex/deu-0.json +0 -1
  108. package/extensions/ublocklite/rulesets/regex/easylist.json +0 -2
  109. package/extensions/ublocklite/rulesets/regex/jpn-1.json +1 -1
  110. package/extensions/ublocklite/rulesets/regex/kor-1.json +1 -0
  111. package/extensions/ublocklite/rulesets/regex/pol-0.json +1 -0
  112. package/extensions/ublocklite/rulesets/regex/rus-0.json +1 -0
  113. package/extensions/ublocklite/rulesets/regex/rus-1.json +24 -0
  114. package/extensions/ublocklite/rulesets/regex/tur-0.json +2 -1
  115. package/extensions/ublocklite/rulesets/regex/ublock-badware.json +10 -8
  116. package/extensions/ublocklite/rulesets/regex/ublock-filters.json +28 -12
  117. package/extensions/ublocklite/rulesets/ruleset-details.json +252 -472
  118. package/extensions/ublocklite/rulesets/scripting/generic/annoyances-cookies.js +3 -3
  119. package/extensions/ublocklite/rulesets/scripting/generic/annoyances-notifications.js +1 -1
  120. package/extensions/ublocklite/rulesets/scripting/generic/annoyances-overlays.js +1 -1
  121. package/extensions/ublocklite/rulesets/scripting/generic/annoyances-social.js +1 -1
  122. package/extensions/ublocklite/rulesets/scripting/generic/chn-0.js +3 -3
  123. package/extensions/ublocklite/rulesets/scripting/generic/deu-0.js +2 -2
  124. package/extensions/ublocklite/rulesets/scripting/generic/easylist.js +3 -3
  125. package/extensions/ublocklite/rulesets/scripting/generic/fra-0.js +1 -1
  126. package/extensions/ublocklite/rulesets/scripting/generic/idn-0.js +1 -1
  127. package/extensions/ublocklite/rulesets/scripting/generic/jpn-1.js +3 -3
  128. package/extensions/ublocklite/rulesets/scripting/generic/nld-0.js +1 -1
  129. package/extensions/ublocklite/rulesets/scripting/generic/nor-0.js +1 -1
  130. package/extensions/ublocklite/rulesets/scripting/generic/spa-1.js +3 -3
  131. package/extensions/ublocklite/rulesets/scripting/generic/swe-1.js +1 -1
  132. package/extensions/ublocklite/rulesets/scripting/generic/tur-0.js +3 -3
  133. package/extensions/ublocklite/rulesets/scripting/generic/ublock-filters.js +3 -3
  134. package/extensions/ublocklite/rulesets/scripting/generic/ukr-0.js +1 -1
  135. package/extensions/ublocklite/rulesets/scripting/generic/vie-1.js +2 -2
  136. package/extensions/ublocklite/rulesets/scripting/generichigh/chn-0.css +2 -9
  137. package/extensions/ublocklite/rulesets/scripting/generichigh/easylist.css +2 -13
  138. package/extensions/ublocklite/rulesets/scripting/generichigh/idn-0.css +4 -0
  139. package/extensions/ublocklite/rulesets/scripting/generichigh/rus-0.css +1 -0
  140. package/extensions/ublocklite/rulesets/scripting/generichigh/ublock-filters.css +0 -2
  141. package/extensions/ublocklite/rulesets/scripting/procedural/adguard-mobile.js +3 -3
  142. package/extensions/ublocklite/rulesets/scripting/procedural/annoyances-cookies.js +3 -3
  143. package/extensions/ublocklite/rulesets/scripting/procedural/annoyances-notifications.js +3 -3
  144. package/extensions/ublocklite/rulesets/scripting/procedural/annoyances-others.js +3 -3
  145. package/extensions/ublocklite/rulesets/scripting/procedural/annoyances-overlays.js +3 -3
  146. package/extensions/ublocklite/rulesets/scripting/procedural/annoyances-social.js +3 -3
  147. package/extensions/ublocklite/rulesets/scripting/procedural/chn-0.js +3 -3
  148. package/extensions/ublocklite/rulesets/scripting/procedural/deu-0.js +3 -3
  149. package/extensions/ublocklite/rulesets/scripting/procedural/easylist.js +3 -3
  150. package/extensions/ublocklite/rulesets/scripting/procedural/fra-0.js +3 -3
  151. package/extensions/ublocklite/rulesets/scripting/procedural/idn-0.js +3 -3
  152. package/extensions/ublocklite/rulesets/scripting/procedural/irn-0.js +3 -3
  153. package/extensions/ublocklite/rulesets/scripting/procedural/jpn-1.js +3 -3
  154. package/extensions/ublocklite/rulesets/scripting/procedural/kor-1.js +3 -3
  155. package/extensions/ublocklite/rulesets/scripting/procedural/nld-0.js +3 -3
  156. package/extensions/ublocklite/rulesets/scripting/procedural/rou-1.js +3 -3
  157. package/extensions/ublocklite/rulesets/scripting/procedural/rus-0.js +3 -3
  158. package/extensions/ublocklite/rulesets/scripting/procedural/rus-1.js +3 -3
  159. package/extensions/ublocklite/rulesets/scripting/procedural/spa-1.js +3 -3
  160. package/extensions/ublocklite/rulesets/scripting/procedural/swe-1.js +3 -3
  161. package/extensions/ublocklite/rulesets/scripting/procedural/tur-0.js +3 -3
  162. package/extensions/ublocklite/rulesets/scripting/procedural/ublock-filters.js +3 -3
  163. package/extensions/ublocklite/rulesets/scripting/procedural/vie-1.js +2 -2
  164. package/extensions/ublocklite/rulesets/scripting/scriptlet/adguard-mobile.abort-on-property-read.js +2 -2
  165. package/extensions/ublocklite/rulesets/scripting/scriptlet/adguard-mobile.set-constant.js +2 -2
  166. package/extensions/ublocklite/rulesets/scripting/scriptlet/adguard-mobile.set-cookie-reload.js +1 -1
  167. package/extensions/ublocklite/rulesets/scripting/scriptlet/adguard-mobile.set-cookie.js +2 -2
  168. package/extensions/ublocklite/rulesets/scripting/scriptlet/adguard-mobile.trusted-replace-node-text.js +450 -0
  169. package/extensions/ublocklite/rulesets/scripting/scriptlet/{jpn-1.abort-on-property-write.js → adguard-mobile.trusted-set-attr.js} +107 -41
  170. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.prevent-requestAnimationFrame.js +407 -0
  171. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.remove-node-text.js +1 -1
  172. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.set-cookie.js +2 -2
  173. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.set-local-storage-item.js +2 -2
  174. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.trusted-click-element.js +2 -2
  175. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.trusted-replace-node-text.js +2 -2
  176. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.trusted-set-cookie.js +2 -2
  177. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.trusted-set-local-storage-item.js +2 -2
  178. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-others.addEventListener-defuser.js +1 -1
  179. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.abort-current-script.js +1 -1
  180. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.abort-on-stack-trace.js +2 -2
  181. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.addEventListener-defuser.js +2 -2
  182. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.prevent-fetch.js +9 -2
  183. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.prevent-setInterval.js +2 -2
  184. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.prevent-setTimeout.js +2 -2
  185. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.prevent-xhr.js +2 -2
  186. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.remove-cookie.js +2 -2
  187. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.set-constant.js +2 -2
  188. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.set-cookie.js +2 -2
  189. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.trusted-click-element.js +1 -1
  190. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.trusted-replace-outbound-text.js +427 -0
  191. package/extensions/ublocklite/rulesets/scripting/scriptlet/chn-0.abort-current-script.js +2 -2
  192. package/extensions/ublocklite/rulesets/scripting/scriptlet/chn-0.addEventListener-defuser.js +2 -2
  193. package/extensions/ublocklite/rulesets/scripting/scriptlet/chn-0.adjust-setTimeout.js +2 -2
  194. package/extensions/ublocklite/rulesets/scripting/scriptlet/chn-0.json-prune.js +1 -1
  195. package/extensions/ublocklite/rulesets/scripting/scriptlet/chn-0.prevent-fetch.js +9 -2
  196. package/extensions/ublocklite/rulesets/scripting/scriptlet/chn-0.prevent-setTimeout.js +2 -2
  197. package/extensions/ublocklite/rulesets/scripting/scriptlet/chn-0.prevent-window-open.js +1 -1
  198. package/extensions/ublocklite/rulesets/scripting/scriptlet/chn-0.set-constant.js +2 -2
  199. package/extensions/ublocklite/rulesets/scripting/scriptlet/{vie-1.m3u-prune.js → chn-0.spoof-css.js} +109 -148
  200. package/extensions/ublocklite/rulesets/scripting/scriptlet/easyprivacy.abort-current-script.js +1 -1
  201. package/extensions/ublocklite/rulesets/scripting/scriptlet/easyprivacy.prevent-fetch.js +7 -0
  202. package/extensions/ublocklite/rulesets/scripting/scriptlet/easyprivacy.set-constant.js +1 -1
  203. package/extensions/ublocklite/rulesets/scripting/scriptlet/fra-0.addEventListener-defuser.js +2 -2
  204. package/extensions/ublocklite/rulesets/scripting/scriptlet/fra-0.adjust-setTimeout.js +2 -2
  205. package/extensions/ublocklite/rulesets/scripting/scriptlet/fra-0.prevent-fetch.js +7 -0
  206. package/extensions/ublocklite/rulesets/scripting/scriptlet/fra-0.prevent-setTimeout.js +2 -2
  207. package/extensions/ublocklite/rulesets/scripting/scriptlet/fra-0.set-constant.js +1 -1
  208. package/extensions/ublocklite/rulesets/scripting/scriptlet/hun-0.set-local-storage-item.js +2 -2
  209. package/extensions/ublocklite/rulesets/scripting/scriptlet/idn-0.prevent-fetch.js +7 -0
  210. package/extensions/ublocklite/rulesets/scripting/scriptlet/irn-0.abort-current-script.js +2 -2
  211. package/extensions/ublocklite/rulesets/scripting/scriptlet/irn-0.prevent-fetch.js +7 -0
  212. package/extensions/ublocklite/rulesets/scripting/scriptlet/irn-0.prevent-window-open.js +1 -1
  213. package/extensions/ublocklite/rulesets/scripting/scriptlet/irn-0.remove-node-text.js +2 -2
  214. package/extensions/ublocklite/rulesets/scripting/scriptlet/irn-0.set-constant.js +2 -2
  215. package/extensions/ublocklite/rulesets/scripting/scriptlet/irn-0.set-session-storage-item.js +2 -2
  216. package/extensions/ublocklite/rulesets/scripting/scriptlet/isr-0.prevent-fetch.js +7 -0
  217. package/extensions/ublocklite/rulesets/scripting/scriptlet/jpn-1.abort-current-script.js +2 -2
  218. package/extensions/ublocklite/rulesets/scripting/scriptlet/jpn-1.json-prune.js +2 -2
  219. package/extensions/ublocklite/rulesets/scripting/scriptlet/jpn-1.prevent-fetch.js +7 -0
  220. package/extensions/ublocklite/rulesets/scripting/scriptlet/jpn-1.remove-attr.js +1 -1
  221. package/extensions/ublocklite/rulesets/scripting/scriptlet/jpn-1.set-cookie.js +442 -0
  222. package/extensions/ublocklite/rulesets/scripting/scriptlet/{ublock-filters.evaldata-prune.js → kor-1.json-prune-xhr-response.js} +227 -198
  223. package/extensions/ublocklite/rulesets/scripting/scriptlet/kor-1.json-prune.js +2 -2
  224. package/extensions/ublocklite/rulesets/scripting/scriptlet/kor-1.prevent-fetch.js +7 -0
  225. package/extensions/ublocklite/rulesets/scripting/scriptlet/kor-1.prevent-setTimeout.js +2 -2
  226. package/extensions/ublocklite/rulesets/scripting/scriptlet/kor-1.set-constant.js +2 -2
  227. package/extensions/ublocklite/rulesets/scripting/scriptlet/nld-0.prevent-fetch.js +7 -0
  228. package/extensions/ublocklite/rulesets/scripting/scriptlet/nor-0.prevent-fetch.js +7 -0
  229. package/extensions/ublocklite/rulesets/scripting/scriptlet/rou-1.abort-current-script.js +2 -2
  230. package/extensions/ublocklite/rulesets/scripting/scriptlet/rou-1.remove-node-text.js +1 -1
  231. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.abort-on-property-read.js +2 -2
  232. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.abort-on-property-write.js +2 -2
  233. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.addEventListener-defuser.js +3 -3
  234. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.prevent-fetch.js +10 -3
  235. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.prevent-setTimeout.js +2 -2
  236. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.prevent-xhr.js +1 -1
  237. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.remove-cookie.js +3 -3
  238. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.remove-node-text.js +3 -3
  239. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.set-attr.js +2 -2
  240. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.set-constant.js +3 -3
  241. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.set-local-storage-item.js +2 -2
  242. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-1.abort-on-property-read.js +3 -3
  243. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-1.addEventListener-defuser.js +1 -1
  244. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-1.json-prune.js +2 -2
  245. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-1.prevent-fetch.js +7 -0
  246. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-1.remove-cookie.js +4 -4
  247. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-1.set-constant.js +3 -3
  248. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.abort-current-script.js +2 -2
  249. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.abort-on-property-read.js +2 -2
  250. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.addEventListener-defuser.js +2 -2
  251. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.adjust-setInterval.js +1 -1
  252. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.json-prune.js +2 -2
  253. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.noeval-if.js +1 -1
  254. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.prevent-fetch.js +9 -2
  255. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.prevent-requestAnimationFrame.js +2 -2
  256. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.prevent-setTimeout.js +2 -2
  257. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.prevent-window-open.js +1 -1
  258. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.set-constant.js +2 -2
  259. package/extensions/ublocklite/rulesets/scripting/scriptlet/swe-1.addEventListener-defuser.js +2 -2
  260. package/extensions/ublocklite/rulesets/scripting/scriptlet/swe-1.href-sanitizer.js +2 -2
  261. package/extensions/ublocklite/rulesets/scripting/scriptlet/swe-1.prevent-setTimeout.js +2 -2
  262. package/extensions/ublocklite/rulesets/scripting/scriptlet/tur-0.abort-on-property-read.js +2 -2
  263. package/extensions/ublocklite/rulesets/scripting/scriptlet/tur-0.abort-on-property-write.js +1 -1
  264. package/extensions/ublocklite/rulesets/scripting/scriptlet/tur-0.addEventListener-defuser.js +2 -2
  265. package/extensions/ublocklite/rulesets/scripting/scriptlet/tur-0.adjust-setInterval.js +2 -2
  266. package/extensions/ublocklite/rulesets/scripting/scriptlet/tur-0.prevent-fetch.js +7 -0
  267. package/extensions/ublocklite/rulesets/scripting/scriptlet/tur-0.prevent-setTimeout.js +2 -2
  268. package/extensions/ublocklite/rulesets/scripting/scriptlet/tur-0.prevent-window-open.js +1 -1
  269. package/extensions/ublocklite/rulesets/scripting/scriptlet/tur-0.remove-attr.js +2 -2
  270. package/extensions/ublocklite/rulesets/scripting/scriptlet/tur-0.remove-node-text.js +2 -2
  271. package/extensions/ublocklite/rulesets/scripting/scriptlet/tur-0.set-constant.js +2 -2
  272. package/extensions/ublocklite/rulesets/scripting/scriptlet/tur-0.set-cookie.js +2 -2
  273. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-badware.addEventListener-defuser.js +498 -0
  274. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-experimental.trusted-replace-node-text.js +450 -0
  275. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.abort-current-script.js +3 -3
  276. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.abort-on-property-read.js +3 -3
  277. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.abort-on-property-write.js +2 -2
  278. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.abort-on-stack-trace.js +3 -3
  279. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.addEventListener-defuser.js +3 -3
  280. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.adjust-setInterval.js +3 -3
  281. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.adjust-setTimeout.js +3 -3
  282. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.disable-newtab-links.js +1 -1
  283. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.href-sanitizer.js +2 -2
  284. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.json-edit-fetch-response.js +927 -0
  285. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.json-edit-xhr-response.js +851 -0
  286. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.json-prune-fetch-response.js +2 -2
  287. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.json-prune-xhr-response.js +3 -3
  288. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.json-prune.js +3 -3
  289. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.m3u-prune.js +2 -2
  290. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.noeval-if.js +3 -3
  291. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.nowebrtc.js +2 -2
  292. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.prevent-fetch.js +10 -3
  293. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.prevent-requestAnimationFrame.js +2 -2
  294. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.prevent-setInterval.js +2 -2
  295. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.prevent-setTimeout.js +3 -3
  296. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.prevent-window-open.js +3 -3
  297. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.prevent-xhr.js +3 -3
  298. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.remove-attr.js +2 -2
  299. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.remove-cookie.js +2 -2
  300. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.remove-node-text.js +2 -2
  301. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.set-attr.js +2 -2
  302. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.set-constant.js +3 -3
  303. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.set-cookie.js +2 -2
  304. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.set-local-storage-item.js +2 -2
  305. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.spoof-css.js +2 -2
  306. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-click-element.js +1 -1
  307. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-create-html.js +2 -2
  308. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-override-element-method.js +1 -1
  309. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-prevent-fetch.js +7 -0
  310. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-prevent-xhr.js +1 -1
  311. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-replace-argument.js +2 -2
  312. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-replace-node-text.js +3 -3
  313. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-replace-outbound-text.js +2 -2
  314. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-replace-xhr-response.js +1 -1
  315. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-set-constant.js +2 -2
  316. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-set-cookie.js +3 -3
  317. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-set-local-storage-item.js +2 -2
  318. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-suppress-native-method.js +1 -1
  319. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.xml-prune.js +2 -2
  320. package/extensions/ublocklite/rulesets/scripting/scriptlet/ukr-0.prevent-fetch.js +7 -0
  321. package/extensions/ublocklite/rulesets/scripting/scriptlet/vie-1.abort-current-script.js +2 -2
  322. package/extensions/ublocklite/rulesets/scripting/scriptlet/vie-1.abort-on-property-read.js +2 -2
  323. package/extensions/ublocklite/rulesets/scripting/scriptlet/vie-1.json-prune.js +1 -1
  324. package/extensions/ublocklite/rulesets/scripting/scriptlet/vie-1.prevent-fetch.js +7 -0
  325. package/extensions/ublocklite/rulesets/scripting/specific/adguard-mobile.js +3 -3
  326. package/extensions/ublocklite/rulesets/scripting/specific/annoyances-cookies.js +3 -3
  327. package/extensions/ublocklite/rulesets/scripting/specific/annoyances-notifications.js +3 -3
  328. package/extensions/ublocklite/rulesets/scripting/specific/annoyances-others.js +3 -3
  329. package/extensions/ublocklite/rulesets/scripting/specific/annoyances-overlays.js +3 -3
  330. package/extensions/ublocklite/rulesets/scripting/specific/annoyances-social.js +3 -3
  331. package/extensions/ublocklite/rulesets/scripting/specific/chn-0.js +3 -3
  332. package/extensions/ublocklite/rulesets/scripting/specific/deu-0.js +3 -3
  333. package/extensions/ublocklite/rulesets/scripting/specific/easylist.js +3 -3
  334. package/extensions/ublocklite/rulesets/scripting/specific/fin-0.js +3 -3
  335. package/extensions/ublocklite/rulesets/scripting/specific/fra-0.js +3 -3
  336. package/extensions/ublocklite/rulesets/scripting/specific/hun-0.js +3 -3
  337. package/extensions/ublocklite/rulesets/scripting/specific/idn-0.js +3 -3
  338. package/extensions/ublocklite/rulesets/scripting/specific/ind-0.js +3 -3
  339. package/extensions/ublocklite/rulesets/scripting/specific/irn-0.js +3 -3
  340. package/extensions/ublocklite/rulesets/scripting/specific/isr-0.js +3 -3
  341. package/extensions/ublocklite/rulesets/scripting/specific/ita-0.js +3 -3
  342. package/extensions/ublocklite/rulesets/scripting/specific/jpn-1.js +3 -3
  343. package/extensions/ublocklite/rulesets/scripting/specific/kor-1.js +3 -3
  344. package/extensions/ublocklite/rulesets/scripting/specific/nld-0.js +3 -3
  345. package/extensions/ublocklite/rulesets/scripting/specific/nor-0.js +3 -3
  346. package/extensions/ublocklite/rulesets/scripting/specific/pol-0.js +3 -3
  347. package/extensions/ublocklite/rulesets/scripting/specific/rou-1.js +3 -3
  348. package/extensions/ublocklite/rulesets/scripting/specific/rus-0.js +3 -3
  349. package/extensions/ublocklite/rulesets/scripting/specific/rus-1.js +3 -3
  350. package/extensions/ublocklite/rulesets/scripting/specific/spa-1.js +3 -3
  351. package/extensions/ublocklite/rulesets/scripting/specific/swe-1.js +3 -3
  352. package/extensions/ublocklite/rulesets/scripting/specific/tha-0.js +3 -3
  353. package/extensions/ublocklite/rulesets/scripting/specific/tur-0.js +3 -3
  354. package/extensions/ublocklite/rulesets/scripting/specific/ublock-filters.js +3 -3
  355. package/extensions/ublocklite/rulesets/scripting/specific/ukr-0.js +3 -3
  356. package/extensions/ublocklite/rulesets/scripting/specific/vie-1.js +3 -3
  357. package/extensions/ublocklite/rulesets/scriptlet-details.json +301 -173
  358. package/extensions/ublocklite/rulesets/strictblock/adguard-mobile.json +11 -1
  359. package/extensions/ublocklite/rulesets/strictblock/annoyances-cookies.json +1 -0
  360. package/extensions/ublocklite/rulesets/strictblock/chn-0.json +398 -791
  361. package/extensions/ublocklite/rulesets/strictblock/dpollock-0.json +4 -0
  362. package/extensions/ublocklite/rulesets/strictblock/easylist.json +1 -1
  363. package/extensions/ublocklite/rulesets/strictblock/easyprivacy.json +76 -74
  364. package/extensions/ublocklite/rulesets/strictblock/fra-0.json +429 -49
  365. package/extensions/ublocklite/rulesets/strictblock/irn-0.json +2 -0
  366. package/extensions/ublocklite/rulesets/strictblock/jpn-1.json +185 -176
  367. package/extensions/ublocklite/rulesets/strictblock/kor-1.json +6 -1
  368. package/extensions/ublocklite/rulesets/strictblock/nor-0.json +1 -1
  369. package/extensions/ublocklite/rulesets/strictblock/pgl.json +8 -11
  370. package/extensions/ublocklite/rulesets/strictblock/pol-0.json +2 -0
  371. package/extensions/ublocklite/rulesets/strictblock/rus-1.json +1 -0
  372. package/extensions/ublocklite/rulesets/strictblock/spa-1.json +1 -2
  373. package/extensions/ublocklite/rulesets/strictblock/stevenblack-hosts.json +15832 -9032
  374. package/extensions/ublocklite/rulesets/strictblock/swe-1.json +2 -0
  375. package/extensions/ublocklite/rulesets/strictblock/tur-0.json +4 -0
  376. package/extensions/ublocklite/rulesets/strictblock/ublock-badware.json +636 -631
  377. package/extensions/ublocklite/rulesets/strictblock/ublock-filters.json +3 -2
  378. package/extensions/ublocklite/rulesets/strictblock/urlhaus-full.json +631 -676
  379. package/extensions/ublocklite/rulesets/strictblock/vie-1.json +7 -8
  380. package/extensions/ublocklite/rulesets/urlskip/ublock-filters.json +30 -0
  381. package/extensions/ublocklite/ublock.zip +0 -0
  382. package/package.json +23 -21
  383. package/scripts/build-open-api.js +15 -1
  384. package/scripts/install-adblock.js +25 -4
  385. package/scripts/start.sh +1 -1
  386. package/scripts/test.sh +2 -2
  387. package/src/limiter.ts +1 -1
  388. package/src/routes/chromium/tests/scrape.spec.ts +48 -0
  389. package/src/sdk-utils.ts +1 -1
  390. package/src/shared/scrape.http.ts +17 -5
  391. package/static/docs/swagger.json +330 -102
  392. package/static/docs/swagger.min.json +329 -101
  393. package/static/function/client.js +273 -171
  394. package/static/function/index.html +273 -171
  395. package/extensions/ublocklite/rulesets/modify-headers/annoyances-overlays.json +0 -108
  396. package/extensions/ublocklite/rulesets/modify-headers/chn-0.json +0 -316
  397. package/extensions/ublocklite/rulesets/modify-headers/cze-0.json +0 -25
  398. package/extensions/ublocklite/rulesets/modify-headers/deu-0.json +0 -24
  399. package/extensions/ublocklite/rulesets/modify-headers/easylist.json +0 -14
  400. package/extensions/ublocklite/rulesets/modify-headers/easyprivacy.json +0 -48
  401. package/extensions/ublocklite/rulesets/modify-headers/fra-0.json +0 -215
  402. package/extensions/ublocklite/rulesets/modify-headers/irn-0.json +0 -45
  403. package/extensions/ublocklite/rulesets/modify-headers/isr-0.json +0 -50
  404. package/extensions/ublocklite/rulesets/modify-headers/rus-0.json +0 -41
  405. package/extensions/ublocklite/rulesets/modify-headers/rus-1.json +0 -22
  406. package/extensions/ublocklite/rulesets/modify-headers/swe-1.json +0 -46
  407. package/extensions/ublocklite/rulesets/modify-headers/ublock-filters.json +0 -53
  408. package/extensions/ublocklite/rulesets/modify-headers/ubol-tests.json +0 -25
  409. package/extensions/ublocklite/rulesets/modify-headers/vie-1.json +0 -162
  410. package/extensions/ublocklite/rulesets/redirect/adguard-mobile.json +0 -20
  411. package/extensions/ublocklite/rulesets/redirect/annoyances-overlays.json +0 -15
  412. package/extensions/ublocklite/rulesets/redirect/chn-0.json +0 -40
  413. package/extensions/ublocklite/rulesets/redirect/cze-0.json +0 -76
  414. package/extensions/ublocklite/rulesets/redirect/deu-0.json +0 -79
  415. package/extensions/ublocklite/rulesets/redirect/easylist.json +0 -103
  416. package/extensions/ublocklite/rulesets/redirect/easyprivacy.json +0 -137
  417. package/extensions/ublocklite/rulesets/redirect/fin-0.json +0 -121
  418. package/extensions/ublocklite/rulesets/redirect/fra-0.json +0 -35
  419. package/extensions/ublocklite/rulesets/redirect/hun-0.json +0 -38
  420. package/extensions/ublocklite/rulesets/redirect/irn-0.json +0 -73
  421. package/extensions/ublocklite/rulesets/redirect/isr-0.json +0 -17
  422. package/extensions/ublocklite/rulesets/redirect/jpn-1.json +0 -30
  423. package/extensions/ublocklite/rulesets/redirect/kor-1.json +0 -25
  424. package/extensions/ublocklite/rulesets/redirect/ltu-0.json +0 -33
  425. package/extensions/ublocklite/rulesets/redirect/nld-0.json +0 -79
  426. package/extensions/ublocklite/rulesets/redirect/nor-0.json +0 -132
  427. package/extensions/ublocklite/rulesets/redirect/pol-0.json +0 -15
  428. package/extensions/ublocklite/rulesets/redirect/rou-1.json +0 -53
  429. package/extensions/ublocklite/rulesets/redirect/rus-0.json +0 -21
  430. package/extensions/ublocklite/rulesets/redirect/rus-1.json +0 -118
  431. package/extensions/ublocklite/rulesets/redirect/spa-1.json +0 -27
  432. package/extensions/ublocklite/rulesets/redirect/swe-1.json +0 -14
  433. package/extensions/ublocklite/rulesets/redirect/tha-0.json +0 -78
  434. package/extensions/ublocklite/rulesets/redirect/tur-0.json +0 -24
  435. package/extensions/ublocklite/rulesets/redirect/ublock-badware.json +0 -18
  436. package/extensions/ublocklite/rulesets/redirect/ublock-filters.json +0 -556
  437. package/extensions/ublocklite/rulesets/redirect/ubol-tests.json +0 -22
  438. package/extensions/ublocklite/rulesets/redirect/ukr-0.json +0 -18
  439. package/extensions/ublocklite/rulesets/redirect/vie-1.json +0 -85
  440. package/extensions/ublocklite/rulesets/removeparam/adguard-spyware-url.json +0 -612
  441. package/extensions/ublocklite/rulesets/removeparam/annoyances-overlays.json +0 -27
  442. package/extensions/ublocklite/rulesets/removeparam/chn-0.json +0 -48
  443. package/extensions/ublocklite/rulesets/removeparam/est-0.json +0 -26
  444. package/extensions/ublocklite/rulesets/removeparam/fin-0.json +0 -52
  445. package/extensions/ublocklite/rulesets/removeparam/irn-0.json +0 -18
  446. package/extensions/ublocklite/rulesets/removeparam/kor-1.json +0 -26
  447. package/extensions/ublocklite/rulesets/removeparam/rus-0.json +0 -19
  448. package/extensions/ublocklite/rulesets/removeparam/rus-1.json +0 -98
  449. package/extensions/ublocklite/rulesets/removeparam/swe-1.json +0 -125
  450. package/extensions/ublocklite/rulesets/removeparam/ublock-filters.json +0 -63
  451. package/extensions/ublocklite/rulesets/removeparam/ukr-0.json +0 -49
@@ -132,7 +132,20 @@
132
132
  "type": "string"
133
133
  },
134
134
  "userAgent": {
135
- "type": "string"
135
+ "type": "object",
136
+ "properties": {
137
+ "userAgent": {
138
+ "type": "string"
139
+ },
140
+ "userAgentMetadata": {
141
+ "description": "Used to specify User Agent Client Hints to emulate. See https://wicg.github.io/ua-client-hints\nMissing optional values will be filled in by the target with what it would normally use.",
142
+ "$ref": "#/definitions/Protocol.Emulation.UserAgentMetadata"
143
+ },
144
+ "platform": {
145
+ "type": "string"
146
+ }
147
+ },
148
+ "additionalProperties": false
136
149
  },
137
150
  "viewport": {
138
151
  "anyOf": [
@@ -497,6 +510,82 @@
497
510
  "type": "object",
498
511
  "additionalProperties": false
499
512
  },
513
+ "Protocol.Emulation.UserAgentMetadata": {
514
+ "description": "Used to specify User Agent Client Hints to emulate. See https://wicg.github.io/ua-client-hints\nMissing optional values will be filled in by the target with what it would normally use.",
515
+ "type": "object",
516
+ "properties": {
517
+ "brands": {
518
+ "description": "Brands appearing in Sec-CH-UA.",
519
+ "type": "array",
520
+ "items": {
521
+ "$ref": "#/definitions/Protocol.Emulation.UserAgentBrandVersion"
522
+ }
523
+ },
524
+ "fullVersionList": {
525
+ "description": "Brands appearing in Sec-CH-UA-Full-Version-List.",
526
+ "type": "array",
527
+ "items": {
528
+ "$ref": "#/definitions/Protocol.Emulation.UserAgentBrandVersion"
529
+ }
530
+ },
531
+ "fullVersion": {
532
+ "type": "string"
533
+ },
534
+ "platform": {
535
+ "type": "string"
536
+ },
537
+ "platformVersion": {
538
+ "type": "string"
539
+ },
540
+ "architecture": {
541
+ "type": "string"
542
+ },
543
+ "model": {
544
+ "type": "string"
545
+ },
546
+ "mobile": {
547
+ "type": "boolean"
548
+ },
549
+ "bitness": {
550
+ "type": "string"
551
+ },
552
+ "wow64": {
553
+ "type": "boolean"
554
+ },
555
+ "formFactors": {
556
+ "description": "Used to specify User Agent form-factor values.\nSee https://wicg.github.io/ua-client-hints/#sec-ch-ua-form-factors",
557
+ "type": "array",
558
+ "items": {
559
+ "type": "string"
560
+ }
561
+ }
562
+ },
563
+ "additionalProperties": false,
564
+ "required": [
565
+ "architecture",
566
+ "mobile",
567
+ "model",
568
+ "platform",
569
+ "platformVersion"
570
+ ]
571
+ },
572
+ "Protocol.Emulation.UserAgentBrandVersion": {
573
+ "description": "Used to specify User Agent Client Hints to emulate. See https://wicg.github.io/ua-client-hints",
574
+ "type": "object",
575
+ "properties": {
576
+ "brand": {
577
+ "type": "string"
578
+ },
579
+ "version": {
580
+ "type": "string"
581
+ }
582
+ },
583
+ "additionalProperties": false,
584
+ "required": [
585
+ "brand",
586
+ "version"
587
+ ]
588
+ },
500
589
  "Viewport": {
501
590
  "type": "object",
502
591
  "properties": {
@@ -179,18 +179,6 @@
179
179
  "description": "Represents a cookie object.",
180
180
  "type": "object",
181
181
  "properties": {
182
- "name": {
183
- "description": "Cookie name.",
184
- "type": "string"
185
- },
186
- "value": {
187
- "description": "Cookie value.",
188
- "type": "string"
189
- },
190
- "domain": {
191
- "description": "Cookie domain.",
192
- "type": "string"
193
- },
194
182
  "path": {
195
183
  "description": "Cookie path.",
196
184
  "type": "string"
@@ -203,10 +191,6 @@
203
191
  "description": "Cookie size.",
204
192
  "type": "number"
205
193
  },
206
- "httpOnly": {
207
- "description": "True if cookie is http-only.",
208
- "type": "boolean"
209
- },
210
194
  "secure": {
211
195
  "description": "True if cookie is secure.",
212
196
  "type": "boolean"
@@ -215,6 +199,26 @@
215
199
  "description": "True in case of session cookie.",
216
200
  "type": "boolean"
217
201
  },
202
+ "partitionKeyOpaque": {
203
+ "description": "True if cookie partition key is opaque. Supported only in Chrome.",
204
+ "type": "boolean"
205
+ },
206
+ "name": {
207
+ "description": "Cookie name.",
208
+ "type": "string"
209
+ },
210
+ "value": {
211
+ "description": "Cookie value.",
212
+ "type": "string"
213
+ },
214
+ "domain": {
215
+ "description": "Cookie domain.",
216
+ "type": "string"
217
+ },
218
+ "httpOnly": {
219
+ "description": "True if cookie is http-only.",
220
+ "type": "boolean"
221
+ },
218
222
  "sameSite": {
219
223
  "description": "Cookie SameSite type.",
220
224
  "enum": [
@@ -247,7 +251,7 @@
247
251
  "type": "string"
248
252
  },
249
253
  "partitionKey": {
250
- "description": "Cookie partition key. In Chrome, it is the top-level site the\npartitioned cookie is available in. In Firefox, it matches the\nsource origin in the\n{@link https://w3c.github.io/webdriver-bidi/#type-storage-PartitionKey PartitionKey}.",
254
+ "description": "Cookie partition key. In Chrome, it matches the top-level site the\npartitioned cookie is available in. In Firefox, it matches the\nsource origin in the\n{@link https://w3c.github.io/webdriver-bidi/#type-storage-PartitionKey PartitionKey}.",
251
255
  "anyOf": [
252
256
  {
253
257
  "$ref": "#/definitions/CookiePartitionKey"
@@ -256,17 +260,12 @@
256
260
  "type": "string"
257
261
  }
258
262
  ]
259
- },
260
- "partitionKeyOpaque": {
261
- "description": "True if cookie partition key is opaque. Supported only in Chrome.",
262
- "type": "boolean"
263
263
  }
264
264
  },
265
265
  "additionalProperties": false,
266
266
  "required": [
267
267
  "domain",
268
268
  "expires",
269
- "httpOnly",
270
269
  "name",
271
270
  "path",
272
271
  "secure",
@@ -132,7 +132,20 @@
132
132
  "type": "string"
133
133
  },
134
134
  "userAgent": {
135
- "type": "string"
135
+ "type": "object",
136
+ "properties": {
137
+ "userAgent": {
138
+ "type": "string"
139
+ },
140
+ "userAgentMetadata": {
141
+ "description": "Used to specify User Agent Client Hints to emulate. See https://wicg.github.io/ua-client-hints\nMissing optional values will be filled in by the target with what it would normally use.",
142
+ "$ref": "#/definitions/Protocol.Emulation.UserAgentMetadata"
143
+ },
144
+ "platform": {
145
+ "type": "string"
146
+ }
147
+ },
148
+ "additionalProperties": false
136
149
  },
137
150
  "viewport": {
138
151
  "anyOf": [
@@ -553,6 +566,82 @@
553
566
  "type": "object",
554
567
  "additionalProperties": false
555
568
  },
569
+ "Protocol.Emulation.UserAgentMetadata": {
570
+ "description": "Used to specify User Agent Client Hints to emulate. See https://wicg.github.io/ua-client-hints\nMissing optional values will be filled in by the target with what it would normally use.",
571
+ "type": "object",
572
+ "properties": {
573
+ "brands": {
574
+ "description": "Brands appearing in Sec-CH-UA.",
575
+ "type": "array",
576
+ "items": {
577
+ "$ref": "#/definitions/Protocol.Emulation.UserAgentBrandVersion"
578
+ }
579
+ },
580
+ "fullVersionList": {
581
+ "description": "Brands appearing in Sec-CH-UA-Full-Version-List.",
582
+ "type": "array",
583
+ "items": {
584
+ "$ref": "#/definitions/Protocol.Emulation.UserAgentBrandVersion"
585
+ }
586
+ },
587
+ "fullVersion": {
588
+ "type": "string"
589
+ },
590
+ "platform": {
591
+ "type": "string"
592
+ },
593
+ "platformVersion": {
594
+ "type": "string"
595
+ },
596
+ "architecture": {
597
+ "type": "string"
598
+ },
599
+ "model": {
600
+ "type": "string"
601
+ },
602
+ "mobile": {
603
+ "type": "boolean"
604
+ },
605
+ "bitness": {
606
+ "type": "string"
607
+ },
608
+ "wow64": {
609
+ "type": "boolean"
610
+ },
611
+ "formFactors": {
612
+ "description": "Used to specify User Agent form-factor values.\nSee https://wicg.github.io/ua-client-hints/#sec-ch-ua-form-factors",
613
+ "type": "array",
614
+ "items": {
615
+ "type": "string"
616
+ }
617
+ }
618
+ },
619
+ "additionalProperties": false,
620
+ "required": [
621
+ "architecture",
622
+ "mobile",
623
+ "model",
624
+ "platform",
625
+ "platformVersion"
626
+ ]
627
+ },
628
+ "Protocol.Emulation.UserAgentBrandVersion": {
629
+ "description": "Used to specify User Agent Client Hints to emulate. See https://wicg.github.io/ua-client-hints",
630
+ "type": "object",
631
+ "properties": {
632
+ "brand": {
633
+ "type": "string"
634
+ },
635
+ "version": {
636
+ "type": "string"
637
+ }
638
+ },
639
+ "additionalProperties": false,
640
+ "required": [
641
+ "brand",
642
+ "version"
643
+ ]
644
+ },
556
645
  "Viewport": {
557
646
  "type": "object",
558
647
  "properties": {
@@ -81,7 +81,7 @@ export const prompt = async (question) => {
81
81
  };
82
82
  // Exceptions are not caught, since any error would result in a crash regardless
83
83
  export const installDependencies = async (workingDirectory) => {
84
- await waitForCommand('npm install', workingDirectory);
84
+ await waitForCommand('npm clean-install', workingDirectory);
85
85
  await installBrowsers(workingDirectory);
86
86
  };
87
87
  export const installBrowsers = async (workingDirectory) => {
@@ -1,5 +1,5 @@
1
1
  import { APITags, BadRequest, BrowserHTTPRoute, BrowserlessRoutes, ChromiumCDP, HTTPRoutes, Methods, Timeout, bestAttemptCatch, contentTypes, debugScreenshotOpts, dedent, isBase64Encoded, jsonResponse, noop, sleep, waitForEvent as waitForEvt, waitForFunction as waitForFn, } from '@browserless.io/browserless';
2
- const scrape = async (elements) => {
2
+ const scrape = async (elements, bestAttempt = false) => {
3
3
  const wait = (selector, timeout = 30000) => {
4
4
  return new Promise((resolve, reject) => {
5
5
  const timeoutId = setTimeout(() => {
@@ -16,7 +16,17 @@ const scrape = async (elements) => {
16
16
  }, 100);
17
17
  });
18
18
  };
19
- await Promise.all(elements.map(({ selector, timeout }) => wait(selector, timeout)));
19
+ if (bestAttempt) {
20
+ const results = await Promise.allSettled(elements.map(({ selector, timeout }) => wait(selector, timeout)));
21
+ results.forEach((result, index) => {
22
+ if (result.status === 'rejected') {
23
+ console.warn(`Selector "${elements[index].selector}" failed: ${result.reason.message}`);
24
+ }
25
+ });
26
+ }
27
+ else {
28
+ await Promise.all(elements.map(({ selector, timeout }) => wait(selector, timeout)));
29
+ }
20
30
  return elements.map(({ selector }) => {
21
31
  const $els = [...document.querySelectorAll(selector)];
22
32
  return {
@@ -177,7 +187,7 @@ export default class ChromiumScrapePostRoute extends BrowserHTTPRoute {
177
187
  res.setHeader(key, value);
178
188
  }
179
189
  }
180
- const data = await page.evaluate(scrape, elements).catch((e) => {
190
+ const data = await page.evaluate(scrape, elements, bestAttempt).catch((e) => {
181
191
  if (e.message.includes('Timed out')) {
182
192
  throw new Timeout(e);
183
193
  }
@@ -1,17 +1,17 @@
1
- FROM ubuntu:20.04
1
+ FROM ubuntu:24.04
2
2
 
3
- LABEL org.opencontainers.image.source https://github.com/browserless/browserless
3
+ LABEL org.opencontainers.image.source=https://github.com/browserless/browserless
4
4
 
5
5
  ARG DEBIAN_FRONTEND=noninteractive
6
6
  ARG TZ=America/Los_Angeles
7
7
  ARG BLESS_USER_ID=999
8
8
  ARG APP_DIR=/usr/src/app
9
- ARG NODE_VERSION=v24.2.0
9
+ ARG NODE_VERSION=v24.8.0
10
10
 
11
11
  ENV NODE_VERSION=$NODE_VERSION
12
- ENV NVM_DIR /usr/src/.nvm
13
- ENV NODE_PATH $NVM_DIR/versions/node/$NODE_VERSION/bin
14
- ENV PATH $NODE_PATH:$PATH
12
+ ENV NVM_DIR=/usr/src/.nvm
13
+ ENV NODE_PATH=$NVM_DIR/versions/node/$NODE_VERSION/bin
14
+ ENV PATH=$NODE_PATH:$PATH
15
15
  ENV APP_DIR=$APP_DIR
16
16
  ENV TZ=$TZ
17
17
  ENV DEBIAN_FRONTEND=$DEBIAN_FRONTEND
@@ -59,7 +59,7 @@ RUN curl -sL https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | b
59
59
  nvm install $NODE_VERSION
60
60
 
61
61
  RUN add-apt-repository universe && apt-get update && \
62
- apt-get install -y python3.10 python3-pip && \
62
+ apt-get install -y python3 python3-pip python3-setuptools && \
63
63
  update-alternatives --install /usr/bin/pip pip /usr/bin/pip3 1 && \
64
64
  update-alternatives --install /usr/bin/python python /usr/bin/python3 1
65
65
 
@@ -67,4 +67,4 @@ RUN groupadd -r blessuser && useradd --uid ${BLESS_USER_ID} -r -g blessuser -G a
67
67
  mkdir -p /home/blessuser/Downloads && \
68
68
  chown -R blessuser:blessuser /home/blessuser
69
69
 
70
- RUN npm i --production=false
70
+ RUN npm clean-install
@@ -1,6 +1,6 @@
1
1
  ARG VERSION=latest
2
2
  FROM ghcr.io/browserless/base:$VERSION
3
- LABEL org.opencontainers.image.source https://github.com/browserless/browserless
3
+ LABEL org.opencontainers.image.source=https://github.com/browserless/browserless
4
4
 
5
5
  COPY fonts/* /usr/share/fonts/truetype/
6
6
  COPY src src/
@@ -10,7 +10,7 @@ COPY src/routes/chrome src/routes/chrome/
10
10
 
11
11
  RUN echo "ttf-mscorefonts-installer msttcorefonts/accepted-mscorefonts-eula select true" | debconf-set-selections && \
12
12
  apt-get -y -qq install software-properties-common &&\
13
- apt-add-repository "deb http://archive.canonical.com/ubuntu $(lsb_release -sc) partner" && \
13
+ apt-add-repository "deb https://archive.canonical.com/ubuntu $(lsb_release -sc) partner" && \
14
14
  apt-get -y -qq --no-install-recommends install \
15
15
  fontconfig \
16
16
  fonts-freefont-ttf \
@@ -1,6 +1,6 @@
1
1
  ARG VERSION=latest
2
2
  FROM ghcr.io/browserless/base:$VERSION
3
- LABEL org.opencontainers.image.source https://github.com/browserless/browserless
3
+ LABEL org.opencontainers.image.source=https://github.com/browserless/browserless
4
4
 
5
5
  COPY fonts/* /usr/share/fonts/truetype/
6
6
  COPY src src/
@@ -10,7 +10,7 @@ COPY src/routes/chromium src/routes/chromium/
10
10
 
11
11
  RUN echo "ttf-mscorefonts-installer msttcorefonts/accepted-mscorefonts-eula select true" | debconf-set-selections && \
12
12
  apt-get -y -qq install software-properties-common &&\
13
- apt-add-repository "deb http://archive.canonical.com/ubuntu $(lsb_release -sc) partner" && \
13
+ apt-add-repository "deb https://archive.canonical.com/ubuntu $(lsb_release -sc) partner" && \
14
14
  apt-get -y -qq --no-install-recommends install \
15
15
  fontconfig \
16
16
  fonts-freefont-ttf \
@@ -1,6 +1,6 @@
1
1
  ARG VERSION=latest
2
2
  FROM ghcr.io/browserless/base:$VERSION
3
- LABEL org.opencontainers.image.source https://github.com/browserless/browserless
3
+ LABEL org.opencontainers.image.source=https://github.com/browserless/browserless
4
4
 
5
5
  COPY fonts/* /usr/share/fonts/truetype/
6
6
  COPY src src/
@@ -10,7 +10,7 @@ COPY src/routes/edge src/routes/edge/
10
10
 
11
11
  RUN echo "ttf-mscorefonts-installer msttcorefonts/accepted-mscorefonts-eula select true" | debconf-set-selections && \
12
12
  apt-get -y -qq install software-properties-common &&\
13
- apt-add-repository "deb http://archive.canonical.com/ubuntu $(lsb_release -sc) partner" && \
13
+ apt-add-repository "deb https://archive.canonical.com/ubuntu $(lsb_release -sc) partner" && \
14
14
  apt-get -y -qq --no-install-recommends install \
15
15
  fontconfig \
16
16
  fonts-freefont-ttf \
@@ -1,6 +1,6 @@
1
1
  ARG VERSION=latest
2
2
  FROM ghcr.io/browserless/base:$VERSION
3
- LABEL org.opencontainers.image.source https://github.com/browserless/browserless
3
+ LABEL org.opencontainers.image.source=https://github.com/browserless/browserless
4
4
 
5
5
  COPY fonts/* /usr/share/fonts/truetype/
6
6
  COPY src src/
@@ -10,7 +10,7 @@ COPY src/routes/firefox src/routes/firefox/
10
10
 
11
11
  RUN echo "ttf-mscorefonts-installer msttcorefonts/accepted-mscorefonts-eula select true" | debconf-set-selections && \
12
12
  apt-get -y -qq install software-properties-common &&\
13
- apt-add-repository "deb http://archive.canonical.com/ubuntu $(lsb_release -sc) partner" && \
13
+ apt-add-repository "deb https://archive.canonical.com/ubuntu $(lsb_release -sc) partner" && \
14
14
  apt-get -y -qq --no-install-recommends install \
15
15
  fontconfig \
16
16
  fonts-freefont-ttf \
@@ -1,6 +1,6 @@
1
1
  ARG VERSION=latest
2
2
  FROM ghcr.io/browserless/base:$VERSION
3
- LABEL org.opencontainers.image.source https://github.com/browserless/browserless
3
+ LABEL org.opencontainers.image.source=https://github.com/browserless/browserless
4
4
 
5
5
  ARG TARGETPLATFORM
6
6
  ENV TARGETPLATFORM=${TARGETPLATFORM}
@@ -10,7 +10,7 @@ COPY src src/
10
10
 
11
11
  RUN echo "ttf-mscorefonts-installer msttcorefonts/accepted-mscorefonts-eula select true" | debconf-set-selections &&\
12
12
  apt-get -y -qq install software-properties-common &&\
13
- apt-add-repository "deb http://archive.canonical.com/ubuntu $(lsb_release -sc) partner" &&\
13
+ apt-add-repository "deb https://archive.canonical.com/ubuntu $(lsb_release -sc) partner" &&\
14
14
  apt-get -y -qq --no-install-recommends install \
15
15
  fontconfig \
16
16
  fonts-freefont-ttf \
@@ -27,7 +27,7 @@ COPY tsconfig.json .
27
27
  COPY *README.md .
28
28
 
29
29
  # Install dependencies
30
- RUN npm install
30
+ RUN npm clean-install
31
31
 
32
32
  # Build Source files
33
33
  RUN npm run build
@@ -1,6 +1,6 @@
1
1
  ARG VERSION=latest
2
2
  FROM ghcr.io/browserless/base:$VERSION
3
- LABEL org.opencontainers.image.source https://github.com/browserless/browserless
3
+ LABEL org.opencontainers.image.source=https://github.com/browserless/browserless
4
4
 
5
5
  # Install Fonts
6
6
  COPY fonts/* /usr/share/fonts/truetype/
@@ -11,7 +11,7 @@ COPY src/routes/webkit src/routes/webkit/
11
11
 
12
12
  RUN echo "ttf-mscorefonts-installer msttcorefonts/accepted-mscorefonts-eula select true" | debconf-set-selections && \
13
13
  apt-get -y -qq install software-properties-common &&\
14
- apt-add-repository "deb http://archive.canonical.com/ubuntu $(lsb_release -sc) partner" && \
14
+ apt-add-repository "deb https://archive.canonical.com/ubuntu $(lsb_release -sc) partner" && \
15
15
  apt-get -y -qq --no-install-recommends install \
16
16
  fontconfig \
17
17
  fonts-freefont-ttf \
@@ -21,7 +21,7 @@ Upon completion of the script, the resulting extension package will become prese
21
21
 
22
22
  The folder `dist/build/mv3-data` will cache data fetched from remote servers, so as to avoid fetching repeatedly from remote servers with repeated build commands. Use `make cleanassets` to remove all locally cached filter lists if you want to build with latest versions of filter lists.
23
23
 
24
- The file `dist/build/mv3-data/log.txt` will contain information about what happened during the build process.
24
+ The file `dist/build/uBOLite.[platform]/log.txt` will contain information about what happened during the build process.
25
25
 
26
26
  The entry in the `Makefile` which implement the build process is `tools/make-mv3.sh [platform]`.[1] This Bash script copy various files from uBlock Origin branch and MV3-specific branch into a single folder which will be the final extension package.
27
27
 
@@ -68,7 +68,7 @@
68
68
  "description": "Header for a ruleset section in 'Filter lists pane'"
69
69
  },
70
70
  "3pGroupMalware": {
71
- "message": "Malware protection, security",
71
+ "message": "Gwarez a-enep ar malware ha surentez",
72
72
  "description": "Header for a ruleset section in 'Filter lists pane'"
73
73
  },
74
74
  "3pGroupAnnoyances": {