@browserless.io/browserless 2.33.0 → 2.34.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (568) hide show
  1. package/CHANGELOG.md +13 -1
  2. package/README.md +1 -1
  3. package/build/config.d.ts +1 -1
  4. package/build/config.js +1 -1
  5. package/build/http.d.ts +10 -0
  6. package/build/http.js +5 -0
  7. package/build/limiter.spec.js +1 -1
  8. package/build/routes/chrome/http/content.post.body.json +18 -109
  9. package/build/routes/chrome/http/pdf.post.body.json +18 -109
  10. package/build/routes/chrome/http/scrape.post.body.json +18 -109
  11. package/build/routes/chrome/http/screenshot.post.body.json +18 -109
  12. package/build/routes/chrome/tests/content.spec.js +12 -12
  13. package/build/routes/chrome/tests/page-websocket.spec.js +3 -3
  14. package/build/routes/chrome/tests/pdf.spec.js +13 -13
  15. package/build/routes/chrome/tests/performance.spec.js +4 -4
  16. package/build/routes/chrome/tests/scrape.spec.js +13 -13
  17. package/build/routes/chrome/tests/screenshot.spec.js +14 -14
  18. package/build/routes/chromium/http/content.post.body.json +18 -109
  19. package/build/routes/chromium/http/pdf.post.body.json +18 -109
  20. package/build/routes/chromium/http/scrape.post.body.json +18 -109
  21. package/build/routes/chromium/http/screenshot.post.body.json +18 -109
  22. package/build/routes/chromium/tests/content.spec.js +13 -13
  23. package/build/routes/chromium/tests/page-websocket.spec.js +3 -3
  24. package/build/routes/chromium/tests/pdf.spec.js +13 -13
  25. package/build/routes/chromium/tests/performance.spec.js +4 -4
  26. package/build/routes/chromium/tests/scrape.spec.js +13 -13
  27. package/build/routes/chromium/tests/screenshot.spec.js +14 -14
  28. package/build/routes/edge/http/content.post.body.json +18 -109
  29. package/build/routes/edge/http/pdf.post.body.json +18 -109
  30. package/build/routes/edge/http/scrape.post.body.json +18 -109
  31. package/build/routes/edge/http/screenshot.post.body.json +18 -109
  32. package/build/routes/edge/tests/content.spec.js +12 -12
  33. package/build/routes/edge/tests/page-websocket.spec.js +3 -3
  34. package/build/routes/edge/tests/pdf.spec.js +13 -13
  35. package/build/routes/edge/tests/performance.spec.js +4 -4
  36. package/build/routes/edge/tests/scrape.spec.js +13 -13
  37. package/build/routes/edge/tests/screenshot.spec.js +14 -14
  38. package/build/routes/management/http/kill.get.d.ts +1 -1
  39. package/build/routes/management/http/kill.get.query.json +0 -3
  40. package/build/routes/management/http/pressure.get.d.ts +1 -1
  41. package/build/routes/management/http/pressure.get.js +12 -4
  42. package/build/routes/management/http/sessions.get.d.ts +1 -1
  43. package/build/routes/management/http/sessions.get.query.json +0 -3
  44. package/build/routes/management/tests/management.spec.js +13 -13
  45. package/build/server.js +12 -4
  46. package/build/shared/content.http.js +9 -2
  47. package/build/shared/pdf.http.js +9 -2
  48. package/build/shared/scrape.http.js +9 -2
  49. package/build/shared/screenshot.http.js +9 -2
  50. package/build/shim.d.ts +5 -0
  51. package/build/shim.js +13 -0
  52. package/build/shim.spec.js +28 -1
  53. package/build/types.d.ts +21 -1
  54. package/build/types.js +14 -0
  55. package/build/utils.d.ts +1 -0
  56. package/build/utils.js +4 -3
  57. package/extensions/ublocklite/_locales/ar/messages.json +8 -8
  58. package/extensions/ublocklite/_locales/be/messages.json +8 -8
  59. package/extensions/ublocklite/_locales/fi/messages.json +18 -18
  60. package/extensions/ublocklite/_locales/hi/messages.json +21 -21
  61. package/extensions/ublocklite/_locales/hu/messages.json +8 -8
  62. package/extensions/ublocklite/_locales/id/messages.json +15 -15
  63. package/extensions/ublocklite/_locales/ja/messages.json +23 -23
  64. package/extensions/ublocklite/_locales/nl/messages.json +1 -1
  65. package/extensions/ublocklite/_locales/pt_BR/messages.json +15 -15
  66. package/extensions/ublocklite/_locales/pt_PT/messages.json +18 -18
  67. package/extensions/ublocklite/_locales/ru/messages.json +1 -1
  68. package/extensions/ublocklite/_locales/th/messages.json +30 -30
  69. package/extensions/ublocklite/_locales/tr/messages.json +1 -1
  70. package/extensions/ublocklite/_locales/uk/messages.json +10 -10
  71. package/extensions/ublocklite/_locales/vi/messages.json +8 -8
  72. package/extensions/ublocklite/css/dashboard.css +9 -4
  73. package/extensions/ublocklite/css/picker-ui.css +1 -1
  74. package/extensions/ublocklite/css/report.css +0 -8
  75. package/extensions/ublocklite/css/settings.css +17 -13
  76. package/extensions/ublocklite/dashboard.html +16 -12
  77. package/extensions/ublocklite/js/background.js +75 -19
  78. package/extensions/ublocklite/js/config.js +2 -1
  79. package/extensions/ublocklite/js/dashboard.js +9 -5
  80. package/extensions/ublocklite/js/debug.js +69 -6
  81. package/extensions/ublocklite/js/develop.js +1 -1
  82. package/extensions/ublocklite/js/ext-compat.js +9 -2
  83. package/extensions/ublocklite/js/ext.js +6 -0
  84. package/extensions/ublocklite/js/fetch.js +3 -1
  85. package/extensions/ublocklite/js/filter-lists.js +17 -9
  86. package/extensions/ublocklite/js/filter-manager.js +80 -28
  87. package/extensions/ublocklite/js/jsonpath.js +65 -26
  88. package/extensions/ublocklite/js/mode-manager.js +5 -1
  89. package/extensions/ublocklite/js/picker-ui.js +32 -41
  90. package/extensions/ublocklite/js/popup.js +11 -11
  91. package/extensions/ublocklite/js/redirect-resources.js +1 -0
  92. package/extensions/ublocklite/js/report.js +4 -2
  93. package/extensions/ublocklite/js/ro-dnr-editor.js +6 -1
  94. package/extensions/ublocklite/js/ruleset-manager.js +38 -13
  95. package/extensions/ublocklite/js/scripting/css-generic.js +0 -1
  96. package/extensions/ublocklite/js/scripting/css-procedural-api.js +821 -0
  97. package/extensions/ublocklite/js/scripting/css-procedural.js +62 -718
  98. package/extensions/ublocklite/{rulesets/scripting/declarative/ubol-tests.js → js/scripting/css-user-terminate.js} +16 -13
  99. package/extensions/ublocklite/js/scripting/css-user.js +12 -1
  100. package/extensions/ublocklite/js/scripting/picker.js +46 -13
  101. package/extensions/ublocklite/js/scripting/tool-overlay.js +14 -8
  102. package/extensions/ublocklite/js/scripting/unpicker.js +5 -9
  103. package/extensions/ublocklite/js/scripting/zapper.js +1 -1
  104. package/extensions/ublocklite/js/scripting-manager.js +4 -75
  105. package/extensions/ublocklite/js/settings.js +3 -5
  106. package/extensions/ublocklite/js/static-filtering-parser.js +3 -3
  107. package/extensions/ublocklite/js/tool-overlay-ui.js +20 -24
  108. package/extensions/ublocklite/js/troubleshooting.js +11 -19
  109. package/extensions/ublocklite/js/ubo-parser.js +1 -1
  110. package/extensions/ublocklite/js/unpicker-ui.js +16 -9
  111. package/extensions/ublocklite/js/zapper-ui.js +3 -2
  112. package/extensions/ublocklite/manifest.json +12 -2
  113. package/extensions/ublocklite/picker-ui.html +1 -1
  114. package/extensions/ublocklite/report.html +0 -1
  115. package/extensions/ublocklite/rulesets/generic-details.json +28 -16
  116. package/extensions/ublocklite/rulesets/main/adguard-mobile.json +5 -2
  117. package/extensions/ublocklite/rulesets/main/annoyances-cookies.json +27 -15
  118. package/extensions/ublocklite/rulesets/main/annoyances-notifications.json +276 -0
  119. package/extensions/ublocklite/rulesets/main/annoyances-others.json +4 -3
  120. package/extensions/ublocklite/rulesets/main/annoyances-overlays.json +4 -4
  121. package/extensions/ublocklite/rulesets/main/annoyances-widgets.json +3 -2
  122. package/extensions/ublocklite/rulesets/main/bgr-0.json +54 -68
  123. package/extensions/ublocklite/rulesets/main/block-lan.json +3 -2
  124. package/extensions/ublocklite/rulesets/main/chn-0.json +28 -21
  125. package/extensions/ublocklite/rulesets/main/deu-0.json +7 -6
  126. package/extensions/ublocklite/rulesets/main/dpollock-0.json +8 -41
  127. package/extensions/ublocklite/rulesets/main/easylist.json +68 -42
  128. package/extensions/ublocklite/rulesets/main/easyprivacy.json +89 -12
  129. package/extensions/ublocklite/rulesets/main/fra-0.json +19 -19
  130. package/extensions/ublocklite/rulesets/main/hrv-0.json +5 -5
  131. package/extensions/ublocklite/rulesets/main/hun-0.json +5 -3
  132. package/extensions/ublocklite/rulesets/main/idn-0.json +13 -2
  133. package/extensions/ublocklite/rulesets/main/ind-0.json +34 -26
  134. package/extensions/ublocklite/rulesets/main/irn-0.json +676 -635
  135. package/extensions/ublocklite/rulesets/main/isr-0.json +1 -0
  136. package/extensions/ublocklite/rulesets/main/jpn-1.json +55 -31
  137. package/extensions/ublocklite/rulesets/main/kor-1.json +9 -4
  138. package/extensions/ublocklite/rulesets/main/mkd-0.json +1 -1
  139. package/extensions/ublocklite/rulesets/main/nld-0.json +2 -1
  140. package/extensions/ublocklite/rulesets/main/nor-0.json +35 -13
  141. package/extensions/ublocklite/rulesets/main/pgl.json +36 -15
  142. package/extensions/ublocklite/rulesets/main/pol-0.json +3 -2
  143. package/extensions/ublocklite/rulesets/main/rus-0.json +37 -37
  144. package/extensions/ublocklite/rulesets/main/rus-1.json +7 -3
  145. package/extensions/ublocklite/rulesets/main/spa-1.json +15 -33
  146. package/extensions/ublocklite/rulesets/main/stevenblack-hosts.json +15675 -15915
  147. package/extensions/ublocklite/rulesets/main/swe-1.json +46 -34
  148. package/extensions/ublocklite/rulesets/main/tur-0.json +56 -32
  149. package/extensions/ublocklite/rulesets/main/ublock-badware.json +87 -89
  150. package/extensions/ublocklite/rulesets/main/ublock-experimental.json +3 -0
  151. package/extensions/ublocklite/rulesets/main/ublock-filters.json +139 -69
  152. package/extensions/ublocklite/rulesets/main/ukr-0.json +5 -7
  153. package/extensions/ublocklite/rulesets/main/urlhaus-full.json +546 -1235
  154. package/extensions/ublocklite/rulesets/main/vie-1.json +55 -57
  155. package/extensions/ublocklite/rulesets/modify-headers/chn-0.json +4 -2
  156. package/extensions/ublocklite/rulesets/modify-headers/fra-0.json +2 -1
  157. package/extensions/ublocklite/rulesets/modify-headers/irn-0.json +14 -14
  158. package/extensions/ublocklite/rulesets/modify-headers/ublock-filters.json +4 -8
  159. package/extensions/ublocklite/rulesets/modify-headers/vie-1.json +1 -1
  160. package/extensions/ublocklite/rulesets/redirect/annoyances-overlays.json +1 -1
  161. package/extensions/ublocklite/rulesets/redirect/easyprivacy.json +35 -0
  162. package/extensions/ublocklite/rulesets/redirect/irn-0.json +23 -23
  163. package/extensions/ublocklite/rulesets/redirect/kor-1.json +1 -1
  164. package/extensions/ublocklite/rulesets/redirect/rus-0.json +2 -1
  165. package/extensions/ublocklite/rulesets/redirect/spa-1.json +1 -2
  166. package/extensions/ublocklite/rulesets/redirect/tur-0.json +2 -3
  167. package/extensions/ublocklite/rulesets/redirect/ublock-badware.json +18 -0
  168. package/extensions/ublocklite/rulesets/redirect/ublock-filters.json +20 -15
  169. package/extensions/ublocklite/rulesets/redirect/vie-1.json +5 -22
  170. package/extensions/ublocklite/rulesets/regex/chn-0.json +1 -1
  171. package/extensions/ublocklite/rulesets/regex/ita-0.json +1 -0
  172. package/extensions/ublocklite/rulesets/regex/jpn-1.json +1 -1
  173. package/extensions/ublocklite/rulesets/regex/tur-0.json +4 -1
  174. package/extensions/ublocklite/rulesets/regex/ublock-badware.json +3 -8
  175. package/extensions/ublocklite/rulesets/regex/ublock-filters.json +14 -9
  176. package/extensions/ublocklite/rulesets/regex/ukr-0.json +3 -5
  177. package/extensions/ublocklite/rulesets/removeparam/adguard-spyware-url.json +26 -11
  178. package/extensions/ublocklite/rulesets/removeparam/irn-0.json +16 -15
  179. package/extensions/ublocklite/rulesets/removeparam/rus-1.json +3 -2
  180. package/extensions/ublocklite/rulesets/removeparam/ublock-filters.json +6 -5
  181. package/extensions/ublocklite/rulesets/ruleset-details.json +332 -324
  182. package/extensions/ublocklite/rulesets/scripting/generic/annoyances-cookies.js +3 -3
  183. package/extensions/ublocklite/rulesets/scripting/generic/annoyances-notifications.js +87 -0
  184. package/extensions/ublocklite/rulesets/scripting/generic/annoyances-social.js +2 -2
  185. package/extensions/ublocklite/rulesets/scripting/generic/bgr-0.js +3 -3
  186. package/extensions/ublocklite/rulesets/scripting/generic/chn-0.js +2 -2
  187. package/extensions/ublocklite/rulesets/scripting/generic/deu-0.js +1 -1
  188. package/extensions/ublocklite/rulesets/scripting/generic/easylist.js +3 -3
  189. package/extensions/ublocklite/rulesets/scripting/generic/est-0.js +1 -1
  190. package/extensions/ublocklite/rulesets/scripting/generic/fra-0.js +2 -2
  191. package/extensions/ublocklite/rulesets/scripting/generic/hrv-0.js +1 -1
  192. package/extensions/ublocklite/rulesets/scripting/generic/idn-0.js +2 -2
  193. package/extensions/ublocklite/rulesets/scripting/generic/ind-0.js +2 -2
  194. package/extensions/ublocklite/rulesets/scripting/generic/irn-0.js +3 -3
  195. package/extensions/ublocklite/rulesets/scripting/generic/jpn-1.js +3 -3
  196. package/extensions/ublocklite/rulesets/scripting/generic/kor-1.js +2 -2
  197. package/extensions/ublocklite/rulesets/scripting/generic/nor-0.js +1 -1
  198. package/extensions/ublocklite/rulesets/scripting/generic/pol-0.js +1 -1
  199. package/extensions/ublocklite/rulesets/scripting/generic/rou-1.js +2 -2
  200. package/extensions/ublocklite/rulesets/scripting/generic/rus-0.js +1 -1
  201. package/extensions/ublocklite/rulesets/scripting/generic/swe-1.js +1 -1
  202. package/extensions/ublocklite/rulesets/scripting/generic/tur-0.js +1 -1
  203. package/extensions/ublocklite/rulesets/scripting/generic/ublock-filters.js +3 -3
  204. package/extensions/ublocklite/rulesets/scripting/generic/ukr-0.js +3 -3
  205. package/extensions/ublocklite/rulesets/scripting/generic/vie-1.js +1 -1
  206. package/extensions/ublocklite/rulesets/scripting/{declarative/isr-0.js → generichigh/annoyances-notifications.css} +15 -21
  207. package/extensions/ublocklite/rulesets/scripting/generichigh/chn-0.css +14 -0
  208. package/extensions/ublocklite/rulesets/scripting/generichigh/easylist.css +3 -0
  209. package/extensions/ublocklite/rulesets/scripting/generichigh/est-0.css +1 -0
  210. package/extensions/ublocklite/rulesets/scripting/generichigh/idn-0.css +34 -0
  211. package/extensions/ublocklite/rulesets/scripting/generichigh/irn-0.css +27 -0
  212. package/extensions/ublocklite/rulesets/scripting/generichigh/nor-0.css +17 -0
  213. package/extensions/ublocklite/rulesets/scripting/generichigh/pol-0.css +8 -0
  214. package/extensions/ublocklite/rulesets/scripting/generichigh/rou-1.css +1 -0
  215. package/extensions/ublocklite/rulesets/scripting/generichigh/rus-0.css +107 -0
  216. package/extensions/ublocklite/rulesets/scripting/generichigh/rus-1.css +3 -0
  217. package/extensions/ublocklite/rulesets/scripting/generichigh/swe-1.css +1 -0
  218. package/extensions/ublocklite/rulesets/scripting/generichigh/tur-0.css +1 -0
  219. package/extensions/ublocklite/rulesets/scripting/generichigh/ublock-filters.css +6 -2
  220. package/extensions/ublocklite/rulesets/scripting/generichigh/vie-1.css +1 -0
  221. package/extensions/ublocklite/rulesets/scripting/procedural/adguard-mobile.js +3 -3
  222. package/extensions/ublocklite/rulesets/scripting/procedural/alb-0.js +4 -4
  223. package/extensions/ublocklite/rulesets/scripting/procedural/annoyances-cookies.js +4 -4
  224. package/extensions/ublocklite/rulesets/scripting/procedural/annoyances-notifications.js +42 -0
  225. package/extensions/ublocklite/rulesets/scripting/procedural/annoyances-others.js +3 -3
  226. package/extensions/ublocklite/rulesets/scripting/procedural/annoyances-overlays.js +3 -3
  227. package/extensions/ublocklite/rulesets/scripting/procedural/annoyances-social.js +3 -3
  228. package/extensions/ublocklite/rulesets/scripting/procedural/chn-0.js +3 -3
  229. package/extensions/ublocklite/rulesets/scripting/procedural/cze-0.js +3 -3
  230. package/extensions/ublocklite/rulesets/scripting/procedural/deu-0.js +1 -1
  231. package/extensions/ublocklite/rulesets/scripting/procedural/easylist.js +3 -3
  232. package/extensions/ublocklite/rulesets/scripting/{declarative → procedural}/easyprivacy.js +5 -5
  233. package/extensions/ublocklite/rulesets/scripting/procedural/est-0.js +3 -3
  234. package/extensions/ublocklite/rulesets/scripting/procedural/fin-0.js +3 -3
  235. package/extensions/ublocklite/rulesets/scripting/procedural/fra-0.js +4 -4
  236. package/extensions/ublocklite/rulesets/scripting/procedural/grc-0.js +3 -3
  237. package/extensions/ublocklite/rulesets/scripting/procedural/hrv-0.js +3 -3
  238. package/extensions/ublocklite/rulesets/scripting/procedural/hun-0.js +3 -3
  239. package/extensions/ublocklite/rulesets/scripting/procedural/idn-0.js +3 -3
  240. package/extensions/ublocklite/rulesets/scripting/procedural/ind-0.js +3 -3
  241. package/extensions/ublocklite/rulesets/scripting/procedural/irn-0.js +3 -3
  242. package/extensions/ublocklite/rulesets/scripting/procedural/isl-0.js +1 -1
  243. package/extensions/ublocklite/rulesets/scripting/procedural/isr-0.js +3 -3
  244. package/extensions/ublocklite/rulesets/scripting/procedural/ita-0.js +3 -3
  245. package/extensions/ublocklite/rulesets/scripting/procedural/jpn-1.js +3 -3
  246. package/extensions/ublocklite/rulesets/scripting/procedural/kor-1.js +3 -3
  247. package/extensions/ublocklite/rulesets/scripting/procedural/ltu-0.js +3 -3
  248. package/extensions/ublocklite/rulesets/scripting/procedural/lva-0.js +1 -1
  249. package/extensions/ublocklite/rulesets/scripting/{declarative → procedural}/mkd-0.js +4 -4
  250. package/extensions/ublocklite/rulesets/scripting/procedural/nld-0.js +3 -3
  251. package/extensions/ublocklite/rulesets/scripting/procedural/nor-0.js +4 -4
  252. package/extensions/ublocklite/rulesets/scripting/procedural/pol-0.js +3 -3
  253. package/extensions/ublocklite/rulesets/scripting/procedural/rou-1.js +3 -3
  254. package/extensions/ublocklite/rulesets/scripting/procedural/rus-0.js +3 -3
  255. package/extensions/ublocklite/rulesets/scripting/procedural/rus-1.js +3 -3
  256. package/extensions/ublocklite/rulesets/scripting/procedural/spa-0.js +1 -1
  257. package/extensions/ublocklite/rulesets/scripting/procedural/spa-1.js +4 -4
  258. package/extensions/ublocklite/rulesets/scripting/procedural/svn-0.js +1 -1
  259. package/extensions/ublocklite/rulesets/scripting/procedural/swe-1.js +3 -3
  260. package/extensions/ublocklite/rulesets/scripting/procedural/tha-0.js +1 -1
  261. package/extensions/ublocklite/rulesets/scripting/procedural/tur-0.js +4 -4
  262. package/extensions/ublocklite/rulesets/scripting/procedural/ublock-badware.js +3 -3
  263. package/extensions/ublocklite/rulesets/scripting/procedural/ublock-filters.js +3 -3
  264. package/extensions/ublocklite/rulesets/scripting/procedural/ubol-tests.js +1 -1
  265. package/extensions/ublocklite/rulesets/scripting/procedural/ukr-0.js +3 -3
  266. package/extensions/ublocklite/rulesets/scripting/procedural/vie-1.js +3 -3
  267. package/extensions/ublocklite/rulesets/scripting/scriptlet/adguard-mobile.abort-current-script.js +6 -5
  268. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.abort-current-script.js +4 -3
  269. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.set-constant.js +2 -2
  270. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.set-cookie-reload.js +446 -0
  271. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.set-cookie.js +2 -2
  272. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.set-local-storage-item.js +2 -2
  273. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.set-session-storage-item.js +2 -2
  274. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.trusted-click-element.js +2 -2
  275. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.trusted-set-cookie.js +2 -2
  276. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.trusted-set-local-storage-item.js +2 -2
  277. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-notifications.abort-current-script.js +452 -0
  278. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-notifications.abort-on-property-write.js +347 -0
  279. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-notifications.addEventListener-defuser.js +498 -0
  280. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-notifications.remove-attr.js +405 -0
  281. package/extensions/ublocklite/rulesets/scripting/scriptlet/{tur-0.set-attr.js → annoyances-notifications.remove-class.js} +90 -119
  282. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-notifications.set-constant.js +541 -0
  283. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-notifications.set-cookie.js +442 -0
  284. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-notifications.set-local-storage-item.js +399 -0
  285. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-notifications.set-session-storage-item.js +399 -0
  286. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.abort-current-script.js +5 -4
  287. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.abort-on-property-read.js +1 -1
  288. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.addEventListener-defuser.js +2 -2
  289. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.prevent-setTimeout.js +2 -2
  290. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.prevent-window-open.js +1 -1
  291. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.remove-node-text.js +2 -2
  292. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.set-constant.js +2 -2
  293. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.set-cookie.js +2 -2
  294. package/extensions/ublocklite/rulesets/scripting/scriptlet/chn-0.abort-current-script.js +6 -5
  295. package/extensions/ublocklite/rulesets/scripting/scriptlet/chn-0.addEventListener-defuser.js +1 -1
  296. package/extensions/ublocklite/rulesets/scripting/scriptlet/chn-0.adjust-setTimeout.js +1 -1
  297. package/extensions/ublocklite/rulesets/scripting/scriptlet/chn-0.json-prune.js +3 -3
  298. package/extensions/ublocklite/rulesets/scripting/scriptlet/chn-0.prevent-fetch.js +2 -2
  299. package/extensions/ublocklite/rulesets/scripting/scriptlet/chn-0.prevent-setTimeout.js +2 -2
  300. package/extensions/ublocklite/rulesets/scripting/scriptlet/chn-0.set-constant.js +2 -2
  301. package/extensions/ublocklite/rulesets/scripting/scriptlet/cze-0.abort-current-script.js +4 -3
  302. package/extensions/ublocklite/rulesets/scripting/scriptlet/easyprivacy.abort-current-script.js +5 -4
  303. package/extensions/ublocklite/rulesets/scripting/scriptlet/easyprivacy.set-constant.js +1 -1
  304. package/extensions/ublocklite/rulesets/scripting/scriptlet/easyprivacy.set-local-storage-item.js +1 -1
  305. package/extensions/ublocklite/rulesets/scripting/scriptlet/fin-0.abort-current-script.js +4 -3
  306. package/extensions/ublocklite/rulesets/scripting/scriptlet/fra-0.abort-current-script.js +4 -3
  307. package/extensions/ublocklite/rulesets/scripting/scriptlet/fra-0.prevent-requestAnimationFrame.js +407 -0
  308. package/extensions/ublocklite/rulesets/scripting/scriptlet/fra-0.prevent-setTimeout.js +2 -2
  309. package/extensions/ublocklite/rulesets/scripting/scriptlet/fra-0.prevent-window-open.js +1 -1
  310. package/extensions/ublocklite/rulesets/scripting/scriptlet/fra-0.remove-node-text.js +449 -0
  311. package/extensions/ublocklite/rulesets/scripting/scriptlet/hun-0.abort-current-script.js +6 -5
  312. package/extensions/ublocklite/rulesets/scripting/scriptlet/hun-0.set-local-storage-item.js +399 -0
  313. package/extensions/ublocklite/rulesets/scripting/scriptlet/idn-0.abort-current-script.js +7 -6
  314. package/extensions/ublocklite/rulesets/scripting/scriptlet/idn-0.abort-on-property-read.js +3 -3
  315. package/extensions/ublocklite/rulesets/scripting/scriptlet/idn-0.addEventListener-defuser.js +2 -2
  316. package/extensions/ublocklite/rulesets/scripting/scriptlet/irn-0.abort-current-script.js +4 -3
  317. package/extensions/ublocklite/rulesets/scripting/scriptlet/irn-0.set-local-storage-item.js +2 -2
  318. package/extensions/ublocklite/rulesets/scripting/scriptlet/irn-0.set-session-storage-item.js +2 -2
  319. package/extensions/ublocklite/rulesets/scripting/scriptlet/isr-0.abort-current-script.js +4 -3
  320. package/extensions/ublocklite/rulesets/scripting/scriptlet/jpn-1.abort-current-script.js +6 -5
  321. package/extensions/ublocklite/rulesets/scripting/scriptlet/jpn-1.abort-on-property-write.js +2 -2
  322. package/extensions/ublocklite/rulesets/scripting/scriptlet/jpn-1.addEventListener-defuser.js +2 -2
  323. package/extensions/ublocklite/rulesets/scripting/scriptlet/jpn-1.adjust-setTimeout.js +1 -1
  324. package/extensions/ublocklite/rulesets/scripting/scriptlet/jpn-1.href-sanitizer.js +2 -2
  325. package/extensions/ublocklite/rulesets/scripting/scriptlet/jpn-1.remove-attr.js +2 -2
  326. package/extensions/ublocklite/rulesets/scripting/scriptlet/jpn-1.remove-node-text.js +2 -2
  327. package/extensions/ublocklite/rulesets/scripting/scriptlet/jpn-1.set-constant.js +2 -2
  328. package/extensions/ublocklite/rulesets/scripting/scriptlet/kor-1.abort-current-script.js +4 -3
  329. package/extensions/ublocklite/rulesets/scripting/scriptlet/kor-1.set-constant.js +2 -2
  330. package/extensions/ublocklite/rulesets/scripting/scriptlet/kor-1.spoof-css.js +422 -0
  331. package/extensions/ublocklite/rulesets/scripting/scriptlet/ltu-0.abort-current-script.js +4 -3
  332. package/extensions/ublocklite/rulesets/scripting/scriptlet/nld-0.abort-current-script.js +4 -3
  333. package/extensions/ublocklite/rulesets/scripting/scriptlet/nld-0.prevent-setTimeout.js +2 -2
  334. package/extensions/ublocklite/rulesets/scripting/scriptlet/nld-0.prevent-xhr.js +584 -0
  335. package/extensions/ublocklite/rulesets/scripting/scriptlet/nor-0.abort-current-script.js +4 -3
  336. package/extensions/ublocklite/rulesets/scripting/scriptlet/pol-0.abort-current-script.js +4 -3
  337. package/extensions/ublocklite/rulesets/scripting/scriptlet/rou-1.abort-current-script.js +4 -3
  338. package/extensions/ublocklite/rulesets/scripting/scriptlet/rou-1.prevent-setInterval.js +2 -2
  339. package/extensions/ublocklite/rulesets/scripting/scriptlet/rou-1.prevent-setTimeout.js +2 -2
  340. package/extensions/ublocklite/rulesets/scripting/scriptlet/rou-1.prevent-window-open.js +2 -2
  341. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.abort-current-script.js +5 -4
  342. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.abort-on-property-read.js +2 -2
  343. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.addEventListener-defuser.js +3 -3
  344. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.adjust-setInterval.js +1 -1
  345. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.href-sanitizer.js +2 -2
  346. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.json-prune-fetch-response.js +2 -2
  347. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.prevent-fetch.js +3 -3
  348. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.remove-node-text.js +2 -2
  349. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.set-constant.js +3 -3
  350. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.set-cookie.js +2 -2
  351. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-1.prevent-xhr.js +1 -1
  352. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-1.set-constant.js +3 -3
  353. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.abort-current-script.js +6 -5
  354. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.abort-on-property-read.js +2 -2
  355. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.abort-on-property-write.js +2 -2
  356. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.addEventListener-defuser.js +3 -3
  357. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.adjust-setTimeout.js +2 -2
  358. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.noeval-if.js +3 -3
  359. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.prevent-fetch.js +2 -2
  360. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.prevent-setTimeout.js +2 -2
  361. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.prevent-window-open.js +1 -1
  362. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.remove-attr.js +2 -2
  363. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.set-constant.js +2 -2
  364. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.set-local-storage-item.js +1 -1
  365. package/extensions/ublocklite/rulesets/scripting/scriptlet/swe-1.abort-current-script.js +5 -4
  366. package/extensions/ublocklite/rulesets/scripting/scriptlet/swe-1.noeval-if.js +1 -1
  367. package/extensions/ublocklite/rulesets/scripting/scriptlet/swe-1.prevent-xhr.js +1 -1
  368. package/extensions/ublocklite/rulesets/scripting/scriptlet/swe-1.set-constant.js +1 -1
  369. package/extensions/ublocklite/rulesets/scripting/scriptlet/tur-0.abort-current-script.js +4 -3
  370. package/extensions/ublocklite/rulesets/scripting/scriptlet/tur-0.abort-on-property-read.js +1 -1
  371. package/extensions/ublocklite/rulesets/scripting/scriptlet/tur-0.abort-on-property-write.js +2 -2
  372. package/extensions/ublocklite/rulesets/scripting/scriptlet/tur-0.adjust-setInterval.js +2 -2
  373. package/extensions/ublocklite/rulesets/scripting/scriptlet/tur-0.adjust-setTimeout.js +332 -0
  374. package/extensions/ublocklite/rulesets/scripting/scriptlet/tur-0.m3u-prune.js +2 -2
  375. package/extensions/ublocklite/rulesets/scripting/scriptlet/tur-0.prevent-window-open.js +1 -1
  376. package/extensions/ublocklite/rulesets/scripting/scriptlet/tur-0.remove-attr.js +2 -2
  377. package/extensions/ublocklite/rulesets/scripting/scriptlet/tur-0.set-constant.js +2 -2
  378. package/extensions/ublocklite/rulesets/scripting/scriptlet/tur-0.set-local-storage-item.js +3 -3
  379. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-badware.abort-current-script.js +4 -3
  380. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.abort-current-script.js +7 -6
  381. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.abort-on-property-read.js +2 -2
  382. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.abort-on-property-write.js +2 -2
  383. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.abort-on-stack-trace.js +3 -3
  384. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.addEventListener-defuser.js +3 -3
  385. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.adjust-setInterval.js +3 -3
  386. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.adjust-setTimeout.js +3 -3
  387. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.close-window.js +3 -3
  388. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.href-sanitizer.js +2 -2
  389. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.json-edit.js +69 -29
  390. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.json-prune-fetch-response.js +2 -2
  391. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.json-prune.js +2 -2
  392. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.jsonl-edit-xhr-response.js +70 -30
  393. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.noeval-if.js +2 -2
  394. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.nowebrtc.js +1 -1
  395. package/extensions/ublocklite/rulesets/scripting/scriptlet/{irn-0.close-window.js → ublock-filters.prevent-canvas.js} +14 -21
  396. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.prevent-fetch.js +2 -2
  397. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.prevent-requestAnimationFrame.js +2 -2
  398. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.prevent-setInterval.js +3 -3
  399. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.prevent-setTimeout.js +2 -2
  400. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.prevent-window-open.js +2 -2
  401. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.prevent-xhr.js +3 -3
  402. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.remove-attr.js +2 -2
  403. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.remove-cookie.js +2 -2
  404. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.remove-node-text.js +3 -3
  405. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.set-constant.js +3 -3
  406. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.set-cookie.js +2 -2
  407. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.set-local-storage-item.js +2 -2
  408. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.set-session-storage-item.js +2 -2
  409. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-click-element.js +2 -2
  410. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-create-html.js +2 -2
  411. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-json-edit-fetch-response.js +927 -0
  412. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-override-element-method.js +3 -3
  413. package/extensions/ublocklite/rulesets/scripting/scriptlet/{hun-0.prevent-fetch.js → ublock-filters.trusted-prevent-fetch.js} +7 -7
  414. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-replace-argument.js +2 -2
  415. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-replace-fetch-response.js +2 -2
  416. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-replace-node-text.js +3 -3
  417. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-replace-outbound-text.js +3 -3
  418. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-set-attr.js +2 -2
  419. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-set-constant.js +4 -4
  420. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-set-cookie.js +3 -3
  421. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-set-local-storage-item.js +1 -1
  422. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-suppress-native-method.js +2 -2
  423. package/extensions/ublocklite/rulesets/scripting/scriptlet/ubol-tests.jsonl-edit-fetch-response.js +68 -28
  424. package/extensions/ublocklite/rulesets/scripting/scriptlet/ubol-tests.jsonl-edit-xhr-response.js +68 -28
  425. package/extensions/ublocklite/rulesets/scripting/scriptlet/ukr-0.abort-current-script.js +4 -3
  426. package/extensions/ublocklite/rulesets/scripting/scriptlet/ukr-0.abort-on-property-read.js +1 -1
  427. package/extensions/ublocklite/rulesets/scripting/scriptlet/vie-1.abort-current-script.js +6 -5
  428. package/extensions/ublocklite/rulesets/scripting/scriptlet/vie-1.abort-on-property-read.js +2 -2
  429. package/extensions/ublocklite/rulesets/scripting/scriptlet/vie-1.set-constant.js +1 -1
  430. package/extensions/ublocklite/rulesets/scripting/specific/adguard-mobile.js +3 -3
  431. package/extensions/ublocklite/rulesets/scripting/specific/annoyances-cookies.js +3 -3
  432. package/extensions/ublocklite/rulesets/scripting/specific/annoyances-notifications.js +42 -0
  433. package/extensions/ublocklite/rulesets/scripting/specific/annoyances-others.js +3 -3
  434. package/extensions/ublocklite/rulesets/scripting/specific/annoyances-overlays.js +3 -3
  435. package/extensions/ublocklite/rulesets/scripting/specific/annoyances-social.js +3 -3
  436. package/extensions/ublocklite/rulesets/scripting/specific/bgr-0.js +3 -3
  437. package/extensions/ublocklite/rulesets/scripting/specific/chn-0.js +3 -3
  438. package/extensions/ublocklite/rulesets/scripting/specific/cze-0.js +1 -1
  439. package/extensions/ublocklite/rulesets/scripting/specific/deu-0.js +3 -3
  440. package/extensions/ublocklite/rulesets/scripting/specific/easylist.js +3 -3
  441. package/extensions/ublocklite/rulesets/scripting/specific/fin-0.js +3 -3
  442. package/extensions/ublocklite/rulesets/scripting/specific/fra-0.js +3 -3
  443. package/extensions/ublocklite/rulesets/scripting/specific/hrv-0.js +3 -3
  444. package/extensions/ublocklite/rulesets/scripting/specific/hun-0.js +3 -3
  445. package/extensions/ublocklite/rulesets/scripting/specific/idn-0.js +3 -3
  446. package/extensions/ublocklite/rulesets/scripting/specific/ind-0.js +3 -3
  447. package/extensions/ublocklite/rulesets/scripting/specific/irn-0.js +3 -3
  448. package/extensions/ublocklite/rulesets/scripting/specific/isr-0.js +3 -3
  449. package/extensions/ublocklite/rulesets/scripting/specific/ita-0.js +3 -3
  450. package/extensions/ublocklite/rulesets/scripting/specific/jpn-1.js +3 -3
  451. package/extensions/ublocklite/rulesets/scripting/specific/kor-1.js +3 -3
  452. package/extensions/ublocklite/rulesets/scripting/specific/nld-0.js +3 -3
  453. package/extensions/ublocklite/rulesets/scripting/specific/nor-0.js +3 -3
  454. package/extensions/ublocklite/rulesets/scripting/specific/pol-0.js +3 -3
  455. package/extensions/ublocklite/rulesets/scripting/specific/rou-1.js +3 -3
  456. package/extensions/ublocklite/rulesets/scripting/specific/rus-0.js +3 -3
  457. package/extensions/ublocklite/rulesets/scripting/specific/rus-1.js +3 -3
  458. package/extensions/ublocklite/rulesets/scripting/specific/spa-1.js +3 -3
  459. package/extensions/ublocklite/rulesets/scripting/specific/swe-1.js +3 -3
  460. package/extensions/ublocklite/rulesets/scripting/specific/tur-0.js +3 -3
  461. package/extensions/ublocklite/rulesets/scripting/specific/ublock-filters.js +3 -3
  462. package/extensions/ublocklite/rulesets/scripting/specific/ukr-0.js +3 -3
  463. package/extensions/ublocklite/rulesets/scripting/specific/vie-1.js +3 -3
  464. package/extensions/ublocklite/rulesets/scriptlet-details.json +408 -341
  465. package/extensions/ublocklite/rulesets/strictblock/adguard-mobile.json +13 -1
  466. package/extensions/ublocklite/rulesets/strictblock/annoyances-cookies.json +0 -1
  467. package/extensions/ublocklite/rulesets/strictblock/annoyances-notifications.json +41 -0
  468. package/extensions/ublocklite/rulesets/strictblock/bgr-0.json +1 -2
  469. package/extensions/ublocklite/rulesets/strictblock/chn-0.json +278 -1
  470. package/extensions/ublocklite/rulesets/strictblock/dpollock-0.json +8 -41
  471. package/extensions/ublocklite/rulesets/strictblock/easylist.json +13 -14
  472. package/extensions/ublocklite/rulesets/strictblock/easyprivacy.json +74 -3
  473. package/extensions/ublocklite/rulesets/strictblock/fra-0.json +500 -41
  474. package/extensions/ublocklite/rulesets/strictblock/hun-0.json +2 -0
  475. package/extensions/ublocklite/rulesets/strictblock/irn-0.json +6 -2
  476. package/extensions/ublocklite/rulesets/strictblock/jpn-1.json +182 -171
  477. package/extensions/ublocklite/rulesets/strictblock/kor-1.json +5 -0
  478. package/extensions/ublocklite/rulesets/strictblock/mkd-0.json +1 -0
  479. package/extensions/ublocklite/rulesets/strictblock/nor-0.json +6 -4
  480. package/extensions/ublocklite/rulesets/strictblock/pgl.json +36 -15
  481. package/extensions/ublocklite/rulesets/strictblock/pol-0.json +1 -0
  482. package/extensions/ublocklite/rulesets/strictblock/rus-1.json +1 -0
  483. package/extensions/ublocklite/rulesets/strictblock/spa-1.json +1 -0
  484. package/extensions/ublocklite/rulesets/strictblock/stevenblack-hosts.json +15675 -15915
  485. package/extensions/ublocklite/rulesets/strictblock/swe-1.json +6 -55
  486. package/extensions/ublocklite/rulesets/strictblock/tur-0.json +0 -1
  487. package/extensions/ublocklite/rulesets/strictblock/ublock-badware.json +677 -670
  488. package/extensions/ublocklite/rulesets/strictblock/ublock-filters.json +1 -1
  489. package/extensions/ublocklite/rulesets/strictblock/ukr-0.json +1 -4
  490. package/extensions/ublocklite/rulesets/strictblock/urlhaus-full.json +546 -1235
  491. package/extensions/ublocklite/rulesets/strictblock/vie-1.json +2 -2
  492. package/extensions/ublocklite/rulesets/urlskip/ublock-filters.json +97 -14
  493. package/extensions/ublocklite/ublock.zip +0 -0
  494. package/extensions/ublocklite/web_accessible_resources/fingerprint2.js +1 -1
  495. package/package.json +12 -12
  496. package/src/config.ts +1 -1
  497. package/src/http.ts +5 -0
  498. package/src/limiter.spec.ts +1 -1
  499. package/src/routes/chrome/tests/content.spec.ts +12 -12
  500. package/src/routes/chrome/tests/page-websocket.spec.ts +3 -3
  501. package/src/routes/chrome/tests/pdf.spec.ts +13 -13
  502. package/src/routes/chrome/tests/performance.spec.ts +4 -4
  503. package/src/routes/chrome/tests/scrape.spec.ts +13 -13
  504. package/src/routes/chrome/tests/screenshot.spec.ts +14 -14
  505. package/src/routes/chromium/tests/content.spec.ts +13 -13
  506. package/src/routes/chromium/tests/page-websocket.spec.ts +3 -3
  507. package/src/routes/chromium/tests/pdf.spec.ts +13 -13
  508. package/src/routes/chromium/tests/performance.spec.ts +4 -4
  509. package/src/routes/chromium/tests/scrape.spec.ts +13 -13
  510. package/src/routes/chromium/tests/screenshot.spec.ts +14 -14
  511. package/src/routes/edge/tests/content.spec.ts +12 -12
  512. package/src/routes/edge/tests/page-websocket.spec.ts +3 -3
  513. package/src/routes/edge/tests/pdf.spec.ts +13 -13
  514. package/src/routes/edge/tests/performance.spec.ts +4 -4
  515. package/src/routes/edge/tests/scrape.spec.ts +13 -13
  516. package/src/routes/edge/tests/screenshot.spec.ts +14 -14
  517. package/src/routes/management/http/kill.get.ts +1 -1
  518. package/src/routes/management/http/pressure.get.ts +15 -3
  519. package/src/routes/management/http/sessions.get.ts +1 -1
  520. package/src/routes/management/tests/management.spec.ts +13 -13
  521. package/src/server.ts +17 -3
  522. package/src/shared/content.http.ts +9 -1
  523. package/src/shared/pdf.http.ts +9 -1
  524. package/src/shared/scrape.http.ts +9 -1
  525. package/src/shared/screenshot.http.ts +9 -1
  526. package/src/shim.spec.ts +40 -1
  527. package/src/shim.ts +17 -0
  528. package/src/types.ts +32 -1
  529. package/src/utils.ts +5 -3
  530. package/static/docs/swagger.json +455 -150
  531. package/static/docs/swagger.min.json +454 -149
  532. package/static/function/client.js +46 -8
  533. package/static/function/index.html +46 -8
  534. package/extensions/ublocklite/js/scripting/css-declarative.js +0 -116
  535. package/extensions/ublocklite/rulesets/scripting/declarative/adguard-mobile.js +0 -42
  536. package/extensions/ublocklite/rulesets/scripting/declarative/alb-0.js +0 -42
  537. package/extensions/ublocklite/rulesets/scripting/declarative/annoyances-cookies.js +0 -42
  538. package/extensions/ublocklite/rulesets/scripting/declarative/annoyances-others.js +0 -42
  539. package/extensions/ublocklite/rulesets/scripting/declarative/annoyances-overlays.js +0 -42
  540. package/extensions/ublocklite/rulesets/scripting/declarative/annoyances-social.js +0 -42
  541. package/extensions/ublocklite/rulesets/scripting/declarative/chn-0.js +0 -42
  542. package/extensions/ublocklite/rulesets/scripting/declarative/cze-0.js +0 -42
  543. package/extensions/ublocklite/rulesets/scripting/declarative/easylist.js +0 -42
  544. package/extensions/ublocklite/rulesets/scripting/declarative/est-0.js +0 -42
  545. package/extensions/ublocklite/rulesets/scripting/declarative/fin-0.js +0 -42
  546. package/extensions/ublocklite/rulesets/scripting/declarative/fra-0.js +0 -42
  547. package/extensions/ublocklite/rulesets/scripting/declarative/grc-0.js +0 -42
  548. package/extensions/ublocklite/rulesets/scripting/declarative/hrv-0.js +0 -42
  549. package/extensions/ublocklite/rulesets/scripting/declarative/hun-0.js +0 -42
  550. package/extensions/ublocklite/rulesets/scripting/declarative/idn-0.js +0 -42
  551. package/extensions/ublocklite/rulesets/scripting/declarative/irn-0.js +0 -42
  552. package/extensions/ublocklite/rulesets/scripting/declarative/jpn-1.js +0 -42
  553. package/extensions/ublocklite/rulesets/scripting/declarative/kor-1.js +0 -42
  554. package/extensions/ublocklite/rulesets/scripting/declarative/ltu-0.js +0 -42
  555. package/extensions/ublocklite/rulesets/scripting/declarative/nld-0.js +0 -42
  556. package/extensions/ublocklite/rulesets/scripting/declarative/nor-0.js +0 -42
  557. package/extensions/ublocklite/rulesets/scripting/declarative/pol-0.js +0 -42
  558. package/extensions/ublocklite/rulesets/scripting/declarative/rou-1.js +0 -42
  559. package/extensions/ublocklite/rulesets/scripting/declarative/rus-0.js +0 -42
  560. package/extensions/ublocklite/rulesets/scripting/declarative/rus-1.js +0 -42
  561. package/extensions/ublocklite/rulesets/scripting/declarative/spa-1.js +0 -42
  562. package/extensions/ublocklite/rulesets/scripting/declarative/swe-1.js +0 -42
  563. package/extensions/ublocklite/rulesets/scripting/declarative/tur-0.js +0 -42
  564. package/extensions/ublocklite/rulesets/scripting/declarative/ublock-badware.js +0 -42
  565. package/extensions/ublocklite/rulesets/scripting/declarative/ublock-filters.js +0 -42
  566. package/extensions/ublocklite/rulesets/scripting/declarative/ukr-0.js +0 -42
  567. package/extensions/ublocklite/rulesets/scripting/declarative/vie-1.js +0 -42
  568. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.overlay-buster.js +0 -165
