@browserless.io/browserless 2.36.0 → 2.37.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (559) hide show
  1. package/CHANGELOG.md +16 -2
  2. package/build/browsers/index.d.ts +1 -0
  3. package/build/browsers/index.js +18 -2
  4. package/build/http.d.ts +3 -2
  5. package/build/http.js +3 -2
  6. package/build/routes/chrome/http/content.post.query.json +3 -0
  7. package/build/routes/chrome/http/download.post.query.json +3 -0
  8. package/build/routes/chrome/http/function.post.query.json +3 -0
  9. package/build/routes/chrome/http/pdf.post.query.json +3 -0
  10. package/build/routes/chrome/http/performance.post.query.json +3 -0
  11. package/build/routes/chrome/http/scrape.post.query.json +3 -0
  12. package/build/routes/chrome/http/screenshot.post.query.json +3 -0
  13. package/build/routes/chrome/tests/content.spec.js +21 -0
  14. package/build/routes/chrome/tests/json.spec.js +100 -0
  15. package/build/routes/chrome/tests/kill-sessions.spec.js +0 -11
  16. package/build/routes/chrome/ws/browser.query.json +3 -0
  17. package/build/routes/chrome/ws/cdp.query.json +3 -0
  18. package/build/routes/chrome/ws/function-connect.d.ts +7 -0
  19. package/build/routes/chrome/ws/function-connect.js +6 -0
  20. package/build/routes/chrome/ws/function-connect.query.json +123 -0
  21. package/build/routes/chrome/ws/page.query.json +3 -0
  22. package/build/routes/chromium/http/content.post.query.json +3 -0
  23. package/build/routes/chromium/http/download.post.query.json +3 -0
  24. package/build/routes/chromium/http/function.post.query.json +3 -0
  25. package/build/routes/chromium/http/pdf.post.query.json +3 -0
  26. package/build/routes/chromium/http/performance.post.query.json +3 -0
  27. package/build/routes/chromium/http/scrape.post.query.json +3 -0
  28. package/build/routes/chromium/http/screenshot.post.query.json +3 -0
  29. package/build/routes/chromium/tests/content.spec.js +21 -0
  30. package/build/routes/chromium/tests/function.spec.js +27 -0
  31. package/build/routes/chromium/tests/json.spec.js +100 -0
  32. package/build/routes/chromium/ws/browser.query.json +3 -0
  33. package/build/routes/chromium/ws/cdp.query.json +3 -0
  34. package/build/routes/chromium/ws/function-connect.d.ts +1 -0
  35. package/build/routes/chromium/ws/function-connect.js +1 -0
  36. package/build/routes/chromium/ws/function-connect.query.json +123 -0
  37. package/build/routes/chromium/ws/page.query.json +3 -0
  38. package/build/routes/edge/http/content.post.query.json +3 -0
  39. package/build/routes/edge/http/download.post.query.json +3 -0
  40. package/build/routes/edge/http/function.post.query.json +3 -0
  41. package/build/routes/edge/http/pdf.post.query.json +3 -0
  42. package/build/routes/edge/http/performance.post.query.json +3 -0
  43. package/build/routes/edge/http/scrape.post.query.json +3 -0
  44. package/build/routes/edge/http/screenshot.post.query.json +3 -0
  45. package/build/routes/edge/tests/content.spec.js +21 -0
  46. package/build/routes/edge/tests/json.spec.js +100 -0
  47. package/build/routes/edge/ws/browser.query.json +3 -0
  48. package/build/routes/edge/ws/cdp.query.json +3 -0
  49. package/build/routes/edge/ws/function-connect.d.ts +7 -0
  50. package/build/routes/edge/ws/function-connect.js +6 -0
  51. package/build/routes/edge/ws/function-connect.query.json +123 -0
  52. package/build/routes/edge/ws/page.query.json +3 -0
  53. package/build/routes/management/http/kill.get.query.json +3 -0
  54. package/build/routes/management/http/sessions.get.query.json +3 -0
  55. package/build/routes/management/tests/management.spec.js +44 -0
  56. package/build/sdk-utils.js +1 -1
  57. package/build/server.js +1 -1
  58. package/build/shared/function-connect.ws.d.ts +15 -0
  59. package/build/shared/function-connect.ws.js +13 -0
  60. package/build/shared/utils/function/handler.js +6 -4
  61. package/build/shim.js +11 -1
  62. package/build/shim.spec.js +14 -0
  63. package/build/types.d.ts +8 -0
  64. package/build/types.js +3 -0
  65. package/extensions/ublocklite/_locales/ar/messages.json +60 -24
  66. package/extensions/ublocklite/_locales/az/messages.json +36 -0
  67. package/extensions/ublocklite/_locales/be/messages.json +36 -0
  68. package/extensions/ublocklite/_locales/bg/messages.json +36 -0
  69. package/extensions/ublocklite/_locales/bn/messages.json +36 -0
  70. package/extensions/ublocklite/_locales/br_FR/messages.json +36 -0
  71. package/extensions/ublocklite/_locales/bs/messages.json +36 -0
  72. package/extensions/ublocklite/_locales/ca/messages.json +36 -0
  73. package/extensions/ublocklite/_locales/cs/messages.json +36 -0
  74. package/extensions/ublocklite/_locales/cv/messages.json +36 -0
  75. package/extensions/ublocklite/_locales/cy/messages.json +40 -4
  76. package/extensions/ublocklite/_locales/da/messages.json +39 -3
  77. package/extensions/ublocklite/_locales/de/messages.json +36 -0
  78. package/extensions/ublocklite/_locales/el/messages.json +36 -0
  79. package/extensions/ublocklite/_locales/en/messages.json +36 -0
  80. package/extensions/ublocklite/_locales/en_GB/messages.json +36 -0
  81. package/extensions/ublocklite/_locales/eo/messages.json +36 -0
  82. package/extensions/ublocklite/_locales/es/messages.json +36 -0
  83. package/extensions/ublocklite/_locales/et/messages.json +36 -0
  84. package/extensions/ublocklite/_locales/eu/messages.json +36 -0
  85. package/extensions/ublocklite/_locales/fa/messages.json +36 -0
  86. package/extensions/ublocklite/_locales/fi/messages.json +37 -1
  87. package/extensions/ublocklite/_locales/fil/messages.json +36 -0
  88. package/extensions/ublocklite/_locales/fr/messages.json +36 -0
  89. package/extensions/ublocklite/_locales/fy/messages.json +37 -1
  90. package/extensions/ublocklite/_locales/gl/messages.json +37 -1
  91. package/extensions/ublocklite/_locales/gu/messages.json +36 -0
  92. package/extensions/ublocklite/_locales/he/messages.json +36 -0
  93. package/extensions/ublocklite/_locales/hi/messages.json +36 -0
  94. package/extensions/ublocklite/_locales/hr/messages.json +36 -0
  95. package/extensions/ublocklite/_locales/hu/messages.json +36 -0
  96. package/extensions/ublocklite/_locales/hy/messages.json +36 -0
  97. package/extensions/ublocklite/_locales/id/messages.json +36 -0
  98. package/extensions/ublocklite/_locales/it/messages.json +36 -0
  99. package/extensions/ublocklite/_locales/ja/messages.json +36 -0
  100. package/extensions/ublocklite/_locales/ka/messages.json +36 -0
  101. package/extensions/ublocklite/_locales/kk/messages.json +36 -0
  102. package/extensions/ublocklite/_locales/kn/messages.json +36 -0
  103. package/extensions/ublocklite/_locales/ko/messages.json +36 -0
  104. package/extensions/ublocklite/_locales/lt/messages.json +36 -0
  105. package/extensions/ublocklite/_locales/lv/messages.json +36 -0
  106. package/extensions/ublocklite/_locales/mk/messages.json +36 -0
  107. package/extensions/ublocklite/_locales/ml/messages.json +36 -0
  108. package/extensions/ublocklite/_locales/mr/messages.json +36 -0
  109. package/extensions/ublocklite/_locales/ms/messages.json +36 -0
  110. package/extensions/ublocklite/_locales/nb/messages.json +53 -17
  111. package/extensions/ublocklite/_locales/nl/messages.json +36 -0
  112. package/extensions/ublocklite/_locales/oc/messages.json +36 -0
  113. package/extensions/ublocklite/_locales/pa/messages.json +36 -0
  114. package/extensions/ublocklite/_locales/pl/messages.json +36 -0
  115. package/extensions/ublocklite/_locales/pt_BR/messages.json +36 -0
  116. package/extensions/ublocklite/_locales/pt_PT/messages.json +36 -0
  117. package/extensions/ublocklite/_locales/ro/messages.json +36 -0
  118. package/extensions/ublocklite/_locales/ru/messages.json +36 -0
  119. package/extensions/ublocklite/_locales/si/messages.json +36 -0
  120. package/extensions/ublocklite/_locales/sk/messages.json +36 -0
  121. package/extensions/ublocklite/_locales/sl/messages.json +36 -0
  122. package/extensions/ublocklite/_locales/so/messages.json +36 -0
  123. package/extensions/ublocklite/_locales/sq/messages.json +36 -0
  124. package/extensions/ublocklite/_locales/sr/messages.json +36 -0
  125. package/extensions/ublocklite/_locales/sv/messages.json +36 -0
  126. package/extensions/ublocklite/_locales/sw/messages.json +36 -0
  127. package/extensions/ublocklite/_locales/ta/messages.json +36 -0
  128. package/extensions/ublocklite/_locales/te/messages.json +36 -0
  129. package/extensions/ublocklite/_locales/th/messages.json +36 -0
  130. package/extensions/ublocklite/_locales/tr/messages.json +36 -0
  131. package/extensions/ublocklite/_locales/uk/messages.json +36 -0
  132. package/extensions/ublocklite/_locales/ur/messages.json +36 -0
  133. package/extensions/ublocklite/_locales/vi/messages.json +36 -0
  134. package/extensions/ublocklite/_locales/zh_CN/messages.json +36 -0
  135. package/extensions/ublocklite/_locales/zh_TW/messages.json +36 -0
  136. package/extensions/ublocklite/css/dashboard-common.css +0 -1
  137. package/extensions/ublocklite/css/dashboard.css +8 -0
  138. package/extensions/ublocklite/css/settings.css +107 -1
  139. package/extensions/ublocklite/css/unpicker-ui.css +1 -0
  140. package/extensions/ublocklite/dashboard.html +48 -11
  141. package/extensions/ublocklite/js/background.js +57 -39
  142. package/extensions/ublocklite/js/backup-restore.js +153 -0
  143. package/extensions/ublocklite/js/config.js +2 -0
  144. package/extensions/ublocklite/js/dashboard.js +23 -5
  145. package/extensions/ublocklite/js/develop.js +2 -11
  146. package/extensions/ublocklite/js/dom.js +10 -0
  147. package/extensions/ublocklite/js/filter-lists.js +5 -5
  148. package/extensions/ublocklite/js/filter-manager-ui.js +486 -0
  149. package/extensions/ublocklite/js/filter-manager.js +85 -53
  150. package/extensions/ublocklite/js/jsonpath.js +25 -10
  151. package/extensions/ublocklite/js/mode-manager.js +8 -1
  152. package/extensions/ublocklite/js/picker-ui.js +2 -2
  153. package/extensions/ublocklite/js/popup.js +20 -20
  154. package/extensions/ublocklite/js/report.js +2 -4
  155. package/extensions/ublocklite/js/ro-dnr-editor.js +9 -5
  156. package/extensions/ublocklite/js/ruleset-manager.js +13 -8
  157. package/extensions/ublocklite/js/scripting/unpicker.js +3 -3
  158. package/extensions/ublocklite/js/settings.js +51 -0
  159. package/extensions/ublocklite/js/static-filtering-parser.js +4 -4
  160. package/extensions/ublocklite/js/troubleshooting.js +30 -18
  161. package/extensions/ublocklite/js/unpicker-ui.js +5 -5
  162. package/extensions/ublocklite/js/utils.js +14 -0
  163. package/extensions/ublocklite/manifest.json +3 -3
  164. package/extensions/ublocklite/rulesets/generic-details.json +2 -3
  165. package/extensions/ublocklite/rulesets/main/adguard-mobile.json +3 -2
  166. package/extensions/ublocklite/rulesets/main/adguard-spyware-url.json +6 -5
  167. package/extensions/ublocklite/rulesets/main/annoyances-cookies.json +16 -6
  168. package/extensions/ublocklite/rulesets/main/annoyances-notifications.json +3 -1
  169. package/extensions/ublocklite/rulesets/main/annoyances-others.json +4 -3
  170. package/extensions/ublocklite/rulesets/main/annoyances-overlays.json +4 -3
  171. package/extensions/ublocklite/rulesets/main/annoyances-widgets.json +5 -2
  172. package/extensions/ublocklite/rulesets/main/block-lan.json +3 -1
  173. package/extensions/ublocklite/rulesets/main/chn-0.json +28 -17
  174. package/extensions/ublocklite/rulesets/main/deu-0.json +2 -9
  175. package/extensions/ublocklite/rulesets/main/easylist.json +31 -73
  176. package/extensions/ublocklite/rulesets/main/easyprivacy.json +99 -27
  177. package/extensions/ublocklite/rulesets/main/fin-0.json +5 -2
  178. package/extensions/ublocklite/rulesets/main/fra-0.json +1 -1
  179. package/extensions/ublocklite/rulesets/main/hun-0.json +3 -2
  180. package/extensions/ublocklite/rulesets/main/idn-0.json +22 -8
  181. package/extensions/ublocklite/rulesets/main/ind-0.json +62 -43
  182. package/extensions/ublocklite/rulesets/main/irn-0.json +5 -4
  183. package/extensions/ublocklite/rulesets/main/isr-0.json +2 -3
  184. package/extensions/ublocklite/rulesets/main/ita-0.json +11 -2
  185. package/extensions/ublocklite/rulesets/main/jpn-1.json +54 -38
  186. package/extensions/ublocklite/rulesets/main/kor-1.json +6 -3
  187. package/extensions/ublocklite/rulesets/main/nld-0.json +4 -1
  188. package/extensions/ublocklite/rulesets/main/nor-0.json +2 -2
  189. package/extensions/ublocklite/rulesets/main/pgl.json +30 -6
  190. package/extensions/ublocklite/rulesets/main/pol-0.json +1 -1
  191. package/extensions/ublocklite/rulesets/main/rou-1.json +4 -2
  192. package/extensions/ublocklite/rulesets/main/rus-0.json +18 -11
  193. package/extensions/ublocklite/rulesets/main/rus-1.json +5 -4
  194. package/extensions/ublocklite/rulesets/main/spa-1.json +12 -6
  195. package/extensions/ublocklite/rulesets/main/stevenblack-hosts.json +10500 -90447
  196. package/extensions/ublocklite/rulesets/main/swe-1.json +39 -30
  197. package/extensions/ublocklite/rulesets/main/tur-0.json +12 -9
  198. package/extensions/ublocklite/rulesets/main/ublock-badware.json +39 -13
  199. package/extensions/ublocklite/rulesets/main/ublock-filters.json +77 -50
  200. package/extensions/ublocklite/rulesets/main/ubol-tests.json +28 -0
  201. package/extensions/ublocklite/rulesets/main/ukr-0.json +2 -2
  202. package/extensions/ublocklite/rulesets/main/urlhaus-full.json +2103 -582
  203. package/extensions/ublocklite/rulesets/main/vie-1.json +54 -52
  204. package/extensions/ublocklite/rulesets/regex/chn-0.json +2 -2
  205. package/extensions/ublocklite/rulesets/regex/easylist.json +1 -6
  206. package/extensions/ublocklite/rulesets/regex/jpn-1.json +1 -2
  207. package/extensions/ublocklite/rulesets/regex/swe-1.json +0 -1
  208. package/extensions/ublocklite/rulesets/regex/ublock-badware.json +8 -3
  209. package/extensions/ublocklite/rulesets/regex/ublock-filters.json +24 -16
  210. package/extensions/ublocklite/rulesets/ruleset-details.json +220 -220
  211. package/extensions/ublocklite/rulesets/scripting/generic/annoyances-cookies.js +3 -3
  212. package/extensions/ublocklite/rulesets/scripting/generic/annoyances-notifications.js +1 -1
  213. package/extensions/ublocklite/rulesets/scripting/generic/annoyances-others.js +3 -3
  214. package/extensions/ublocklite/rulesets/scripting/generic/annoyances-social.js +3 -3
  215. package/extensions/ublocklite/rulesets/scripting/generic/chn-0.js +2 -2
  216. package/extensions/ublocklite/rulesets/scripting/generic/easylist.js +3 -3
  217. package/extensions/ublocklite/rulesets/scripting/generic/ita-0.js +1 -1
  218. package/extensions/ublocklite/rulesets/scripting/generic/jpn-1.js +1 -1
  219. package/extensions/ublocklite/rulesets/scripting/generic/rus-1.js +2 -2
  220. package/extensions/ublocklite/rulesets/scripting/generic/swe-1.js +1 -1
  221. package/extensions/ublocklite/rulesets/scripting/generic/ublock-filters.js +3 -3
  222. package/extensions/ublocklite/rulesets/scripting/generichigh/easylist.css +2 -1
  223. package/extensions/ublocklite/rulesets/scripting/generichigh/idn-0.css +3 -0
  224. package/extensions/ublocklite/rulesets/scripting/generichigh/jpn-1.css +1 -0
  225. package/extensions/ublocklite/rulesets/scripting/generichigh/ublock-filters.css +9 -1
  226. package/extensions/ublocklite/rulesets/scripting/procedural/adguard-mobile.js +3 -3
  227. package/extensions/ublocklite/rulesets/scripting/procedural/annoyances-cookies.js +3 -3
  228. package/extensions/ublocklite/rulesets/scripting/procedural/annoyances-others.js +2 -2
  229. package/extensions/ublocklite/rulesets/scripting/procedural/annoyances-overlays.js +3 -3
  230. package/extensions/ublocklite/rulesets/scripting/procedural/annoyances-social.js +3 -3
  231. package/extensions/ublocklite/rulesets/scripting/procedural/chn-0.js +3 -3
  232. package/extensions/ublocklite/rulesets/scripting/procedural/deu-0.js +3 -3
  233. package/extensions/ublocklite/rulesets/scripting/procedural/easylist.js +3 -3
  234. package/extensions/ublocklite/rulesets/scripting/procedural/fin-0.js +3 -3
  235. package/extensions/ublocklite/rulesets/scripting/procedural/grc-0.js +3 -3
  236. package/extensions/ublocklite/rulesets/scripting/procedural/ind-0.js +3 -3
  237. package/extensions/ublocklite/rulesets/scripting/procedural/irn-0.js +3 -3
  238. package/extensions/ublocklite/rulesets/scripting/procedural/jpn-1.js +3 -3
  239. package/extensions/ublocklite/rulesets/scripting/procedural/kor-1.js +3 -3
  240. package/extensions/ublocklite/rulesets/scripting/procedural/ltu-0.js +1 -1
  241. package/extensions/ublocklite/rulesets/scripting/procedural/rou-1.js +3 -3
  242. package/extensions/ublocklite/rulesets/scripting/procedural/rus-0.js +3 -3
  243. package/extensions/ublocklite/rulesets/scripting/procedural/rus-1.js +1 -1
  244. package/extensions/ublocklite/rulesets/scripting/procedural/spa-1.js +3 -3
  245. package/extensions/ublocklite/rulesets/scripting/procedural/swe-1.js +3 -3
  246. package/extensions/ublocklite/rulesets/scripting/procedural/tur-0.js +3 -3
  247. package/extensions/ublocklite/rulesets/scripting/procedural/ublock-filters.js +3 -3
  248. package/extensions/ublocklite/rulesets/scripting/procedural/vie-1.js +3 -3
  249. package/extensions/ublocklite/rulesets/scripting/scriptlet/adguard-mobile.abort-current-script.js +2 -2
  250. package/extensions/ublocklite/rulesets/scripting/scriptlet/adguard-mobile.addEventListener-defuser.js +7 -3
  251. package/extensions/ublocklite/rulesets/scripting/scriptlet/adguard-mobile.adjust-setTimeout.js +332 -0
  252. package/extensions/ublocklite/rulesets/scripting/scriptlet/adguard-mobile.json-prune-fetch-response.js +588 -0
  253. package/extensions/ublocklite/rulesets/scripting/scriptlet/adguard-mobile.json-prune-xhr-response.js +597 -0
  254. package/extensions/ublocklite/rulesets/scripting/scriptlet/adguard-mobile.prevent-setTimeout.js +5 -1
  255. package/extensions/ublocklite/rulesets/scripting/scriptlet/adguard-mobile.remove-cookie.js +376 -0
  256. package/extensions/ublocklite/rulesets/scripting/scriptlet/adguard-mobile.set-constant.js +2 -2
  257. package/extensions/ublocklite/rulesets/scripting/scriptlet/adguard-mobile.set-cookie-reload.js +1 -1
  258. package/extensions/ublocklite/rulesets/scripting/scriptlet/adguard-mobile.xml-prune.js +443 -0
  259. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.addEventListener-defuser.js +5 -1
  260. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.prevent-requestAnimationFrame.js +6 -2
  261. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.prevent-setTimeout.js +5 -1
  262. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.set-cookie-reload.js +2 -2
  263. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.set-cookie.js +2 -2
  264. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.set-local-storage-item.js +2 -2
  265. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.trusted-click-element.js +88 -77
  266. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.trusted-set-cookie-reload.js +2 -2
  267. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.trusted-set-cookie.js +2 -2
  268. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.trusted-set-local-storage-item.js +2 -2
  269. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-notifications.addEventListener-defuser.js +5 -1
  270. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-others.addEventListener-defuser.js +5 -1
  271. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-others.json-prune.js +2 -2
  272. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-others.prevent-setInterval.js +5 -1
  273. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-others.prevent-setTimeout.js +5 -1
  274. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-others.set-local-storage-item.js +2 -2
  275. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-others.set-session-storage-item.js +2 -2
  276. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.abort-current-script.js +2 -2
  277. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.addEventListener-defuser.js +5 -1
  278. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.noeval-if.js +5 -1
  279. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.prevent-fetch.js +5 -1
  280. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.prevent-setInterval.js +5 -1
  281. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.prevent-setTimeout.js +7 -3
  282. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.prevent-window-open.js +5 -1
  283. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.remove-class.js +2 -2
  284. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.set-constant.js +1 -1
  285. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.trusted-click-element.js +88 -77
  286. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.trusted-replace-argument.js +5 -1
  287. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.trusted-replace-outbound-text.js +5 -1
  288. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.trusted-set-local-storage-item.js +2 -2
  289. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.trusted-suppress-native-method.js +5 -1
  290. package/extensions/ublocklite/rulesets/scripting/scriptlet/chn-0.addEventListener-defuser.js +6 -2
  291. package/extensions/ublocklite/rulesets/scripting/scriptlet/chn-0.evaldata-prune.js +5 -1
  292. package/extensions/ublocklite/rulesets/scripting/scriptlet/chn-0.noeval-if.js +5 -1
  293. package/extensions/ublocklite/rulesets/scripting/scriptlet/chn-0.prevent-fetch.js +6 -2
  294. package/extensions/ublocklite/rulesets/scripting/scriptlet/chn-0.prevent-setInterval.js +5 -1
  295. package/extensions/ublocklite/rulesets/scripting/scriptlet/chn-0.prevent-setTimeout.js +5 -1
  296. package/extensions/ublocklite/rulesets/scripting/scriptlet/chn-0.prevent-window-open.js +5 -1
  297. package/extensions/ublocklite/rulesets/scripting/scriptlet/cze-0.addEventListener-defuser.js +5 -1
  298. package/extensions/ublocklite/rulesets/scripting/scriptlet/cze-0.prevent-setInterval.js +5 -1
  299. package/extensions/ublocklite/rulesets/scripting/scriptlet/cze-0.prevent-setTimeout.js +5 -1
  300. package/extensions/ublocklite/rulesets/scripting/scriptlet/easyprivacy.prevent-fetch.js +5 -1
  301. package/extensions/ublocklite/rulesets/scripting/scriptlet/easyprivacy.set-constant.js +1 -1
  302. package/extensions/ublocklite/rulesets/scripting/scriptlet/est-0.addEventListener-defuser.js +5 -1
  303. package/extensions/ublocklite/rulesets/scripting/scriptlet/fin-0.prevent-setTimeout.js +5 -1
  304. package/extensions/ublocklite/rulesets/scripting/scriptlet/fin-0.remove-node-text.js +449 -0
  305. package/extensions/ublocklite/rulesets/scripting/scriptlet/fin-0.spoof-css.js +422 -0
  306. package/extensions/ublocklite/rulesets/scripting/scriptlet/fra-0.addEventListener-defuser.js +5 -1
  307. package/extensions/ublocklite/rulesets/scripting/scriptlet/fra-0.prevent-fetch.js +5 -1
  308. package/extensions/ublocklite/rulesets/scripting/scriptlet/fra-0.prevent-requestAnimationFrame.js +5 -1
  309. package/extensions/ublocklite/rulesets/scripting/scriptlet/fra-0.prevent-setInterval.js +5 -1
  310. package/extensions/ublocklite/rulesets/scripting/scriptlet/fra-0.prevent-setTimeout.js +5 -1
  311. package/extensions/ublocklite/rulesets/scripting/scriptlet/fra-0.prevent-window-open.js +5 -1
  312. package/extensions/ublocklite/rulesets/scripting/scriptlet/hun-0.addEventListener-defuser.js +5 -1
  313. package/extensions/ublocklite/rulesets/scripting/scriptlet/hun-0.prevent-setTimeout.js +5 -1
  314. package/extensions/ublocklite/rulesets/scripting/scriptlet/hun-0.prevent-window-open.js +5 -1
  315. package/extensions/ublocklite/rulesets/scripting/scriptlet/idn-0.addEventListener-defuser.js +5 -1
  316. package/extensions/ublocklite/rulesets/scripting/scriptlet/idn-0.noeval-if.js +5 -1
  317. package/extensions/ublocklite/rulesets/scripting/scriptlet/idn-0.prevent-fetch.js +5 -1
  318. package/extensions/ublocklite/rulesets/scripting/scriptlet/idn-0.prevent-setTimeout.js +5 -1
  319. package/extensions/ublocklite/rulesets/scripting/scriptlet/idn-0.prevent-window-open.js +7 -3
  320. package/extensions/ublocklite/rulesets/scripting/scriptlet/irn-0.addEventListener-defuser.js +5 -1
  321. package/extensions/ublocklite/rulesets/scripting/scriptlet/irn-0.href-sanitizer.js +2 -2
  322. package/extensions/ublocklite/rulesets/scripting/scriptlet/irn-0.prevent-fetch.js +5 -1
  323. package/extensions/ublocklite/rulesets/scripting/scriptlet/irn-0.prevent-setTimeout.js +5 -1
  324. package/extensions/ublocklite/rulesets/scripting/scriptlet/irn-0.prevent-window-open.js +5 -1
  325. package/extensions/ublocklite/rulesets/scripting/scriptlet/isr-0.addEventListener-defuser.js +5 -1
  326. package/extensions/ublocklite/rulesets/scripting/scriptlet/isr-0.prevent-fetch.js +5 -1
  327. package/extensions/ublocklite/rulesets/scripting/scriptlet/isr-0.prevent-setTimeout.js +5 -1
  328. package/extensions/ublocklite/rulesets/scripting/scriptlet/isr-0.prevent-window-open.js +5 -1
  329. package/extensions/ublocklite/rulesets/scripting/scriptlet/jpn-1.abort-current-script.js +1 -1
  330. package/extensions/ublocklite/rulesets/scripting/scriptlet/jpn-1.addEventListener-defuser.js +6 -2
  331. package/extensions/ublocklite/rulesets/scripting/scriptlet/jpn-1.href-sanitizer.js +2 -2
  332. package/extensions/ublocklite/rulesets/scripting/scriptlet/jpn-1.json-prune.js +2 -2
  333. package/extensions/ublocklite/rulesets/scripting/scriptlet/jpn-1.noeval-if.js +5 -1
  334. package/extensions/ublocklite/rulesets/scripting/scriptlet/jpn-1.prevent-fetch.js +7 -3
  335. package/extensions/ublocklite/rulesets/scripting/scriptlet/jpn-1.prevent-setInterval.js +5 -1
  336. package/extensions/ublocklite/rulesets/scripting/scriptlet/jpn-1.prevent-setTimeout.js +5 -1
  337. package/extensions/ublocklite/rulesets/scripting/scriptlet/jpn-1.prevent-window-open.js +5 -1
  338. package/extensions/ublocklite/rulesets/scripting/scriptlet/kor-1.abort-current-script.js +2 -2
  339. package/extensions/ublocklite/rulesets/scripting/scriptlet/kor-1.addEventListener-defuser.js +5 -1
  340. package/extensions/ublocklite/rulesets/scripting/scriptlet/kor-1.json-prune-xhr-response.js +2 -2
  341. package/extensions/ublocklite/rulesets/scripting/scriptlet/kor-1.prevent-fetch.js +7 -3
  342. package/extensions/ublocklite/rulesets/scripting/scriptlet/kor-1.prevent-setInterval.js +5 -1
  343. package/extensions/ublocklite/rulesets/scripting/scriptlet/kor-1.prevent-setTimeout.js +5 -1
  344. package/extensions/ublocklite/rulesets/scripting/scriptlet/kor-1.prevent-window-open.js +475 -0
  345. package/extensions/ublocklite/rulesets/scripting/scriptlet/kor-1.prevent-xhr.js +2 -2
  346. package/extensions/ublocklite/rulesets/scripting/scriptlet/kor-1.remove-cookie.js +376 -0
  347. package/extensions/ublocklite/rulesets/scripting/scriptlet/ltu-0.prevent-setTimeout.js +5 -1
  348. package/extensions/ublocklite/rulesets/scripting/scriptlet/ltu-0.prevent-window-open.js +5 -1
  349. package/extensions/ublocklite/rulesets/scripting/scriptlet/nld-0.addEventListener-defuser.js +5 -1
  350. package/extensions/ublocklite/rulesets/scripting/scriptlet/nld-0.prevent-fetch.js +5 -1
  351. package/extensions/ublocklite/rulesets/scripting/scriptlet/nld-0.prevent-setTimeout.js +5 -1
  352. package/extensions/ublocklite/rulesets/scripting/scriptlet/nor-0.addEventListener-defuser.js +5 -1
  353. package/extensions/ublocklite/rulesets/scripting/scriptlet/nor-0.prevent-fetch.js +5 -1
  354. package/extensions/ublocklite/rulesets/scripting/scriptlet/nor-0.prevent-setTimeout.js +5 -1
  355. package/extensions/ublocklite/rulesets/scripting/scriptlet/pol-0.addEventListener-defuser.js +5 -1
  356. package/extensions/ublocklite/rulesets/scripting/scriptlet/pol-0.noeval-if.js +5 -1
  357. package/extensions/ublocklite/rulesets/scripting/scriptlet/pol-0.prevent-setInterval.js +5 -1
  358. package/extensions/ublocklite/rulesets/scripting/scriptlet/pol-0.prevent-setTimeout.js +5 -1
  359. package/extensions/ublocklite/rulesets/scripting/scriptlet/pol-0.prevent-window-open.js +5 -1
  360. package/extensions/ublocklite/rulesets/scripting/scriptlet/rou-1.noeval-if.js +5 -1
  361. package/extensions/ublocklite/rulesets/scripting/scriptlet/rou-1.prevent-setInterval.js +5 -1
  362. package/extensions/ublocklite/rulesets/scripting/scriptlet/rou-1.prevent-setTimeout.js +5 -1
  363. package/extensions/ublocklite/rulesets/scripting/scriptlet/rou-1.prevent-window-open.js +5 -1
  364. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.abort-on-property-read.js +1 -1
  365. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.abort-on-property-write.js +1 -1
  366. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.abort-on-stack-trace.js +2 -2
  367. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.addEventListener-defuser.js +8 -4
  368. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.close-window.js +3 -3
  369. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.href-sanitizer.js +1 -1
  370. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.json-prune-fetch-response.js +2 -2
  371. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.noeval-if.js +5 -1
  372. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.prevent-fetch.js +5 -1
  373. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.prevent-setInterval.js +5 -1
  374. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.prevent-setTimeout.js +7 -3
  375. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.prevent-window-open.js +5 -1
  376. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.remove-node-text.js +3 -3
  377. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.set-attr.js +2 -2
  378. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.set-constant.js +3 -3
  379. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-1.addEventListener-defuser.js +5 -1
  380. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-1.json-prune-xhr-response.js +597 -0
  381. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-1.prevent-fetch.js +5 -1
  382. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-1.prevent-setTimeout.js +5 -1
  383. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-1.set-constant.js +1 -1
  384. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.abort-current-script.js +2 -2
  385. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.addEventListener-defuser.js +5 -1
  386. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.json-prune.js +2 -2
  387. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.noeval-if.js +7 -3
  388. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.prevent-fetch.js +7 -3
  389. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.prevent-requestAnimationFrame.js +5 -1
  390. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.prevent-setInterval.js +5 -1
  391. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.prevent-setTimeout.js +5 -1
  392. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.prevent-window-open.js +6 -2
  393. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.set-constant.js +2 -2
  394. package/extensions/ublocklite/rulesets/scripting/scriptlet/swe-1.addEventListener-defuser.js +5 -1
  395. package/extensions/ublocklite/rulesets/scripting/scriptlet/swe-1.href-sanitizer.js +1 -1
  396. package/extensions/ublocklite/rulesets/scripting/scriptlet/swe-1.noeval-if.js +5 -1
  397. package/extensions/ublocklite/rulesets/scripting/scriptlet/swe-1.prevent-setInterval.js +5 -1
  398. package/extensions/ublocklite/rulesets/scripting/scriptlet/swe-1.prevent-setTimeout.js +7 -3
  399. package/extensions/ublocklite/rulesets/scripting/scriptlet/tur-0.abort-on-property-read.js +1 -1
  400. package/extensions/ublocklite/rulesets/scripting/scriptlet/tur-0.addEventListener-defuser.js +7 -3
  401. package/extensions/ublocklite/rulesets/scripting/scriptlet/tur-0.prevent-fetch.js +5 -1
  402. package/extensions/ublocklite/rulesets/scripting/scriptlet/tur-0.prevent-setInterval.js +5 -1
  403. package/extensions/ublocklite/rulesets/scripting/scriptlet/tur-0.prevent-setTimeout.js +7 -3
  404. package/extensions/ublocklite/rulesets/scripting/scriptlet/tur-0.prevent-window-open.js +6 -2
  405. package/extensions/ublocklite/rulesets/scripting/scriptlet/tur-0.remove-attr.js +2 -2
  406. package/extensions/ublocklite/rulesets/scripting/scriptlet/tur-0.set-constant.js +2 -2
  407. package/extensions/ublocklite/rulesets/scripting/scriptlet/tur-0.set-local-storage-item.js +2 -2
  408. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-badware.addEventListener-defuser.js +5 -1
  409. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-badware.noeval-if.js +5 -1
  410. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-badware.trusted-replace-argument.js +5 -1
  411. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-experimental.trusted-json-edit-xhr-request.js +848 -0
  412. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-experimental.trusted-replace-node-text.js +1 -1
  413. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.abort-current-script.js +3 -3
  414. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.abort-on-property-read.js +3 -3
  415. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.abort-on-property-write.js +2 -2
  416. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.abort-on-stack-trace.js +3 -3
  417. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.addEventListener-defuser.js +7 -3
  418. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.adjust-setInterval.js +1 -1
  419. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.adjust-setTimeout.js +1 -1
  420. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.href-sanitizer.js +2 -2
  421. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.json-edit-fetch-response.js +29 -11
  422. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.json-edit-xhr-response.js +24 -10
  423. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.json-edit.js +31 -13
  424. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.json-prune-fetch-response.js +2 -2
  425. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.json-prune-xhr-response.js +1 -1
  426. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.json-prune.js +2 -2
  427. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.jsonl-edit-xhr-response.js +26 -12
  428. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.noeval-if.js +6 -2
  429. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.prevent-fetch.js +7 -3
  430. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.prevent-requestAnimationFrame.js +8 -4
  431. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.prevent-setInterval.js +8 -4
  432. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.prevent-setTimeout.js +8 -4
  433. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.prevent-window-open.js +7 -3
  434. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.prevent-xhr.js +1 -1
  435. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.remove-cookie.js +2 -2
  436. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.remove-node-text.js +3 -3
  437. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.set-attr.js +2 -2
  438. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.set-constant.js +3 -3
  439. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.set-cookie.js +2 -2
  440. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.set-local-storage-item.js +2 -2
  441. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.set-session-storage-item.js +1 -1
  442. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.spoof-css.js +2 -2
  443. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-click-element.js +86 -75
  444. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-create-html.js +2 -2
  445. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-json-edit-fetch-request.js +941 -0
  446. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-json-edit-fetch-response.js +31 -13
  447. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-json-edit.js +869 -0
  448. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-override-element-method.js +5 -1
  449. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-prevent-dom-bypass.js +5 -1
  450. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-prevent-fetch.js +7 -3
  451. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-replace-argument.js +7 -3
  452. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-replace-node-text.js +3 -3
  453. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-replace-outbound-text.js +7 -3
  454. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-suppress-native-method.js +7 -3
  455. package/extensions/ublocklite/rulesets/scripting/scriptlet/ubol-tests.jsonl-edit-fetch-response.js +29 -11
  456. package/extensions/ublocklite/rulesets/scripting/scriptlet/ubol-tests.jsonl-edit-xhr-response.js +24 -10
  457. package/extensions/ublocklite/rulesets/scripting/scriptlet/ubol-tests.prevent-setTimeout.js +5 -1
  458. package/extensions/ublocklite/rulesets/scripting/scriptlet/ubol-tests.trusted-prevent-dom-bypass.js +5 -1
  459. package/extensions/ublocklite/rulesets/scripting/scriptlet/ukr-0.prevent-fetch.js +5 -1
  460. package/extensions/ublocklite/rulesets/scripting/scriptlet/ukr-0.prevent-window-open.js +5 -1
  461. package/extensions/ublocklite/rulesets/scripting/scriptlet/vie-1.abort-current-script.js +2 -2
  462. package/extensions/ublocklite/rulesets/scripting/scriptlet/vie-1.abort-on-property-read.js +2 -2
  463. package/extensions/ublocklite/rulesets/scripting/scriptlet/vie-1.addEventListener-defuser.js +5 -1
  464. package/extensions/ublocklite/rulesets/scripting/scriptlet/vie-1.prevent-fetch.js +5 -1
  465. package/extensions/ublocklite/rulesets/scripting/scriptlet/vie-1.prevent-setTimeout.js +5 -1
  466. package/extensions/ublocklite/rulesets/scripting/specific/adguard-mobile.js +3 -3
  467. package/extensions/ublocklite/rulesets/scripting/specific/annoyances-cookies.js +3 -3
  468. package/extensions/ublocklite/rulesets/scripting/specific/annoyances-notifications.js +3 -3
  469. package/extensions/ublocklite/rulesets/scripting/specific/annoyances-others.js +3 -3
  470. package/extensions/ublocklite/rulesets/scripting/specific/annoyances-overlays.js +3 -3
  471. package/extensions/ublocklite/rulesets/scripting/specific/annoyances-social.js +3 -3
  472. package/extensions/ublocklite/rulesets/scripting/specific/chn-0.js +3 -3
  473. package/extensions/ublocklite/rulesets/scripting/specific/deu-0.js +3 -3
  474. package/extensions/ublocklite/rulesets/scripting/specific/easylist.js +3 -3
  475. package/extensions/ublocklite/rulesets/scripting/specific/fin-0.js +3 -3
  476. package/extensions/ublocklite/rulesets/scripting/specific/fra-0.js +3 -3
  477. package/extensions/ublocklite/rulesets/scripting/specific/grc-0.js +3 -3
  478. package/extensions/ublocklite/rulesets/scripting/specific/idn-0.js +3 -3
  479. package/extensions/ublocklite/rulesets/scripting/specific/ind-0.js +3 -3
  480. package/extensions/ublocklite/rulesets/scripting/specific/irn-0.js +3 -3
  481. package/extensions/ublocklite/rulesets/scripting/specific/isr-0.js +3 -3
  482. package/extensions/ublocklite/rulesets/scripting/specific/ita-0.js +3 -3
  483. package/extensions/ublocklite/rulesets/scripting/specific/jpn-1.js +3 -3
  484. package/extensions/ublocklite/rulesets/scripting/specific/kor-1.js +3 -3
  485. package/extensions/ublocklite/rulesets/scripting/specific/ltu-0.js +3 -3
  486. package/extensions/ublocklite/rulesets/scripting/specific/nld-0.js +3 -3
  487. package/extensions/ublocklite/rulesets/scripting/specific/rou-1.js +3 -3
  488. package/extensions/ublocklite/rulesets/scripting/specific/rus-0.js +3 -3
  489. package/extensions/ublocklite/rulesets/scripting/specific/rus-1.js +3 -3
  490. package/extensions/ublocklite/rulesets/scripting/specific/spa-1.js +3 -3
  491. package/extensions/ublocklite/rulesets/scripting/specific/swe-1.js +3 -3
  492. package/extensions/ublocklite/rulesets/scripting/specific/tur-0.js +3 -3
  493. package/extensions/ublocklite/rulesets/scripting/specific/ublock-badware.js +1 -1
  494. package/extensions/ublocklite/rulesets/scripting/specific/ublock-filters.js +3 -3
  495. package/extensions/ublocklite/rulesets/scripting/specific/ukr-0.js +3 -3
  496. package/extensions/ublocklite/rulesets/scripting/specific/vie-1.js +3 -3
  497. package/extensions/ublocklite/rulesets/scriptlet-details.json +302 -143
  498. package/extensions/ublocklite/rulesets/strictblock/adguard-mobile.json +6 -0
  499. package/extensions/ublocklite/rulesets/strictblock/annoyances-others.json +1 -0
  500. package/extensions/ublocklite/rulesets/strictblock/chn-0.json +289 -2
  501. package/extensions/ublocklite/rulesets/strictblock/easylist.json +1 -1
  502. package/extensions/ublocklite/rulesets/strictblock/easyprivacy.json +79 -3
  503. package/extensions/ublocklite/rulesets/strictblock/idn-0.json +2 -0
  504. package/extensions/ublocklite/rulesets/strictblock/irn-0.json +4 -1
  505. package/extensions/ublocklite/rulesets/strictblock/isr-0.json +1 -0
  506. package/extensions/ublocklite/rulesets/strictblock/ita-0.json +1 -0
  507. package/extensions/ublocklite/rulesets/strictblock/jpn-1.json +205 -186
  508. package/extensions/ublocklite/rulesets/strictblock/nor-0.json +1 -1
  509. package/extensions/ublocklite/rulesets/strictblock/pgl.json +30 -6
  510. package/extensions/ublocklite/rulesets/strictblock/pol-0.json +4 -0
  511. package/extensions/ublocklite/rulesets/strictblock/rou-1.json +1 -0
  512. package/extensions/ublocklite/rulesets/strictblock/stevenblack-hosts.json +10500 -90447
  513. package/extensions/ublocklite/rulesets/strictblock/swe-1.json +0 -3
  514. package/extensions/ublocklite/rulesets/strictblock/ublock-badware.json +657 -650
  515. package/extensions/ublocklite/rulesets/strictblock/ublock-filters.json +23 -19
  516. package/extensions/ublocklite/rulesets/strictblock/ukr-0.json +3 -0
  517. package/extensions/ublocklite/rulesets/strictblock/urlhaus-full.json +2103 -582
  518. package/extensions/ublocklite/rulesets/strictblock/vie-1.json +0 -3
  519. package/extensions/ublocklite/rulesets/urlskip/ublock-filters.json +31 -1
  520. package/extensions/ublocklite/ublock.zip +0 -0
  521. package/extensions/ublocklite/web_accessible_resources/google-ima.js +14 -7
  522. package/package.json +15 -14
  523. package/scripts/install-debugger.js +2 -2
  524. package/src/browsers/index.ts +25 -4
  525. package/src/http.ts +3 -2
  526. package/src/routes/chrome/tests/content.spec.ts +24 -0
  527. package/src/routes/chrome/tests/json.spec.ts +134 -0
  528. package/src/routes/chrome/tests/kill-sessions.spec.ts +0 -10
  529. package/src/routes/chrome/ws/function-connect.ts +12 -0
  530. package/src/routes/chromium/tests/content.spec.ts +24 -0
  531. package/src/routes/chromium/tests/function.spec.ts +33 -0
  532. package/src/routes/chromium/tests/json.spec.ts +134 -0
  533. package/src/routes/chromium/tests/scrape.spec.ts +3 -1
  534. package/src/routes/chromium/ws/function-connect.ts +1 -0
  535. package/src/routes/edge/tests/content.spec.ts +24 -0
  536. package/src/routes/edge/tests/json.spec.ts +134 -0
  537. package/src/routes/edge/ws/function-connect.ts +12 -0
  538. package/src/routes/management/tests/management.spec.ts +66 -0
  539. package/src/sdk-utils.ts +1 -1
  540. package/src/server.ts +1 -1
  541. package/src/shared/function-connect.ws.ts +38 -0
  542. package/src/shared/screenshot.http.ts +1 -1
  543. package/src/shared/utils/function/handler.ts +11 -6
  544. package/src/shim.spec.ts +18 -0
  545. package/src/shim.ts +15 -1
  546. package/src/types.ts +6 -0
  547. package/static/docs/swagger.json +107 -2
  548. package/static/docs/swagger.min.json +106 -1
  549. package/static/function/client.js +99 -111
  550. package/static/function/index.html +99 -111
  551. package/build/routes/chrome/tests/json-version.spec.js +0 -37
  552. package/build/routes/chromium/tests/json-version.spec.js +0 -37
  553. package/build/routes/edge/tests/json-version.spec.js +0 -37
  554. package/src/routes/chrome/tests/json-version.spec.ts +0 -52
  555. package/src/routes/chromium/tests/json-version.spec.ts +0 -52
  556. package/src/routes/edge/tests/json-version.spec.ts +0 -52
  557. /package/build/routes/chrome/tests/{json-version.spec.d.ts → json.spec.d.ts} +0 -0
  558. /package/build/routes/chromium/tests/{json-version.spec.d.ts → json.spec.d.ts} +0 -0
  559. /package/build/routes/edge/tests/{json-version.spec.d.ts → json.spec.d.ts} +0 -0
