@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
@@ -19,6 +19,10 @@
19
19
  "message": "การตั้งค่า",
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": "พัฒนา",
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": "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": "บันทึการเปลี่ยนแปลง",
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": "Add",
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"
@@ -19,6 +19,10 @@
19
19
  "message": "Ayarlar",
20
20
  "description": "appears as tab name in dashboard"
21
21
  },
22
+ "customFiltersPageName": {
23
+ "message": "Özel filtreler",
24
+ "description": "appears as tab name in dashboard"
25
+ },
22
26
  "developPageName": {
23
27
  "message": "Geliştir",
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ölgeler, diller",
84
88
  "description": "Header for a ruleset section in 'Filter lists pane'"
85
89
  },
90
+ "customFiltersImportExportLabel": {
91
+ "message": "İçeri/Dışarı aktar",
92
+ "description": "Text label heading the import/export area of custom filters"
93
+ },
94
+ "customFiltersImportTextareaPlaceholder": {
95
+ "message": "Eklenmesi için kozmetik filtreleri buraya yapıştırın",
96
+ "description": "Placeholder text which describes the purpose of the textarea widget"
97
+ },
86
98
  "aboutChangelog": {
87
99
  "message": "Değişiklik günlüğü",
88
100
  "description": ""
@@ -251,6 +263,18 @@
251
263
  "message": "Teknik kullanıcılara uygun özelliklere erişime izin ver.",
252
264
  "description": "Short description for a checkbox in the options page"
253
265
  },
266
+ "settingsBackupRestoreLabel": {
267
+ "message": "Yedekle",
268
+ "description": "The header text for the back up/restore section"
269
+ },
270
+ "settingsBackupRestoreSummary": {
271
+ "message": "Ayarlarınızı bir dosyaya yedekleyin veya yedeklenmiş bir dosyadan alın.",
272
+ "description": "A summary description of the back up/restore section."
273
+ },
274
+ "settingsBackupRestoreLegend": {
275
+ "message": "Yedekten geri yükleyince şu anki ayarlarınızın yerine geçecek.",
276
+ "description": "Important information about the back up/restore section."
277
+ },
254
278
  "findListsPlaceholder": {
255
279
  "message": "Liste bul",
256
280
  "description": "Placeholder for the input field used to find lists"
@@ -339,6 +363,10 @@
339
363
  "message": "Geri al",
340
364
  "description": "Text for buttons used to revert changes"
341
365
  },
366
+ "addButton": {
367
+ "message": "Ekle",
368
+ "description": "Text for buttons used to add content"
369
+ },
342
370
  "importAndAppendButton": {
343
371
  "message": "İçe aktar ve ekle…",
344
372
  "description": "Text for buttons used to import and append content"
@@ -347,6 +375,14 @@
347
375
  "message": "Dışa aktar…",
348
376
  "description": "Text for buttons used to export content"
349
377
  },
378
+ "backupButton": {
379
+ "message": "Yedekle…",
380
+ "description": "Text for buttons used to back up content"
381
+ },
382
+ "restoreButton": {
383
+ "message": "Geri yükle…",
384
+ "description": "Text for buttons used to restore content"
385
+ },
350
386
  "dnrRulesWarning": {
351
387
  "message": "Güvenilmeyen kaynaklardan içerik eklemeyin",
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": "Custom filters",
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": "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": "Журнал змін",
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": "Add",
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"
@@ -19,6 +19,10 @@
19
19
  "message": "ترتیبات",
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": "علاقے، زبانیں۔",
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": "چینج لاگ",
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": "Cài đặt",
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": "Phát triển",
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": "Khu vực, ngôn ngữ",
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": "Nhật ký thay đổi",
88
100
  "description": ""
@@ -251,6 +263,18 @@
251
263
  "message": "Cho phép truy cập các tính năng dành cho người dùng nâng cao",
252
264
  "description": "Short description for a checkbox in the options page"
253
265
  },
266
+ "settingsBackupRestoreLabel": {
267
+ "message": "Sao lưu",
268
+ "description": "The header text for the back up/restore section"
269
+ },
270
+ "settingsBackupRestoreSummary": {
271
+ "message": "Sao lưu cài đặt tùy chỉnh của bạn vào một tệp hoặc khôi phục cài đặt tùy chỉnh từ một tệp.",
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": "Tìm danh sách",
256
280
  "description": "Placeholder for the input field used to find lists"
@@ -339,6 +363,10 @@
339
363
  "message": "Đặt lại",
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": "Nhập và thêm vào",
344
372
  "description": "Text for buttons used to import and append content"
@@ -347,6 +375,14 @@
347
375
  "message": "Xuất…",
348
376
  "description": "Text for buttons used to export content"
349
377
  },