@@ -127,12 +127,19 @@ class JSONPath {
127
127
  const r = this.#compile(query, 0);
128
128
  if ( r === undefined ) { return; }
129
129
  if ( r.i !== query.length ) {
130
- if ( query.startsWith('+=', r.i) ) {
130
+ let val;
131
+ if ( query.startsWith('=', r.i) ) {
132
+ if ( /^=repl\(.+\)$/.test(query.slice(r.i)) ) {
133
+ r.modify = 'repl';
134
+ val = query.slice(r.i+6, -1);
135
+ } else {
136
+ val = query.slice(r.i+1);
137
+ }
138
+ } else if ( query.startsWith('+=', r.i) ) {
131
139
  r.modify = '+';
132
- r.i += 1;
140
+ val = query.slice(r.i+2);
133
141
  }
134
- if ( query.startsWith('=', r.i) === false ) { return; }
135
- try { r.rval = JSON.parse(query.slice(r.i+1)); }
142
+ try { r.rval = JSON.parse(val); }
136
143
  catch { return; }
137
144
  }
138
145
  this.#compiled = r;
@@ -145,28 +152,25 @@ class JSONPath {
145
152
  return paths;
146
153
  }
147
154
  apply(root) {
148
- if ( this.valid === false ) { return 0; }
149
- const { modify, rval } = this.#compiled;
150
- this.#root = root;
155
+ if ( this.valid === false ) { return; }
156
+ const { rval } = this.#compiled;
157
+ this.#root = { '$': root };
151
158
  const paths = this.#evaluate(this.#compiled.steps, []);
152
- const n = paths.length;
153
- let i = n;
159
+ let i = paths.length
160
+ if ( i === 0 ) { this.#root = null; return; }
154
161
  while ( i-- ) {
155
162
  const { obj, key } = this.#resolvePath(paths[i]);
156
163
  if ( rval !== undefined ) {
157
- if ( modify === '+' ) {
158
- this.#modifyVal(obj, key, rval);
159
- } else {
160
- obj[key] = rval;
161
- }
164
+ this.#modifyVal(obj, key);
162
165
  } else if ( Array.isArray(obj) && typeof key === 'number' ) {
163
166
  obj.splice(key, 1);
164
167
  } else {
165
168
  delete obj[key];
166
169
  }
167
170
  }
171
+ const result = this.#root['$'] ?? null;
168
172
  this.#root = null;
169
- return n;
173
+ return result;
170
174
  }
171
175
  dump() {
172
176
  return JSON.stringify(this.#compiled);
@@ -191,8 +195,15 @@ class JSONPath {
191
195
  if ( query.length === 0 ) { return; }
192
196
  const steps = [];
193
197
  let c = query.charCodeAt(i);
194
- steps.push({ mv: c === 0x24 /* $ */ ? this.#ROOT : this.#CURRENT });
195
- if ( c === 0x24 /* $ */ || c === 0x40 /* @ */ ) { i += 1; }
198
+ if ( c === 0x24 /* $ */ ) {
199
+ steps.push({ mv: this.#ROOT });
200
+ i += 1;
201
+ } else if ( c === 0x40 /* @ */ ) {
202
+ steps.push({ mv: this.#CURRENT });
203
+ i += 1;
204
+ } else {
205
+ steps.push({ mv: i === 0 ? this.#ROOT : this.#CURRENT });
206
+ }
196
207
  let mv = this.#UNDEFINED;
197
208
  for (;;) {
198
209
  if ( i === query.length ) { break; }
@@ -254,7 +265,8 @@ class JSONPath {
254
265
  i = r.i + 1;
255
266
  mv = this.#UNDEFINED;
256
267
  }
257
- if ( steps.length <= 1 ) { return; }
268
+ if ( steps.length === 0 ) { return; }
269
+ if ( mv !== this.#UNDEFINED ) { return; }
258
270
  return { steps, i };
259
271
  }
260
272
  #evaluate(steps, pathin) {
@@ -263,7 +275,7 @@ class JSONPath {
263
275
  for ( const step of steps ) {
264
276
  switch ( step.mv ) {
265
277
  case this.#ROOT:
266
- resultset = [ [] ];
278
+ resultset = [ [ '$' ] ];
267
279
  break;
268
280
  case this.#CURRENT:
269
281
  resultset = [ pathin ];
@@ -486,13 +498,40 @@ class JSONPath {
486
498
  }
487
499
  if ( outcome ) { return k; }
488
500
  }
489
- #modifyVal(obj, key, rval) {
490
- const lval = obj[key];
491
- if ( rval instanceof Object === false ) { return; }
492
- if ( lval instanceof Object === false ) { return; }
493
- if ( Array.isArray(lval) ) { return; }
494
- for ( const [ k, v ] of Object.entries(rval) ) {
495
- lval[k] = v;
501
+ #modifyVal(obj, key) {
502
+ const { modify, rval } = this.#compiled;
503
+ switch ( modify ) {
504
+ case undefined:
505
+ obj[key] = rval;
506
+ break;
507
+ case '+': {
508
+ if ( rval instanceof Object === false ) { return; }
509
+ const lval = obj[key];
510
+ if ( lval instanceof Object === false ) { return; }
511
+ if ( Array.isArray(lval) ) { return; }
512
+ for ( const [ k, v ] of Object.entries(rval) ) {
513
+ lval[k] = v;
514
+ }
515
+ break;
516
+ }
517
+ case 'repl': {
518
+ const lval = obj[key];
519
+ if ( typeof lval !== 'string' ) { return; }
520
+ if ( this.#compiled.re === undefined ) {
521
+ this.#compiled.re = null;
522
+ try {
523
+ this.#compiled.re = rval.regex !== undefined
524
+ ? new RegExp(rval.regex, rval.flags)
525
+ : new RegExp(rval.pattern.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'));
526
+ } catch {
527
+ }
528
+ }
529
+ if ( this.#compiled.re === null ) { return; }
530
+ obj[key] = lval.replace(this.#compiled.re, rval.replacement);
531
+ break;
532
+ }
533
+ default:
534
+ break;
496
535
  }
497
536
  }
498
537
  }
@@ -509,11 +548,12 @@ function jsonlEditFn(jsonp, text = '') {
509
548
  linesAfter.push(lineBefore);
510
549
  continue;
511
550
  }
512
- if ( jsonp.apply(obj) === 0 ) {
551
+ const objAfter = jsonp.apply(obj);
552
+ if ( objAfter === undefined ) {
513
553
  linesAfter.push(lineBefore);
514
554
  continue;
515
555
  }
516
- const lineAfter = safe.JSON_stringify(obj);
556
+ const lineAfter = safe.JSON_stringify(objAfter);
517
557
  linesAfter.push(lineAfter);
518
558
  }
519
559
  return linesAfter.join(lineSeparator);
@@ -119,12 +119,19 @@ class JSONPath {
119
119
  const r = this.#compile(query, 0);
120
120
  if ( r === undefined ) { return; }
121
121
  if ( r.i !== query.length ) {
122
- if ( query.startsWith('+=', r.i) ) {
122
+ let val;
123
+ if ( query.startsWith('=', r.i) ) {
124
+ if ( /^=repl\(.+\)$/.test(query.slice(r.i)) ) {
125
+ r.modify = 'repl';
126
+ val = query.slice(r.i+6, -1);
127
+ } else {
128
+ val = query.slice(r.i+1);
129
+ }
130
+ } else if ( query.startsWith('+=', r.i) ) {
123
131
  r.modify = '+';
124
- r.i += 1;
132
+ val = query.slice(r.i+2);
125
133
  }
126
- if ( query.startsWith('=', r.i) === false ) { return; }
127
- try { r.rval = JSON.parse(query.slice(r.i+1)); }
134
+ try { r.rval = JSON.parse(val); }
128
135
  catch { return; }
129
136
  }
130
137
  this.#compiled = r;
@@ -137,28 +144,25 @@ class JSONPath {
137
144
  return paths;
138
145
  }
139
146
  apply(root) {
140
- if ( this.valid === false ) { return 0; }
141
- const { modify, rval } = this.#compiled;
142
- this.#root = root;
147
+ if ( this.valid === false ) { return; }
148
+ const { rval } = this.#compiled;
149
+ this.#root = { '$': root };
143
150
  const paths = this.#evaluate(this.#compiled.steps, []);
144
- const n = paths.length;
145
- let i = n;
151
+ let i = paths.length
152
+ if ( i === 0 ) { this.#root = null; return; }
146
153
  while ( i-- ) {
147
154
  const { obj, key } = this.#resolvePath(paths[i]);
148
155
  if ( rval !== undefined ) {
149
- if ( modify === '+' ) {
150
- this.#modifyVal(obj, key, rval);
151
- } else {
152
- obj[key] = rval;
153
- }
156
+ this.#modifyVal(obj, key);
154
157
  } else if ( Array.isArray(obj) && typeof key === 'number' ) {
155
158
  obj.splice(key, 1);
156
159
  } else {
157
160
  delete obj[key];
158
161
  }
159
162
  }
163
+ const result = this.#root['$'] ?? null;
160
164
  this.#root = null;
161
- return n;
165
+ return result;
162
166
  }
163
167
  dump() {
164
168
  return JSON.stringify(this.#compiled);
@@ -183,8 +187,15 @@ class JSONPath {
183
187
  if ( query.length === 0 ) { return; }
184
188
  const steps = [];
185
189
  let c = query.charCodeAt(i);
186
- steps.push({ mv: c === 0x24 /* $ */ ? this.#ROOT : this.#CURRENT });
187
- if ( c === 0x24 /* $ */ || c === 0x40 /* @ */ ) { i += 1; }
190
+ if ( c === 0x24 /* $ */ ) {
191
+ steps.push({ mv: this.#ROOT });
192
+ i += 1;
193
+ } else if ( c === 0x40 /* @ */ ) {
194
+ steps.push({ mv: this.#CURRENT });
195
+ i += 1;
196
+ } else {
197
+ steps.push({ mv: i === 0 ? this.#ROOT : this.#CURRENT });
198
+ }
188
199
  let mv = this.#UNDEFINED;
189
200
  for (;;) {
190
201
  if ( i === query.length ) { break; }
@@ -246,7 +257,8 @@ class JSONPath {
246
257
  i = r.i + 1;
247
258
  mv = this.#UNDEFINED;
248
259
  }
249
- if ( steps.length <= 1 ) { return; }
260
+ if ( steps.length === 0 ) { return; }
261
+ if ( mv !== this.#UNDEFINED ) { return; }
250
262
  return { steps, i };
251
263
  }
252
264
  #evaluate(steps, pathin) {
@@ -255,7 +267,7 @@ class JSONPath {
255
267
  for ( const step of steps ) {
256
268
  switch ( step.mv ) {
257
269
  case this.#ROOT:
258
- resultset = [ [] ];
270
+ resultset = [ [ '$' ] ];
259
271
  break;
260
272
  case this.#CURRENT:
261
273
  resultset = [ pathin ];
@@ -478,13 +490,40 @@ class JSONPath {
478
490
  }
479
491
  if ( outcome ) { return k; }
480
492
  }
481
- #modifyVal(obj, key, rval) {
482
- const lval = obj[key];
483
- if ( rval instanceof Object === false ) { return; }
484
- if ( lval instanceof Object === false ) { return; }
485
- if ( Array.isArray(lval) ) { return; }
486
- for ( const [ k, v ] of Object.entries(rval) ) {
487
- lval[k] = v;
493
+ #modifyVal(obj, key) {
494
+ const { modify, rval } = this.#compiled;
495
+ switch ( modify ) {
496
+ case undefined:
497
+ obj[key] = rval;
498
+ break;
499
+ case '+': {
500
+ if ( rval instanceof Object === false ) { return; }
501
+ const lval = obj[key];
502
+ if ( lval instanceof Object === false ) { return; }
503
+ if ( Array.isArray(lval) ) { return; }
504
+ for ( const [ k, v ] of Object.entries(rval) ) {
505
+ lval[k] = v;
506
+ }
507
+ break;
508
+ }
509
+ case 'repl': {
510
+ const lval = obj[key];
511
+ if ( typeof lval !== 'string' ) { return; }
512
+ if ( this.#compiled.re === undefined ) {
513
+ this.#compiled.re = null;
514
+ try {
515
+ this.#compiled.re = rval.regex !== undefined
516
+ ? new RegExp(rval.regex, rval.flags)
517
+ : new RegExp(rval.pattern.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'));
518
+ } catch {
519
+ }
520
+ }
521
+ if ( this.#compiled.re === null ) { return; }
522
+ obj[key] = lval.replace(this.#compiled.re, rval.replacement);
523
+ break;
524
+ }
525
+ default:
526
+ break;
488
527
  }
489
528
  }
490
529
  }
@@ -501,11 +540,12 @@ function jsonlEditFn(jsonp, text = '') {
501
540
  linesAfter.push(lineBefore);
502
541
  continue;
503
542
  }
504
- if ( jsonp.apply(obj) === 0 ) {
543
+ const objAfter = jsonp.apply(obj);
544
+ if ( objAfter === undefined ) {
505
545
  linesAfter.push(lineBefore);
506
546
  continue;
507
547
  }
508
- const lineAfter = safe.JSON_stringify(obj);
548
+ const lineAfter = safe.JSON_stringify(objAfter);
509
549
  linesAfter.push(lineAfter);
510
550
  }
511
551
  return linesAfter.join(lineSeparator);
@@ -32,11 +32,11 @@
32
32
 
33
33
  function abortCurrentScript(...args) {
34
34
  runAtHtmlElementFn(( ) => {
35
- abortCurrentScriptCore(...args);
35
+ abortCurrentScriptFn(...args);
36
36
  });
37
37
  }
38
38
 
39
- function abortCurrentScriptCore(
39
+ function abortCurrentScriptFn(
40
40
  target = '',
41
41
  needle = '',
42
42
  context = ''
@@ -71,8 +71,9 @@ function abortCurrentScriptCore(
71
71
  const debug = shouldDebug(extraArgs);
72
72
  const exceptionToken = getExceptionTokenFn();
73
73
  const scriptTexts = new WeakMap();
74
+ const textContentGetter = Object.getOwnPropertyDescriptor(Node.prototype, 'textContent').get;
74
75
  const getScriptText = elem => {
75
- let text = elem.textContent;
76
+ let text = textContentGetter.call(elem);
76
77
  if ( text.trim() !== '' ) { return text; }
77
78
  if ( scriptTexts.has(elem) ) { return scriptTexts.get(elem); }
78
79
  const [ , mime, content ] =
@@ -289,7 +289,7 @@ function getRandomTokenFn() {
289
289
 
290
290
  const scriptletGlobals = {}; // eslint-disable-line
291
291
  const argsList = [["SIN.AdsLoader"],["adsBlocked"],["wpsite_clickable_data"],["u_global_data"],["ads_script"],["utarget_script"],["parent.window.opener"]];
292
- const hostnamesMap = new Map([["sinoptik.ua",0],["prozoro.net.ua",1],["classicalmusicnews.ru",2],["agroreview.com",2],["agronews.ua",2],["legion-rus.clan.su",3],["narod.ru",3],["at.ua",3],["clan.su",3],["igrul-ka.ru",3],["selezen.net",3],["my1.ru",3],["do.am",3],["moy.su",3],["jetvis.ru",3],["fanofnfs.3dn.ru",[3,4]],["kubik3.ru",3],["paravozik.tv",3],["greenflash.su",3],["play-force.ru",3],["megomult.ru",3],["rub.org.ua",3],["elektronika56.ru",3],["staroetv.su",3],["pro-zakupki.ru",3],["kino-torrent.net",3],["tc-image.3dn.ru",3],["pokatushki-pmr.ru",3],["tapochek.net",4],["nnmclub.to",5],["friends-online.me",5],["doramakun.ru",5],["kinogo.eu",5],["kino-live2.org",5],["silf.ua",6]]);
292
+ const hostnamesMap = new Map([["sinoptik.ua",0],["prozoro.net.ua",1],["classicalmusicnews.ru",2],["agroreview.com",2],["agronews.ua",2],["legion-rus.clan.su",3],["narod.ru",3],["at.ua",3],["clan.su",3],["igrul-ka.ru",3],["selezen.net",3],["my1.ru",3],["do.am",3],["moy.su",3],["jetvis.ru",3],["fanofnfs.3dn.ru",[3,4]],["kubik3.ru",3],["paravozik.tv",3],["greenflash.su",3],["play-force.ru",3],["megomult.ru",3],["rub.org.ua",3],["elektronika56.ru",3],["staroetv.su",3],["pro-zakupki.ru",3],["kino-torrent.net",3],["tc-image.3dn.ru",3],["pokatushki-pmr.ru",3],["tapochek.net",4],["nnmclub.to",5],["doramakun.ru",5],["kinogo.eu",5],["silf.ua",6]]);
293
293
  const exceptionsMap = new Map([]);
294
294
  const hasEntities = false;
295
295
  const hasAncestors = false;
@@ -32,11 +32,11 @@
32
32
 
33
33
  function abortCurrentScript(...args) {
34
34
  runAtHtmlElementFn(( ) => {
35
- abortCurrentScriptCore(...args);
35
+ abortCurrentScriptFn(...args);
36
36
  });
37
37
  }
38
38
 
39
- function abortCurrentScriptCore(
39
+ function abortCurrentScriptFn(
40
40
  target = '',
41
41
  needle = '',
42
42
  context = ''
@@ -71,8 +71,9 @@ function abortCurrentScriptCore(
71
71
  const debug = shouldDebug(extraArgs);
72
72
  const exceptionToken = getExceptionTokenFn();
73
73
  const scriptTexts = new WeakMap();
74
+ const textContentGetter = Object.getOwnPropertyDescriptor(Node.prototype, 'textContent').get;
74
75
  const getScriptText = elem => {
75
- let text = elem.textContent;
76
+ let text = textContentGetter.call(elem);
76
77
  if ( text.trim() !== '' ) { return text; }
77
78
  if ( scriptTexts.has(elem) ) { return scriptTexts.get(elem); }
78
79
  const [ , mime, content ] =
@@ -370,8 +371,8 @@ function getRandomTokenFn() {
370
371
  /******************************************************************************/
371
372
 
372
373
  const scriptletGlobals = {}; // eslint-disable-line
373
- const argsList = [["Promise","detectedAdblock"],["Object.defineProperty","ADMStorageFileCDN"],["$","aff"],["document.addEventListener","popunder"],["$","arrDirectLink"],["document.getElementById","openPop"],["document.addEventListener","open"],["jQuery","popup"],["WebAssembly","globalThis"],["navigator","devtoolsDetector"],["Symbol","break;case $"],["document.createElement",";break;case"],["eval","$._Eu"],["setTimeout","ad_block"],["setTimeout","Aff"],["jQuery","Popup"],["setInterval","offsetHeight"],["document.addEventListener","Click"],["document.getElementsByClassName","reading-content"],["document.createElement","optad"],["JSON.parse","break;case $."],["$","PopUnder"],["jQuery","click_time"],["JSON","fromCharCode"],["document.createElement","script"],["addEvent","popu"],["$","p0pUpRandom"],["document.querySelectorAll","popMagic"],["document.getElementById","myModal"],["$","window.open"],["eval"],["Promise","break;case"],["document.addEventListener","popup"],["document.body.addEventListener","window.open"],["jQuery","window.open"],["document.addEventListener","runAllDetections"],["WebAssembly","instantiate"],["jQuery","open"],["document.write","snow"],["document.addEventListener","shopee"],["setTimeout","open"],["jQuery","click_ads"],["setTimeout","window.location"]];
374
- const hostnamesMap = new Map([["10gb.vn",0],["cafef.vn",1],["gamek.vn",1],["genk.vn",1],["kenh14.vn",1],["soha.vn",1],["tuoitre.vn",1],["afamily.vn",1],["thanhnien.vn",1],["childish2x2.fun",2],["dualeotruyenp.com",[3,36]],["m.blogtruyenmoi.com",3],["economic45882.shop",4],["cdn4.tiptoe34x1.fun",4],["freeplayervideo.com",5],["abysscdn.com",5],["player-cdn.com",5],["playhydrax.com",5],["game8.vn",6],["vnsex.phimsexthailan.pro",6],["cunghocvui.com",6],["sexhd88.online",6],["gocmod.com",7],["goctruyentranhvui17.com",8],["nettruyenrr.com",8],["sextop1.show",8],["hhvsub1.com",8],["vn5.sexviet88.xyz",[8,36]],["gotphim.com",9],["hh3dhay.life",[10,11,12]],["tram3d.com",11],["tram3d.me",12],["animevietsub.lol",12],["imail.edu.vn",[13,14]],["motchill95.com",14],["trumtruyen.live",14],["ios.codevn.net",[15,16]],["javhd.shop",17],["laophatgia.net",18],["linkneverdie.net",19],["linkneverdie.top",19],["linkneverdie2.com",19],["lrepacks.net",20],["lxmanga.blog",21],["motchilltvphim.com",22],["nettruyenvio.com",23],["p.thoctv.com",24],["phimmoi.sale",25],["phimtho.net",26],["rphang.online",27],["misskon.com",27],["saigon24.net",28],["tinsoikeo.live",29],["tusachmanga.com",29],["truyen247.pro",30],["truyenqqtto.com",31],["vnhaysexvn.com",31],["truyensextv.com",32],["www.sieutamphim.org",[32,39]],["ungtycomicsvip.org",[33,36]],["vailonxx.vip",34],["vanphatelectric.com",35],["viet69.fo",36],["vlxx.bz",36],["yurineko.my",36],["phimheo3x.com",36],["cliphot69.beer",36],["doctruyen3qui10.pro",36],["ihentai.cloud",36],["hentaivc.com",36],["buomtv.live",36],["truyenvn.shop",36],["javtiful.com",36],["quatvn.love",36],["vn48phimsexhay.com",36],["phim18hdxx.com",36],["sexmup3x.net",36],["demo.14412882.com",36],["cliphot69.pics",36],["hhtq5.vip",36],["sexdiary.club",36],["vn2.xvideos69.xxx",36],["umetruyenhay.com",36],["damconuong.cam",36],["truyenqqgo.com",36],["clipsexsub3x.net",36],["sayhentaii.art",36],["viet69.hot",37],["vungoctuan.vn",38],["www.toptruyentv8.com",40],["www.truyen35zz.com",41],["xnxx-sex-videos.com",42]]);
374
+ const argsList = [["Promise","detectedAdblock"],["Object.defineProperty","ADMStorageFileCDN"],["$","aff"],["document.addEventListener","popunder"],["$","arrDirectLink"],["document.getElementById","openPop"],["document.addEventListener","open"],["jQuery","popup"],["WebAssembly","globalThis"],["navigator","devtoolsDetector"],["Symbol","break;case $"],["document.createElement",";break;case"],["eval","$._Eu"],["setTimeout","ad_block"],["setTimeout","Aff"],["jQuery","Popup"],["setInterval","offsetHeight"],["document.addEventListener","Click"],["document.getElementsByClassName","reading-content"],["document.createElement","optad"],["JSON.parse","break;case $."],["$","PopUnder"],["jQuery","click_time"],["JSON","fromCharCode"],["document.createElement","script"],["addEvent","popu"],["$","p0pUpRandom"],["document.querySelectorAll","popMagic"],["document.getElementById","myModal"],["eval"],["Promise","break;case"],["document.addEventListener","popup"],["$","window.open"],["jQuery","window.open"],["document.addEventListener","runAllDetections"],["jQuery","open"],["WebAssembly","instantiate"],["document.write","snow"],["document.addEventListener","shopee"],["setTimeout","open"],["jQuery","click_ads"],["setTimeout","window.location"]];
375
+ const hostnamesMap = new Map([["10gb.vn",0],["cafef.vn",1],["gamek.vn",1],["genk.vn",1],["kenh14.vn",1],["soha.vn",1],["tuoitre.vn",1],["afamily.vn",1],["thanhnien.vn",1],["childish2x2.fun",2],["dualeotruyenpm.com",[3,36]],["m.blogtruyenmoi.com",3],["economic45882.shop",4],["cdn4.tiptoe34x1.fun",4],["freeplayervideo.com",5],["abysscdn.com",5],["player-cdn.com",5],["playhydrax.com",5],["game8.vn",6],["cunghocvui.com",6],["sexhd88.online",6],["gocmod.com",7],["goctruyentranhvui17.com",8],["nettruyenar.com",8],["sextop1.show",8],["hhvsub1.com",8],["vn5.sexviet88.xyz",[8,36]],["gotphim.com",9],["hh3dhay.life",[10,11,12]],["tram3d.com",11],["tram3d.me",12],["animevietsub.cam",12],["imail.edu.vn",[13,14]],["motchill19.com",14],["trumtruyen.live",14],["ios.codevn.net",[15,16]],["javhd.shop",17],["laophatgia.net",18],["linkneverdie.net",19],["linkneverdie.top",19],["linkneverdie2.com",19],["lrepacks.net",20],["lxmanga.my",21],["motchilltvphim.com",22],["nettruyenvia.com",23],["p.thoctv.com",24],["phimmoi.sale",25],["phimtho.net",26],["rphang.online",27],["misskon.com",27],["saigon24.net",28],["truyen247.pro",29],["truyenqqtto.com",30],["haysex.site",30],["truyensextv.com",31],["www.sieutamphim.org",[31,38]],["tusachmanga.com",32],["vailonxx.vip",33],["vanphatelectric.com",34],["viet69.free",35],["vlxx.bz",36],["yurineko.my",36],["heohay.net",36],["cliphot69.shop",36],["doctruyen3qui12.pro",36],["ihentai.cloud",36],["hentaivc.net",36],["buomtv.live",36],["truyenvn.shop",36],["javtiful.com",36],["quatvn.love",36],["vn65phimsexhay.com",36],["phim18hdxx.com",36],["sexmup3x.net",36],["demo.14412882.com",36],["cliphot69.pics",36],["hhtq5.vip",36],["sexdiary.club",36],["vn2.xvideos69.xxx",36],["umetruyenhay.com",36],["damconuong.run",36],["truyenqqgo.com",36],["clipsexsub3x.net",36],["sayhentaii.art",36],["vungoctuan.vn",37],["www.toptruyentv8.com",39],["www.truyen35zz.com",40],["xnxx-sex-videos.com",41]]);
375
376
  const exceptionsMap = new Map([]);
376
377
  const hasEntities = false;
377
378
  const hasAncestors = false;
@@ -288,8 +288,8 @@ function getRandomTokenFn() {
288
288
  /******************************************************************************/
289
289
 
290
290
  const scriptletGlobals = {}; // eslint-disable-line
291
- const argsList = [["_0x3f9b"],["parseInt"],["adpiaListUrl"],["Math.round"],["pushOnPage"],["ads"],["adsPlayer"],["adsPopupPlayer"],["adsTvc"],["keyPlayer"],["Cookies"],["affUrls"],["sessionStorage"],["document.cookie"],["nFNcksmwU"],["open"],["oneClick"],["sp"],["localStorage"],["adsRedirectPopups"],["adtimaConfig"]];
292
- const hostnamesMap = new Map([["animevietsubs.net",0],["aoe.vn",1],["audiotruyenfull.com",2],["javnong.cc",3],["linkneverdie.net",4],["linkneverdie.top",4],["linkneverdie2.com",4],["plcdn.xyz",[5,6,7,8,9]],["sexmup3x.net",10],["thichxemphim1.site",11],["tinsoikeo.live",12],["motchilli.cx",12],["truyensieuhay.com",13],["hayhaytv.site",13],["quangcaoyenbai.com",13],["phimchill.life",13],["thuvienhd.biz",13],["tv.tvhayhd.org",13],["thefaplive.com",13],["mv.dailyphimz.com",13],["mv.phimbathu.one",13],["sexhihi.bar",13],["anime47.shop",13],["teamlanhlung8.shop",[13,18]],["hdcphim.com",13],["veryfiles.com",14],["viettoons.tv",15],["mv.phimmoiaz.cc",15],["ytstv.me",15],["anime10.site",15],["anh.moe",15],["maclife.io",15],["xemphimjav.us",[15,18]],["hoctot.hocmai.vn",15],["bluphim.uk.com",15],["samtruyentranh.com",15],["truyenfull.vision",15],["player.phimapi.com",15],["noitu.site",15],["vinaurl.net",16],["www.nettruyenupp.com",17],["www.phimdinhcao.online",18],["motchill95.com",18],["xnhau.sh",18],["xoilacvvd.cc",19],["znews.vn",20]]);
291
+ const argsList = [["_0x3f9b"],["parseInt"],["adpiaListUrl"],["Math.round"],["pushOnPage"],["localStorage"],["sessionStorage"],["ads"],["adsPlayer"],["adsPopupPlayer"],["adsTvc"],["keyPlayer"],["Cookies"],["affUrls"],["document.cookie"],["nFNcksmwU"],["open"],["oneClick"],["sp"],["adsRedirectPopups"],["adtimaConfig"]];
292
+ const hostnamesMap = new Map([["animevietsubs.net",0],["aoe.vn",1],["audiotruyenfull.com",2],["javnong.cc",3],["linkneverdie.net",4],["linkneverdie.top",4],["linkneverdie2.com",4],["motchill19.com",5],["xnhau.sh",5],["teamlanhlung8.shop",[5,14]],["xemphimjav.us",[5,16]],["motchillk.to",6],["plcdn.xyz",[7,8,9,10,11]],["sexmup3x.net",12],["thichxemphim.live",13],["truyensieuhay.com",14],["hayhaytv.site",14],["quangcaoyenbai.com",14],["phimchill.life",14],["thuvienhd.biz",14],["tv.tvhayhd.org",14],["thefaplive.com",14],["mv.dailyphimz.com",14],["mv.phimbathu.one",14],["sexhihi.bar",14],["anime47.live",14],["hdcphim.us",14],["forum.timfshare.com",14],["veryfiles.com",15],["viettoons.tv",16],["mv.phimmoiaz.cc",16],["anime11.site",16],["anh.moe",16],["maclife.io",16],["hoctot.hocmai.vn",16],["bluphim.uk.com",16],["samtruyentranh.com",16],["truyenfull.vision",16],["player.phimapi.com",16],["noitu.site",16],["vinaurl.net",17],["www.nettruyenupp.com",18],["xoilacvvy.cc",19],["znews.vn",20]]);
293
293
  const exceptionsMap = new Map([]);
294
294
  const hasEntities = false;
295
295
  const hasAncestors = false;
@@ -461,7 +461,7 @@ function validateConstantFn(trusted, raw, extraArgs = {}) {
461
461
 
462
462
  const scriptletGlobals = {}; // eslint-disable-line
463
463
  const argsList = [["ADMStorageFileCDN","noopFunc"],["a_vid","0"],["video.adVast",""],["open","noopFunc"],["maxAds","0"],["urlAds",""],["linkAff","null","3"],["adsPlayer",""],["adsTvcs",""],["seconds","0"],["D4zz","noopFunc"],["timer","0"]];
464
- const hostnamesMap = new Map([["cafef.vn",0],["gamek.vn",0],["genk.vn",0],["kenh14.vn",0],["soha.vn",0],["tuoitre.vn",0],["afamily.vn",0],["thanhnien.vn",0],["cliphot69.pics",1],["clipsex.cam",2],["ww1.ditnhau.cc",2],["freeplayervideo.com",3],["abysscdn.com",3],["player-cdn.com",3],["hayhaytv.site",4],["subnhanh1.org",4],["phimvuihd.org",5],["tailieumoi.vn",6],["verminsupreme.com",[7,8]],["vndoc.com",9],["www.gvnvh.net",10],["sexdiaryx.to",10],["www.iosviet.com",11]]);
464
+ const hostnamesMap = new Map([["cafef.vn",0],["gamek.vn",0],["genk.vn",0],["kenh14.vn",0],["soha.vn",0],["tuoitre.vn",0],["afamily.vn",0],["thanhnien.vn",0],["cliphot69.pics",1],["clipsex.cam",2],["freeplayervideo.com",3],["abysscdn.com",3],["player-cdn.com",3],["hayhaytv.site",4],["subnhanh1.org",4],["phimvuihd.org",5],["tailieumoi.vn",6],["visitfrenchwine.com",[7,8]],["vndoc.com",9],["www.gvnvh.net",10],["sexdiaryx.to",10],["www.iosviet.com",11]]);
465
465
  const exceptionsMap = new Map([]);
466
466
  const hasEntities = false;
467
467
  const hasAncestors = false;