@@ -95,6 +95,50 @@ describe('Management APIs', function () {
95
95
  expect(r.status).to.equal(404);
96
96
  });
97
97
  });
98
+ describe('Static Files Serving', () => {
99
+ it('serves docs pages', async () => {
100
+ await start();
101
+ await fetch('http://localhost:3000/docs/index.html?token=6R0W53R135510').then(async (res) => {
102
+ expect(res.status).to.equal(200);
103
+ expect(res.headers.get('content-type')).to.equal('text/html');
104
+ const content = await res.text();
105
+ expect(content).to.include('<title>Browserless Docs</title>');
106
+ });
107
+ await fetch('http://localhost:3000/docs/docs.js?token=6R0W53R135510').then(async (res) => {
108
+ expect(res.status).to.equal(200);
109
+ expect(res.headers.get('content-type')).to.equal('application/javascript');
110
+ const content = await res.text();
111
+ expect(content).to.be.an('string');
112
+ });
113
+ });
114
+ it('serves swagger.json', async () => {
115
+ await start();
116
+ await fetch('http://localhost:3000/docs/swagger.json?token=6R0W53R135510').then(async (res) => {
117
+ expect(res.status).to.equal(200);
118
+ expect(res.headers.get('content-type')).to.equal('application/json');
119
+ const content = await res.json();
120
+ expect(content).to.be.an('object');
121
+ });
122
+ });
123
+ it('returns 404 if debugger is disabled', async () => {
124
+ process.env.ENABLE_DEBUGGER = 'false';
125
+ const config = new Config();
126
+ config.setToken('6R0W53R135510');
127
+ // Ensure debugger is not available
128
+ await start({ config });
129
+ await fetch('http://localhost:3000/debugger/some-file.html?token=6R0W53R135510').then(async (res) => {
130
+ expect(res.status).to.equal(404);
131
+ expect(res.headers.get('content-type')).to.equal('text/plain; charset=UTF-8');
132
+ });
133
+ });
134
+ it('handles requests without authentication token for static files', async () => {
135
+ await start();
136
+ await fetch('http://localhost:3000/docs/index.html').then(async (res) => {
137
+ expect(res.status).to.equal(200);
138
+ expect(res.headers.get('content-type')).to.equal('text/html');
139
+ });
140
+ });
141
+ });
98
142
  it('allows requests to /config', async () => {
99
143
  await start();
100
144
  await fetch('http://localhost:3000/config?token=6R0W53R135510').then(async (res) => {
@@ -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 clean-install', workingDirectory);
84
+ await waitForCommand('npm install', workingDirectory);
85
85
  await installBrowsers(workingDirectory);
86
86
  };
87
87
  export const installBrowsers = async (workingDirectory) => {
package/build/server.js CHANGED
@@ -242,7 +242,7 @@ export class HTTPServer extends EventEmitter {
242
242
  }
243
243
  async shutdown() {
244
244
  this.logger.info(`HTTP Server is shutting down`);
245
- await new Promise((r) => this.server.close(r));
245
+ await new Promise((r) => this.server?.close(r));
246
246
  if (this.server) {
247
247
  this.server.removeAllListeners();
248
248
  }
@@ -0,0 +1,15 @@
1
+ import { APITags, BrowserWebsocketRoute, CDPLaunchOptions, ChromiumCDP, Logger, Request, SystemQueryParameters, WebsocketRoutes } from '@browserless.io/browserless';
2
+ import { Duplex } from 'stream';
3
+ export interface QuerySchema extends SystemQueryParameters {
4
+ launch?: CDPLaunchOptions | string;
5
+ }
6
+ export default class ChromiumFunctionConnectWebSocketRoute extends BrowserWebsocketRoute {
7
+ name: string;
8
+ auth: boolean;
9
+ concurrency: boolean;
10
+ browser: typeof ChromiumCDP;
11
+ description: string;
12
+ path: WebsocketRoutes;
13
+ tags: APITags[];
14
+ handler(req: Request, socket: Duplex, head: Buffer, _logger: Logger, browser: ChromiumCDP): Promise<void>;
15
+ }
@@ -0,0 +1,13 @@
1
+ import { APITags, BrowserWebsocketRoute, BrowserlessRoutes, ChromiumCDP, WebsocketRoutes, dedent, } from '@browserless.io/browserless';
2
+ export default class ChromiumFunctionConnectWebSocketRoute extends BrowserWebsocketRoute {
3
+ name = BrowserlessRoutes.ChromiumFunctionConnectWebSocketRoute;
4
+ auth = true;
5
+ concurrency = false;
6
+ browser = ChromiumCDP;
7
+ description = dedent(`Internally used by the POST /function API to connect the underlying client-side code to. Not intended for direct use but documented for completeness and to distinguish between other reconnect style calls.`);
8
+ path = WebsocketRoutes.functionClientConnect;
9
+ tags = [APITags.browserWS];
10
+ async handler(req, socket, head, _logger, browser) {
11
+ return browser.proxyWebSocket(req, socket, head);
12
+ }
13
+ }
@@ -1,4 +1,4 @@
1
- import { BadRequest, HTTPRoutes, ServerError, contentTypes, convertIfBase64, exists, getTokenFromRequest, id, makeExternalURL, mimeTypes, } from '@browserless.io/browserless';
1
+ import { BadRequest, HTTPRoutes, ServerError, contentTypes, convertIfBase64, exists, getTokenFromRequest, makeExternalURL, mimeTypes, } from '@browserless.io/browserless';
2
2
  import fs from 'fs';
3
3
  import path from 'path';
4
4
  export default (config, logger, options = {}) => async (req, browser) => {
@@ -15,11 +15,13 @@ export default (config, logger, options = {}) => async (req, browser) => {
15
15
  };
16
16
  const context = JSON.stringify(rawContext);
17
17
  const code = convertIfBase64(rawCode);
18
- const browserWSEndpoint = browser.publicWSEndpoint(getTokenFromRequest(req) ?? '');
19
- if (!browserWSEndpoint) {
18
+ const privateWSEndpoint = browser.wsEndpoint();
19
+ if (!privateWSEndpoint) {
20
20
  throw new ServerError(`No browser endpoint was found, is the browser running?`);
21
21
  }
22
- const functionCodeJS = `browserless-function-${id()}.js`;
22
+ const browserID = privateWSEndpoint.split('/').pop();
23
+ const browserWSEndpoint = makeExternalURL(config.getExternalWebSocketAddress(), 'function', 'connect', browserID, '?token=' + getTokenFromRequest(req));
24
+ const functionCodeJS = `browserless-function-${browserID}.js`;
23
25
  const page = (await browser.newPage());
24
26
  await page.setRequestInterception(true);
25
27
  /**
package/build/shim.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { convertIfBase64, safeParse, } from '@browserless.io/browserless';
2
- const shimParam = ['headless', 'stealth', 'ignoreDefaultArgs', 'slowMo'];
2
+ const shimParam = ['headless', 'stealth', 'ignoreDefaultArgs', 'slowMo', 'ignoreHTTPSErrors'];
3
3
  /**
4
4
  * Obfuscates the ?token parameter by shifting it to a header instead of a query-parameter.
5
5
  */
@@ -49,6 +49,16 @@ export function shimLegacyRequests(url) {
49
49
  launchParams.ignoreHTTPSErrors === undefined) {
50
50
  launchParams.ignoreHTTPSErrors = ignoreHTTPSErrors !== 'false';
51
51
  }
52
+ // When acceptInsecureCerts is set, ignoreHTTPSErrors is ignored
53
+ if (launchParams.acceptInsecureCerts !== undefined) {
54
+ launchParams.ignoreHTTPSErrors = undefined;
55
+ }
56
+ // When ignoreHTTPSErrors sent, convert it to acceptInsecureCerts
57
+ if (typeof ignoreHTTPSErrors !== 'undefined' &&
58
+ launchParams.acceptInsecureCerts === undefined) {
59
+ launchParams.acceptInsecureCerts = ignoreHTTPSErrors !== 'false';
60
+ launchParams.ignoreHTTPSErrors = undefined;
61
+ }
52
62
  if (typeof ignoreDefaultArgs !== 'undefined' &&
53
63
  launchParams.ignoreDefaultArgs === undefined) {
54
64
  const parsed = typeof ignoreDefaultArgs === 'string' && ignoreDefaultArgs.includes(',')
@@ -125,6 +125,20 @@ describe('Request Shimming', () => {
125
125
  expect(decodeURIComponent(shimmed.href)).to.equal(final);
126
126
  });
127
127
  });
128
+ describe('insecure certs', () => {
129
+ it('converts ignoreHTTPSErrors to acceptInsecureCerts', () => {
130
+ const url = 'wss://localhost?ignoreHTTPSErrors';
131
+ const final = 'wss://localhost/?launch={"acceptInsecureCerts":true}';
132
+ const shimmed = shimLegacyRequests(new URL(url));
133
+ expect(decodeURIComponent(shimmed.href)).to.equal(final);
134
+ });
135
+ it('acceptInsecureCerts takes precedence over ignoreHTTPSErrors', () => {
136
+ const url = 'wss://localhost?ignoreHTTPSErrors&launch={"acceptInsecureCerts":false}';
137
+ const final = 'wss://localhost/?launch={"acceptInsecureCerts":false}';
138
+ const shimmed = shimLegacyRequests(new URL(url));
139
+ expect(decodeURIComponent(shimmed.href)).to.equal(final);
140
+ });
141
+ });
128
142
  describe('token shimming', () => {
129
143
  it('converts token query parameters to an authorization header', () => {
130
144
  const url = 'wss://localhost?token=12345';
package/build/types.d.ts CHANGED
@@ -262,7 +262,9 @@ export interface CDPLaunchOptions extends BrowserlessLaunch {
262
262
  dumpio?: boolean;
263
263
  headless?: boolean | 'shell';
264
264
  ignoreDefaultArgs?: boolean | string[];
265
+ /** @deprecated use acceptInsecureCerts field instead */
265
266
  ignoreHTTPSErrors?: boolean;
267
+ acceptInsecureCerts?: boolean;
266
268
  slowMo?: number;
267
269
  stealth?: boolean;
268
270
  timeout?: number;
@@ -503,6 +505,7 @@ export declare const BrowserlessChromeRoutes: {
503
505
  ChromeCDPWebSocketRoute: string;
504
506
  ChromeContentPostRoute: string;
505
507
  ChromeDownloadPostRoute: string;
508
+ ChromeFunctionConnectWebSocketRoute: string;
506
509
  ChromeFunctionPostRoute: string;
507
510
  ChromeJSONListGetRoute: string;
508
511
  ChromeJSONNewPutRoute: string;
@@ -520,6 +523,7 @@ export declare const BrowserlessEdgeRoutes: {
520
523
  EdgeCDPWebSocketRoute: string;
521
524
  EdgeContentPostRoute: string;
522
525
  EdgeDownloadPostRoute: string;
526
+ EdgeFunctionConnectWebSocketRoute: string;
523
527
  EdgeFunctionPostRoute: string;
524
528
  EdgeJSONListGetRoute: string;
525
529
  EdgeJSONNewPutRoute: string;
@@ -537,6 +541,7 @@ export declare const BrowserlessChromiumRoutes: {
537
541
  ChromiumCDPWebSocketRoute: string;
538
542
  ChromiumContentPostRoute: string;
539
543
  ChromiumDownloadPostRoute: string;
544
+ ChromiumFunctionConnectWebSocketRoute: string;
540
545
  ChromiumFunctionPostRoute: string;
541
546
  ChromiumJSONListGetRoute: string;
542
547
  ChromiumJSONNewPutRoute: string;
@@ -582,6 +587,7 @@ export declare const BrowserlessRoutes: {
582
587
  EdgeCDPWebSocketRoute: string;
583
588
  EdgeContentPostRoute: string;
584
589
  EdgeDownloadPostRoute: string;
590
+ EdgeFunctionConnectWebSocketRoute: string;
585
591
  EdgeFunctionPostRoute: string;
586
592
  EdgeJSONListGetRoute: string;
587
593
  EdgeJSONNewPutRoute: string;
@@ -597,6 +603,7 @@ export declare const BrowserlessRoutes: {
597
603
  ChromiumCDPWebSocketRoute: string;
598
604
  ChromiumContentPostRoute: string;
599
605
  ChromiumDownloadPostRoute: string;
606
+ ChromiumFunctionConnectWebSocketRoute: string;
600
607
  ChromiumFunctionPostRoute: string;
601
608
  ChromiumJSONListGetRoute: string;
602
609
  ChromiumJSONNewPutRoute: string;
@@ -612,6 +619,7 @@ export declare const BrowserlessRoutes: {
612
619
  ChromeCDPWebSocketRoute: string;
613
620
  ChromeContentPostRoute: string;
614
621
  ChromeDownloadPostRoute: string;
622
+ ChromeFunctionConnectWebSocketRoute: string;
615
623
  ChromeFunctionPostRoute: string;
616
624
  ChromeJSONListGetRoute: string;
617
625
  ChromeJSONNewPutRoute: string;
package/build/types.js CHANGED
@@ -166,6 +166,7 @@ export const BrowserlessChromeRoutes = {
166
166
  ChromeCDPWebSocketRoute: 'ChromeCDPWebSocketRoute',
167
167
  ChromeContentPostRoute: 'ChromeContentPostRoute',
168
168
  ChromeDownloadPostRoute: 'ChromeDownloadPostRoute',
169
+ ChromeFunctionConnectWebSocketRoute: 'ChromeFunctionConnectWebSocketRoute',
169
170
  ChromeFunctionPostRoute: 'ChromeFunctionPostRoute',
170
171
  ChromeJSONListGetRoute: 'ChromeJSONListGetRoute',
171
172
  ChromeJSONNewPutRoute: 'ChromeJSONNewPutRoute',
@@ -183,6 +184,7 @@ export const BrowserlessEdgeRoutes = {
183
184
  EdgeCDPWebSocketRoute: 'EdgeCDPWebSocketRoute',
184
185
  EdgeContentPostRoute: 'EdgeContentPostRoute',
185
186
  EdgeDownloadPostRoute: 'EdgeDownloadPostRoute',
187
+ EdgeFunctionConnectWebSocketRoute: 'EdgeFunctionConnectWebSocketRoute',
186
188
  EdgeFunctionPostRoute: 'EdgeFunctionPostRoute',
187
189
  EdgeJSONListGetRoute: 'EdgeJSONListGetRoute',
188
190
  EdgeJSONNewPutRoute: 'EdgeJSONNewPutRoute',
@@ -200,6 +202,7 @@ export const BrowserlessChromiumRoutes = {
200
202
  ChromiumCDPWebSocketRoute: 'ChromiumCDPWebSocketRoute',
201
203
  ChromiumContentPostRoute: 'ChromiumContentPostRoute',
202
204
  ChromiumDownloadPostRoute: 'ChromiumDownloadPostRoute',
205
+ ChromiumFunctionConnectWebSocketRoute: 'ChromiumFunctionConnectWebSocketRoute',
203
206
  ChromiumFunctionPostRoute: 'ChromiumFunctionPostRoute',
204
207
  ChromiumJSONListGetRoute: 'ChromiumJSONListGetRoute',
205
208
  ChromiumJSONNewPutRoute: 'ChromiumJSONNewPutRoute',
@@ -4,11 +4,11 @@
4
4
  "description": "extension name."
5
5
  },
6
6
  "extShortDesc": {
7
- "message": "أداة لحظر المحتوى دون إذن. يحظر الإعلانات وأدوات التتبع وأدوات التعدين وغيرها فور التثبيت.",
7
+ "message": "أداة فعالة لحجب المحتوى. تحجب الإعلانات والمتتبعين والمعدنين وغير ذلك فور تثبيتها.",
8
8
  "description": "this will be in the Chrome web store: must be 132 characters or less"
9
9
  },
10
10
  "perRulesetStats": {
11
- "message": "{{ruleCount}} قواعد، محولة من {{filterCount}} مرشحات الشبكة",
11
+ "message": "{{ruleCount}} قواعد، محولة من {{filterCount}} فلاتر الشبكة",
12
12
  "description": "Appears aside each filter list in the _3rd-party filters_ pane"
13
13
  },
14
14
  "dashboardName": {
@@ -19,6 +19,10 @@
19
19
  "message": "الإعدادات",
20
20
  "description": "appears as tab name in dashboard"
21
21
  },
22
+ "customFiltersPageName": {
23
+ "message": "فلاتر مخصصة",
24
+ "description": "appears as tab name in dashboard"
25
+ },
22
26
  "developPageName": {
23
27
  "message": "تطوير",
24
28
  "description": "appears as tab name in dashboard. Inspired from 'Develop' menu in Safari, see https://developer.apple.com/documentation/safari-developer-tools/develop-menu"
@@ -68,7 +72,7 @@
68
72
  "description": "Header for a ruleset section in 'Filter lists pane'"
69
73
  },
70
74
  "3pGroupMalware": {
71
- "message": "نطاقات البرامج الضارة",
75
+ "message": "الحماية من البرامج الضارة، الأمان",
72
76
  "description": "Header for a ruleset section in 'Filter lists pane'"
73
77
  },
74
78
  "3pGroupAnnoyances": {
@@ -83,12 +87,20 @@
83
87
  "message": "المناطق واللغات",
84
88
  "description": "Header for a ruleset section in 'Filter lists pane'"
85
89
  },
90
+ "customFiltersImportExportLabel": {
91
+ "message": "استيراد / تصدير",
92
+ "description": "Text label heading the import/export area of custom filters"
93
+ },
94
+ "customFiltersImportTextareaPlaceholder": {
95
+ "message": "الصق هنا فلاتر تجميلية محددة لإضافتها",
96
+ "description": "Placeholder text which describes the purpose of the textarea widget"
97
+ },
86
98
  "aboutChangelog": {
87
99
  "message": "سجل التغييرات",
88
100
  "description": ""
89
101
  },
90
102
  "aboutCode": {
91
- "message": "شفرة المصدر (GPLv3)",
103
+ "message": "كود المصدر (GPLv3)",
92
104
  "description": "English: Source code (GPLv3)"
93
105
  },
94
106
  "aboutContributors": {
@@ -96,7 +108,7 @@
96
108
  "description": "English: Contributors"
97
109
  },
98
110
  "aboutSourceCode": {
99
- "message": "شيفرة المصدر",
111
+ "message": "كود المصدر",
100
112
  "description": "Link text to source code repo"
101
113
  },
102
114
  "aboutTranslations": {
@@ -104,7 +116,7 @@
104
116
  "description": "Link text to translations repo"
105
117
  },
106
118
  "aboutFilterLists": {
107
- "message": "قوائم التصفية",
119
+ "message": "قوائم الفلاتر",
108
120
  "description": "Link text to uBO's own filter lists repo"
109
121
  },
110
122
  "aboutDependencies": {
@@ -112,11 +124,11 @@
112
124
  "description": "Shown in the About pane"
113
125
  },
114
126
  "supportS6H": {
115
- "message": "الإبلاغ عن مشكلة في عوامل التصفية",
127
+ "message": "الإبلاغ عن مشكلة في الفلاتر",
116
128
  "description": "Header of 'Report a filter issue' section in Support pane"
117
129
  },
118
130
  "supportS3P1": {
119
- "message": "الإبلاغ عن مشكلات الفلترة الخاصة بمواقع الويب المحددة إلى<span data-url=\"https://github.com/uBlockOrigin/uAssets/issues?q=is%3Aissue\">uBlockOrigin/uAssets</code></span>متتبع المشكلة</span>يتطلب حساب GitHub</u>",
131
+ "message": "الإبلاغ عن مشكلات التصفية الخاصة بمواقع الويب المحددة إلى<span data-url=\"https://github.com/uBlockOrigin/uAssets/issues?q=is%3Aissue\">uBlockOrigin/uAssets</code></span>متتبع المشكلة</span>يتطلب حساب GitHub</u>",
120
132
  "description": "First paragraph of 'Filter issues' section in Support pane"
121
133
  },
122
134
  "supportS5H": {
@@ -132,11 +144,11 @@
132
144
  "description": "A clickable link in the filter issue reporter section"
133
145
  },
134
146
  "supportS6URL": {
135
- "message": "عنوان صفحة الويب",
147
+ "message": "عنوان صفحة الويب:",
136
148
  "description": "Label for the URL of the page"
137
149
  },
138
150
  "supportS6Select1": {
139
- "message": "صفحة الويب...",
151
+ "message": "صفحة الويب…",
140
152
  "description": "Label for widget to select type of issue"
141
153
  },
142
154
  "supportS6Select1Option0": {
@@ -148,7 +160,7 @@
148
160
  "description": "An entry in the widget used to select the type of issue"
149
161
  },
150
162
  "supportS6Select1Option2": {
151
- "message": "يحتوي على تراكبات أو إزعاجات أخرى.",
163
+ "message": "يحتوي على تراكبات أو إزعاجات أخرى",
152
164
  "description": "An entry in the widget used to select the type of issue"
153
165
  },
154
166
  "supportS6Select1Option3": {
@@ -160,15 +172,15 @@
160
172
  "description": "An entry in the widget used to select the type of issue"
161
173
  },
162
174
  "supportS6Select1Option5": {
163
- "message": "تعطل عند تفعيل uBO Lite.",
175
+ "message": "تعطل عند تفعيل uBO Lite",
164
176
  "description": "An entry in the widget used to select the type of issue"
165
177
  },
166
178
  "supportS6Select1Option6": {
167
- "message": "يفتح علامات تبويب أو نوافذ غير مرغوب فيها.",
179
+ "message": "يفتح علامات تبويب أو نوافذ غير مرغوب فيها",
168
180
  "description": "An entry in the widget used to select the type of issue"
169
181
  },
170
182
  "supportS6Select1Option7": {
171
- "message": "يؤدي إلى البرامج الضارة والإحتيال",
183
+ "message": "يؤدي إلى برامج ضارة وتصيد احتيالي",
172
184
  "description": "An entry in the widget used to select the type of issue"
173
185
  },
174
186
  "supportS6Checkbox1": {
@@ -176,7 +188,7 @@
176
188
  "description": "A checkbox to use for NSFW sites"
177
189
  },
178
190
  "supportReportSpecificButton": {
179
- "message": "إنشاء تقرير جديد",
191
+ "message": "إنشاء تقرير جديد علي GitHub",
180
192
  "description": "Text for button which open an external webpage in Support pane"
181
193
  },
182
194
  "defaultFilteringModeSectionLabel": {
@@ -184,7 +196,7 @@
184
196
  "description": "The header text for the default filtering mode section"
185
197
  },
186
198
  "defaultFilteringModeDescription": {
187
- "message": "سيتم تجاوز وضع التصفية الافتراضي بواسطة أوضاع التصفية لكل موقع ويب. يمكنك ضبط وضع التصفية على أي موقع ويب معين وفقًا للوضع الذي يعمل بشكل أفضل على موقع الويب هذا. كل وضع له مزاياه وعيوبه.",
199
+ "message": "سيتم تجاوز وضع التصفية الافتراضي بواسطة أوضاع التصفية الخاصة بكل موقع ويب. يمكنك ضبط وضع التصفية على أي موقع ويب وفقًا للوضع الذي يعمل بشكل أفضل على ذلك الموقع. لكل وضع مزاياه وعيوبه.",
188
200
  "description": "This describes the default filtering mode setting"
189
201
  },
190
202
  "filteringMode0Name": {
@@ -216,11 +228,11 @@
216
228
  "description": "This describes the 'complete' filtering mode"
217
229
  },
218
230
  "noFilteringModeDescription": {
219
- "message": "قائمة بأسماء المضيفين التي لن تتم أي تصفية لها",
231
+ "message": "قائمة المواقع الإلكترونية التي لن يتم تصفية محتواها.",
220
232
  "description": "A short description for the editable field which lists trusted sites"
221
233
  },
222
234
  "noFilteringModePlaceholder": {
223
- "message": "[أسماء النطاقات الرئيسية فقط]\nexample.com\ngames.example",
235
+ "message": "[أسماء النطاقات الرئيسية فقط]\nexample.com\ngames.example\n...",
224
236
  "description": "Default text for in edit field"
225
237
  },
226
238
  "behaviorSectionLabel": {
@@ -240,7 +252,7 @@
240
252
  "description": "Label for a checkbox in the options page"
241
253
  },
242
254
  "enableStrictBlockLegend": {
243
- "message": "سيتم حظر التنقل إلى المواقع غير المرغوب فيها، وسيتم تقديم خيار لك للمتابعة.",
255
+ "message": "سيتم حظر الانتقال إلى المواقع غير المرغوب فيها، وسيُعرض عليك خيار المتابعة.",
244
256
  "description": "Short description for a checkbox in the options page"
245
257
  },
246
258
  "developerModeLabel": {
@@ -248,9 +260,21 @@
248
260
  "description": "Label for a checkbox in the options page"
249
261
  },
250
262
  "developerModeLegend": {
251
- "message": "يمكن الوصول إلى الميزات المناسبة للمستخدمين التقنيين.",
263
+ "message": "يتيح الوصول إلى الميزات المناسبة للمستخدمين التقنيين.",
252
264
  "description": "Short description for a checkbox in the options page"
253
265
  },
266
+ "settingsBackupRestoreLabel": {
267
+ "message": "Backup",
268
+ "description": "The header text for the back up/restore section"
269
+ },
270
+ "settingsBackupRestoreSummary": {
271
+ "message": "Back up your custom settings to a file, or restore your custom settings from a file.",
272
+ "description": "A summary description of the back up/restore section."
273
+ },
274
+ "settingsBackupRestoreLegend": {
275
+ "message": "Restoring will overwrite all your current custom settings.",
276
+ "description": "Important information about the back up/restore section."
277
+ },
254
278
  "findListsPlaceholder": {
255
279
  "message": "البحث عن القوائم",
256
280
  "description": "Placeholder for the input field used to find lists"
@@ -292,11 +316,11 @@
292
316
  "description": "A button to navigate to the blocked page"
293
317
  },
294
318
  "zapperTipEnter": {
295
- "message": "دخول وضع تحديد العناصر السريع",
319
+ "message": "إزالة عنصر",
296
320
  "description": "Tooltip for the button used to enter zapper mode"
297
321
  },
298
322
  "zapperTipQuit": {
299
- "message": "الخروج من وضع تحديد العناصر السريع",
323
+ "message": "خروج من وضع مزيل العناصر",
300
324
  "description": "Tooltip for the button used to exit zapper mode"
301
325
  },
302
326
  "pickerTipEnter": {
@@ -339,14 +363,26 @@
339
363
  "message": "إرجاع",
340
364
  "description": "Text for buttons used to revert changes"
341
365
  },
366
+ "addButton": {
367
+ "message": "أضِف",
368
+ "description": "Text for buttons used to add content"
369
+ },
342
370
  "importAndAppendButton": {
343
- "message": "استيراد واضافة…",
371
+ "message": "استيراد وإلحاق…",
344
372
  "description": "Text for buttons used to import and append content"
345
373
  },
346
374
  "exportButton": {
347
- "message": "تصدير...",
375
+ "message": "تصدير…",
348
376
  "description": "Text for buttons used to export content"
349
377
  },
378
+ "backupButton": {
379
+ "message": "Back up…",
380
+ "description": "Text for buttons used to back up content"
381
+ },
382
+ "restoreButton": {
383
+ "message": "Restore…",
384
+ "description": "Text for buttons used to restore content"
385
+ },
350
386
  "dnrRulesWarning": {
351
387
  "message": "لا تضف محتوى من مصادر غير موثوقة",
352
388
  "description": "Short description of the DNR rules editor pane"
@@ -19,6 +19,10 @@
19
19
  "message": "Tənzimləmələr",
20
20
  "description": "appears as tab name in dashboard"
21
21
  },
22
+ "customFiltersPageName": {
23
+ "message": "Custom filters",
24
+ "description": "appears as tab name in dashboard"
25
+ },
22
26
  "developPageName": {
23
27
  "message": "Develop",
24
28
  "description": "appears as tab name in dashboard. Inspired from 'Develop' menu in Safari, see https://developer.apple.com/documentation/safari-developer-tools/develop-menu"
@@ -83,6 +87,14 @@
83
87
  "message": "Bölgələr, dillər",
84
88
  "description": "Header for a ruleset section in 'Filter lists pane'"
85
89
  },
90
+ "customFiltersImportExportLabel": {
91
+ "message": "Import / Export",
92
+ "description": "Text label heading the import/export area of custom filters"
93
+ },
94
+ "customFiltersImportTextareaPlaceholder": {
95
+ "message": "Paste here specific cosmetic filters to add",
96
+ "description": "Placeholder text which describes the purpose of the textarea widget"
97
+ },
86
98
  "aboutChangelog": {
87
99
  "message": "Dəyişikliklər siyahısı",
88
100
  "description": ""
@@ -251,6 +263,18 @@
251
263
  "message": "Enables access to features suitable for technical users.",
252
264
  "description": "Short description for a checkbox in the options page"
253
265
  },
266
+ "settingsBackupRestoreLabel": {
267
+ "message": "Backup",
268
+ "description": "The header text for the back up/restore section"
269
+ },
270
+ "settingsBackupRestoreSummary": {
271
+ "message": "Back up your custom settings to a file, or restore your custom settings from a file.",
272
+ "description": "A summary description of the back up/restore section."
273
+ },
274
+ "settingsBackupRestoreLegend": {
275
+ "message": "Restoring will overwrite all your current custom settings.",
276
+ "description": "Important information about the back up/restore section."
277
+ },
254
278
  "findListsPlaceholder": {
255
279
  "message": "Find lists",
256
280
  "description": "Placeholder for the input field used to find lists"
@@ -339,6 +363,10 @@
339
363
  "message": "Revert",
340
364
  "description": "Text for buttons used to revert changes"
341
365
  },
366
+ "addButton": {
367
+ "message": "Add",
368
+ "description": "Text for buttons used to add content"
369
+ },
342
370
  "importAndAppendButton": {
343
371
  "message": "Import and append…",
344
372
  "description": "Text for buttons used to import and append content"
@@ -347,6 +375,14 @@
347
375
  "message": "Export…",
348
376
  "description": "Text for buttons used to export content"
349
377
  },
378
+ "backupButton": {
379
+ "message": "Back up…",
380
+ "description": "Text for buttons used to back up content"
381
+ },
382
+ "restoreButton": {
383
+ "message": "Restore…",
384
+ "description": "Text for buttons used to restore content"
385
+ },
350
386
  "dnrRulesWarning": {
351
387
  "message": "Do not add content from untrusted sources",
352
388
  "description": "Short description of the DNR rules editor pane"
@@ -19,6 +19,10 @@
19
19
  "message": "Налады",
20
20
  "description": "appears as tab name in dashboard"
21
21
  },
22
+ "customFiltersPageName": {
23
+ "message": "Уласныя фільтры",
24
+ "description": "appears as tab name in dashboard"
25
+ },
22
26
  "developPageName": {
23
27
  "message": "Распрацоўка",
24
28
  "description": "appears as tab name in dashboard. Inspired from 'Develop' menu in Safari, see https://developer.apple.com/documentation/safari-developer-tools/develop-menu"
@@ -83,6 +87,14 @@
83
87
  "message": "Рэгіёны, мовы",
84
88
  "description": "Header for a ruleset section in 'Filter lists pane'"
85
89
  },
90
+ "customFiltersImportExportLabel": {
91
+ "message": "Імпартаваць/экспартаваць",
92
+ "description": "Text label heading the import/export area of custom filters"
93
+ },
94
+ "customFiltersImportTextareaPlaceholder": {
95
+ "message": "Paste here specific cosmetic filters to add",
96
+ "description": "Placeholder text which describes the purpose of the textarea widget"
97
+ },
86
98
  "aboutChangelog": {
87
99
  "message": "Журнал змяненняў",
88
100
  "description": ""
@@ -251,6 +263,18 @@
251
263
  "message": "Забяспечвае доступ да функцый, прыдатным для тэхнічных карыстальнікаў.",
252
264
  "description": "Short description for a checkbox in the options page"
253
265
  },
266
+ "settingsBackupRestoreLabel": {
267
+ "message": "Backup",
268
+ "description": "The header text for the back up/restore section"
269
+ },
270
+ "settingsBackupRestoreSummary": {
271
+ "message": "Back up your custom settings to a file, or restore your custom settings from a file.",
272
+ "description": "A summary description of the back up/restore section."
273
+ },
274
+ "settingsBackupRestoreLegend": {
275
+ "message": "Restoring will overwrite all your current custom settings.",
276
+ "description": "Important information about the back up/restore section."
277
+ },
254
278
  "findListsPlaceholder": {
255
279
  "message": "Знайсці спісы",
256
280
  "description": "Placeholder for the input field used to find lists"
@@ -339,6 +363,10 @@
339
363
  "message": "Вярнуць",
340
364
  "description": "Text for buttons used to revert changes"
341
365
  },
366
+ "addButton": {
367
+ "message": "Дадаць",
368
+ "description": "Text for buttons used to add content"
369
+ },
342
370
  "importAndAppendButton": {
343
371
  "message": "Імпартаваць ды дадаць…",
344
372
  "description": "Text for buttons used to import and append content"
@@ -347,6 +375,14 @@
347
375
  "message": "Экспартаваць…",
348
376
  "description": "Text for buttons used to export content"
349
377
  },
378
+ "backupButton": {
379
+ "message": "Back up…",
380
+ "description": "Text for buttons used to back up content"
381
+ },
382
+ "restoreButton": {
383
+ "message": "Restore…",
384
+ "description": "Text for buttons used to restore content"
385
+ },
350
386
  "dnrRulesWarning": {
351
387
  "message": "Не дадавайце кантэнт з ненадзейных крыніц",
352
388
  "description": "Short description of the DNR rules editor pane"