378
+ "backupButton": {
379
+ "message": "Sao lưu…",
380
+ "description": "Text for buttons used to back up content"
381
+ },
382
+ "restoreButton": {
383
+ "message": "Khôi phục…",
384
+ "description": "Text for buttons used to restore content"
385
+ },
350
386
  "dnrRulesWarning": {
351
387
  "message": "Không thêm các bộ lọc từ các nguồn không đáng tin cậy",
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": "在此粘贴要添加的特定元素过滤规则",
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": "备份",
268
+ "description": "The header text for the back up/restore section"
269
+ },
270
+ "settingsBackupRestoreSummary": {
271
+ "message": "将自定义设置备份到文件,或从文件还原自定义设置。",
272
+ "description": "A summary description of the back up/restore section."
273
+ },
274
+ "settingsBackupRestoreLegend": {
275
+ "message": "还原将覆盖当前所有自定义设置。",
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": "备份…",
380
+ "description": "Text for buttons used to back up content"
381
+ },
382
+ "restoreButton": {
383
+ "message": "还原…",
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": "設定",
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": "在這裡貼上要新增的元素隱藏篩選規則",
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": "備份",
268
+ "description": "The header text for the back up/restore section"
269
+ },
270
+ "settingsBackupRestoreSummary": {
271
+ "message": "將你的自訂設定備份到檔案,或是從檔案還原你的自訂設定。",
272
+ "description": "A summary description of the back up/restore section."
273
+ },
274
+ "settingsBackupRestoreLegend": {
275
+ "message": "還原將覆寫你目前所有的自訂設定。",
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": "備份…",
380
+ "description": "Text for buttons used to back up content"
381
+ },
382
+ "restoreButton": {
383
+ "message": "還原…",
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"
@@ -3,7 +3,6 @@ body {
3
3
  box-sizing: border-box;
4
4
  display: flex;
5
5
  flex-direction: column;
6
- padding: 0 var(--default-gap-xxsmall);
7
6
  }
8
7
  body > * {
9
8
  width: min(640px, 100%);
@@ -36,6 +36,7 @@ nav > .tabButton:hover {
36
36
 
37
37
  body[data-pane="settings"] #dashboard-nav .tabButton[data-pane="settings"],
38
38
  body[data-pane="rulesets"] #dashboard-nav .tabButton[data-pane="rulesets"],
39
+ body[data-pane="filters"] #dashboard-nav .tabButton[data-pane="filters"],
39
40
  body[data-pane="develop"] #dashboard-nav .tabButton[data-pane="develop"],
40
41
  body[data-pane="about"] #dashboard-nav .tabButton[data-pane="about"] {
41
42
  background-color: var(--dashboard-tab-active-surface);
@@ -51,11 +52,18 @@ body:not([data-pane="rulesets"]) header [data-pane-related="rulesets"] {
51
52
  }
52
53
 
53
54
  body > section {
55
+ box-sizing: border-box;
54
56
  display: none;
57
+ padding: 0 var(--default-gap-xxsmall);
55
58
  padding-bottom: 2rem;
56
59
  }
60
+ body [data-pane-related] {
61
+ padding: 0 var(--default-gap-xxsmall);
62
+ }
63
+
57
64
  body[data-pane="settings"] > section[data-pane="settings"],
58
65
  body[data-pane="rulesets"] > section[data-pane="rulesets"],
66
+ body[data-pane="filters"] > section[data-pane="filters"],
59
67
  body[data-pane="develop"] > section[data-pane="develop"],
60
68
  body[data-pane="about"] > section[data-pane="about"] {
61
69
  display: block;
@@ -86,6 +86,16 @@ h3[data-i18n="filteringMode0Name"]::first-letter {
86
86
  text-transform: capitalize;
87
87
  }
88
88
 
89
+ body[data-platform="safari"] [data-platform-exclude="safari"] {
90
+ display: none;
91
+ }
92
+
93
+ section[data-pane="settings"] p:has(button) {
94
+ display: flex;
95
+ flex-wrap: wrap;
96
+ gap: 1em;
97
+ }
98
+
89
99
  body:not(.committing) #commit-spinner {
90
100
  display: none;
91
101
  }
@@ -223,9 +233,105 @@ body.noMoreRuleset .listEntry:has(> .detailbar input:not(:checked)) {
223
233
  margin-top: 0.2em;
224
234
  }
225
235
 
226
- #templates {
236
+ body section[data-pane="filters"] {
237
+ padding-inline: 0;
238
+ }
239
+ body section[data-pane="filters"] .hostnames {
240
+ border-bottom: 1px solid var(--border-1);
241
+ margin-block-start: 1em;
242
+ }
243
+ body section[data-pane="filters"] .hostnames:empty {
244
+ display: none;
245
+ }
246
+ body.busy section[data-pane="filters"] .hostnames {
247
+ pointer-events: none;
248
+ }
249
+ section[data-pane="filters"] ul {
250
+ list-style: none;
251
+ margin: 0;
252
+ padding-inline-start: 0;
253
+ }
254
+ section[data-pane="filters"] .hostnames > li.hostname > div {
255
+ background-color: var(--surface-2);
256
+ padding-inline-start: 0.5em;
257
+ }
258
+ section[data-pane="filters"] ul ul {
259
+ padding-block-end: 1em;
260
+ padding-inline-start: 0.5em;
261
+ }
262
+ section[data-pane="filters"] li > div {
263
+ display: flex;
264
+ padding-block: 4px;
265
+ }
266
+ section[data-pane="filters"] li [contenteditable] {
267
+ flex-grow: 1;
268
+ word-break: break-all;
269
+ }
270
+ section[data-pane="filters"] li [contenteditable]:focus {
271
+ background-color: var(--surface-0);
272
+ }
273
+ section[data-pane="filters"] li .fa-icon {
274
+ align-self: baseline;
275
+ font-size: calc(var(--font-size) + 2px);
276
+ padding: 0 0.5em;
277
+ top: 2px;
278
+ }
279
+ section[data-pane="filters"] li.selector:not(:first-of-type) {
280
+ border-top: 1px dotted var(--border-1);
281
+ }
282
+ section[data-pane="filters"] li.hostname:not(:has(li.selector:not(.removed))) > div [contenteditable],
283
+ section[data-pane="filters"] li.selector.removed [contenteditable] {
284
+ color: red;
285
+ text-decoration-line: line-through;
286
+ }
287
+ section[data-pane="filters"] li.hostname:not(:has(li.selector:not(.removed))) > div span.remove,
288
+ section[data-pane="filters"] li.selector.removed > div span.remove,
289
+ section[data-pane="filters"] li.hostname:has(li.selector:not(.removed)) > div span.undo,
290
+ section[data-pane="filters"] li.selector:not(.removed) > div span.undo {
227
291
  display: none;
228
292
  }
293
+ html.desktop section[data-pane="filters"] li > div:hover {
294
+ background-color: var(--surface-0);
295
+ }
296
+ html.desktop section[data-pane="filters"] li > div span.fa-icon:hover {
297
+ transform: scale(1.3);
298
+ }
299
+ section[data-pane="filters"] aside {
300
+ padding: 1em 0.5em;
301
+ }
302
+ section[data-pane="filters"] aside details {
303
+ padding: 0;
304
+ }
305
+ section[data-pane="filters"] aside summary {
306
+ cursor: default;
307
+ line-height: 2;
308
+ }
309
+ section[data-pane="filters"] aside .importFromText {
310
+ color: var(--ink-2);
311
+ }
312
+ section[data-pane="filters"] aside .importFromText textarea {
313
+ background-color: var(--surface-1);
314
+ border: 1px solid var(--border-1);
315
+ box-sizing: border-box;
316
+ min-height: 6em;
317
+ resize: vertical;
318
+ width: 100%;
319
+ }
320
+ section[data-pane="filters"] aside .importFromText textarea:focus {
321
+ background-color: var(--surface-0);
322
+ }
323
+ section[data-pane="filters"] aside .importFromText:has(textarea:placeholder-shown) button:has([data-i18n="addButton"]) {
324
+ display: none;
325
+ }
326
+ section[data-pane="filters"] aside .importFromText:not(:has(textarea:placeholder-shown)) button:has([data-i18n="importAndAppendButton"]),
327
+ section[data-pane="filters"] aside .importFromText:not(:has(textarea:placeholder-shown)) button:has([data-i18n="exportButton"]) {
328
+ display: none;
329
+ }
330
+ section[data-pane="filters"] aside p {
331
+ display: flex;
332
+ flex-wrap: wrap;
333
+ gap: 1em;
334
+ }
229
335
 
230
336
  @media (max-width: 480px) {
231
337
  #defaultFilteringMode {
@@ -50,6 +50,7 @@
50
50
  display: none;
51
51
  }
52
52
  #ubol-unpicker .customFilter.removed > span.selector {
53
+ color: red;
53
54
  pointer-events: none;
54
55
  text-decoration-line: line-through;
55
56
  }