@browserless.io/browserless 2.37.0 → 2.38.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 (492) hide show
  1. package/CHANGELOG.md +25 -1
  2. package/build/browsers/index.js +15 -0
  3. package/build/routes/chrome/http/content.post.query.json +3 -0
  4. package/build/routes/chrome/http/download.post.query.json +3 -0
  5. package/build/routes/chrome/http/function.post.query.json +3 -0
  6. package/build/routes/chrome/http/pdf.post.query.json +3 -0
  7. package/build/routes/chrome/http/performance.post.query.json +3 -0
  8. package/build/routes/chrome/http/scrape.post.query.json +3 -0
  9. package/build/routes/chrome/http/screenshot.post.query.json +3 -0
  10. package/build/routes/chrome/tests/content.spec.js +21 -0
  11. package/build/routes/chrome/tests/json.spec.js +100 -0
  12. package/build/routes/chrome/ws/browser.query.json +3 -0
  13. package/build/routes/chrome/ws/cdp.query.json +3 -0
  14. package/build/routes/chrome/ws/function-connect.query.json +3 -0
  15. package/build/routes/chrome/ws/page.query.json +3 -0
  16. package/build/routes/chromium/http/content.post.query.json +3 -0
  17. package/build/routes/chromium/http/download.post.query.json +3 -0
  18. package/build/routes/chromium/http/function.post.query.json +3 -0
  19. package/build/routes/chromium/http/pdf.post.query.json +3 -0
  20. package/build/routes/chromium/http/performance.post.query.json +3 -0
  21. package/build/routes/chromium/http/scrape.post.query.json +3 -0
  22. package/build/routes/chromium/http/screenshot.post.query.json +3 -0
  23. package/build/routes/chromium/tests/content.spec.js +21 -0
  24. package/build/routes/chromium/tests/function.spec.js +27 -0
  25. package/build/routes/chromium/tests/json.spec.js +100 -0
  26. package/build/routes/chromium/ws/browser.query.json +3 -0
  27. package/build/routes/chromium/ws/cdp.query.json +3 -0
  28. package/build/routes/chromium/ws/function-connect.query.json +3 -0
  29. package/build/routes/chromium/ws/page.query.json +3 -0
  30. package/build/routes/edge/http/content.post.query.json +3 -0
  31. package/build/routes/edge/http/download.post.query.json +3 -0
  32. package/build/routes/edge/http/function.post.query.json +3 -0
  33. package/build/routes/edge/http/pdf.post.query.json +3 -0
  34. package/build/routes/edge/http/performance.post.query.json +3 -0
  35. package/build/routes/edge/http/scrape.post.query.json +3 -0
  36. package/build/routes/edge/http/screenshot.post.query.json +3 -0
  37. package/build/routes/edge/tests/content.spec.js +21 -0
  38. package/build/routes/edge/tests/json.spec.js +100 -0
  39. package/build/routes/edge/ws/browser.query.json +3 -0
  40. package/build/routes/edge/ws/cdp.query.json +3 -0
  41. package/build/routes/edge/ws/function-connect.query.json +3 -0
  42. package/build/routes/edge/ws/page.query.json +3 -0
  43. package/build/routes/management/http/kill.get.query.json +3 -0
  44. package/build/routes/management/http/sessions.get.query.json +3 -0
  45. package/build/routes/management/tests/management.spec.js +44 -0
  46. package/build/server.js +1 -1
  47. package/build/shim.js +11 -1
  48. package/build/shim.spec.js +14 -0
  49. package/build/types.d.ts +2 -0
  50. package/extensions/ublocklite/_locales/ar/messages.json +5 -5
  51. package/extensions/ublocklite/_locales/br_FR/messages.json +2 -2
  52. package/extensions/ublocklite/_locales/cs/messages.json +8 -8
  53. package/extensions/ublocklite/_locales/da/messages.json +5 -5
  54. package/extensions/ublocklite/_locales/de/messages.json +1 -1
  55. package/extensions/ublocklite/_locales/es/messages.json +4 -4
  56. package/extensions/ublocklite/_locales/fa/messages.json +8 -8
  57. package/extensions/ublocklite/_locales/gl/messages.json +5 -5
  58. package/extensions/ublocklite/_locales/hu/messages.json +5 -5
  59. package/extensions/ublocklite/_locales/ka/messages.json +5 -5
  60. package/extensions/ublocklite/_locales/nb/messages.json +7 -7
  61. package/extensions/ublocklite/_locales/pt_PT/messages.json +9 -9
  62. package/extensions/ublocklite/_locales/ro/messages.json +32 -32
  63. package/extensions/ublocklite/_locales/ru/messages.json +3 -3
  64. package/extensions/ublocklite/_locales/sq/messages.json +5 -5
  65. package/extensions/ublocklite/_locales/sv/messages.json +5 -5
  66. package/extensions/ublocklite/_locales/zh_CN/messages.json +5 -5
  67. package/extensions/ublocklite/css/settings.css +6 -0
  68. package/extensions/ublocklite/dashboard.html +1 -1
  69. package/extensions/ublocklite/js/background.js +29 -8
  70. package/extensions/ublocklite/js/dashboard.js +4 -5
  71. package/extensions/ublocklite/js/jsonpath.js +25 -10
  72. package/extensions/ublocklite/js/mode-manager.js +7 -9
  73. package/extensions/ublocklite/js/report.js +2 -4
  74. package/extensions/ublocklite/js/scripting/css-api.js +33 -0
  75. package/extensions/ublocklite/js/scripting/css-generic.js +3 -13
  76. package/extensions/ublocklite/js/scripting/css-procedural-api.js +1 -9
  77. package/extensions/ublocklite/js/scripting/css-procedural.js +1 -5
  78. package/extensions/ublocklite/js/scripting/css-specific.js +1 -5
  79. package/extensions/ublocklite/js/scripting-manager.js +11 -8
  80. package/extensions/ublocklite/js/troubleshooting.js +33 -18
  81. package/extensions/ublocklite/js/utils.js +15 -13
  82. package/extensions/ublocklite/manifest.json +3 -2
  83. package/extensions/ublocklite/rulesets/generic-details.json +4 -2
  84. package/extensions/ublocklite/rulesets/main/adguard-mobile.json +4 -5
  85. package/extensions/ublocklite/rulesets/main/adguard-spyware-url.json +13 -8
  86. package/extensions/ublocklite/rulesets/main/annoyances-cookies.json +24 -18
  87. package/extensions/ublocklite/rulesets/main/annoyances-notifications.json +2 -1
  88. package/extensions/ublocklite/rulesets/main/annoyances-others.json +3 -2
  89. package/extensions/ublocklite/rulesets/main/annoyances-widgets.json +5 -3
  90. package/extensions/ublocklite/rulesets/main/chn-0.json +26 -16
  91. package/extensions/ublocklite/rulesets/main/deu-0.json +4 -4
  92. package/extensions/ublocklite/rulesets/main/dpollock-0.json +2 -1
  93. package/extensions/ublocklite/rulesets/main/easylist.json +44 -101
  94. package/extensions/ublocklite/rulesets/main/easyprivacy.json +28 -15
  95. package/extensions/ublocklite/rulesets/main/est-0.json +2 -1
  96. package/extensions/ublocklite/rulesets/main/fin-0.json +3 -1
  97. package/extensions/ublocklite/rulesets/main/fra-0.json +6 -4
  98. package/extensions/ublocklite/rulesets/main/hrv-0.json +6 -3
  99. package/extensions/ublocklite/rulesets/main/hun-0.json +5 -2
  100. package/extensions/ublocklite/rulesets/main/idn-0.json +1 -1
  101. package/extensions/ublocklite/rulesets/main/ind-0.json +36 -34
  102. package/extensions/ublocklite/rulesets/main/isr-0.json +1 -1
  103. package/extensions/ublocklite/rulesets/main/ita-0.json +6 -3
  104. package/extensions/ublocklite/rulesets/main/jpn-1.json +31 -24
  105. package/extensions/ublocklite/rulesets/main/kor-1.json +5 -3
  106. package/extensions/ublocklite/rulesets/main/mkd-0.json +2 -1
  107. package/extensions/ublocklite/rulesets/main/nld-0.json +3 -1
  108. package/extensions/ublocklite/rulesets/main/nor-0.json +17 -3
  109. package/extensions/ublocklite/rulesets/main/pgl.json +16 -20
  110. package/extensions/ublocklite/rulesets/main/pol-0.json +1 -1
  111. package/extensions/ublocklite/rulesets/main/rus-0.json +14 -13
  112. package/extensions/ublocklite/rulesets/main/rus-1.json +5 -2
  113. package/extensions/ublocklite/rulesets/main/spa-1.json +13 -3
  114. package/extensions/ublocklite/rulesets/main/stevenblack-hosts.json +11287 -12041
  115. package/extensions/ublocklite/rulesets/main/swe-1.json +24 -22
  116. package/extensions/ublocklite/rulesets/main/tur-0.json +15 -6
  117. package/extensions/ublocklite/rulesets/main/ublock-badware.json +30 -3
  118. package/extensions/ublocklite/rulesets/main/ublock-filters.json +91 -88
  119. package/extensions/ublocklite/rulesets/main/ukr-0.json +3 -3
  120. package/extensions/ublocklite/rulesets/main/urlhaus-full.json +4063 -328
  121. package/extensions/ublocklite/rulesets/main/vie-1.json +62 -51
  122. package/extensions/ublocklite/rulesets/regex/block-lan.json +16 -0
  123. package/extensions/ublocklite/rulesets/regex/chn-0.json +3 -2
  124. package/extensions/ublocklite/rulesets/regex/easylist.json +1 -6
  125. package/extensions/ublocklite/rulesets/regex/jpn-1.json +2 -3
  126. package/extensions/ublocklite/rulesets/regex/rus-0.json +2 -1
  127. package/extensions/ublocklite/rulesets/regex/ublock-badware.json +5 -5
  128. package/extensions/ublocklite/rulesets/regex/ublock-filters.json +23 -14
  129. package/extensions/ublocklite/rulesets/ruleset-details.json +239 -239
  130. package/extensions/ublocklite/rulesets/scripting/generic/adguard-mobile.js +2 -2
  131. package/extensions/ublocklite/rulesets/scripting/generic/alb-0.js +1 -1
  132. package/extensions/ublocklite/rulesets/scripting/generic/annoyances-cookies.js +3 -3
  133. package/extensions/ublocklite/rulesets/scripting/generic/annoyances-notifications.js +2 -2
  134. package/extensions/ublocklite/rulesets/scripting/generic/annoyances-others.js +2 -2
  135. package/extensions/ublocklite/rulesets/scripting/generic/annoyances-overlays.js +2 -2
  136. package/extensions/ublocklite/rulesets/scripting/generic/annoyances-social.js +3 -3
  137. package/extensions/ublocklite/rulesets/scripting/generic/annoyances-widgets.js +1 -1
  138. package/extensions/ublocklite/rulesets/scripting/generic/bgr-0.js +2 -2
  139. package/extensions/ublocklite/rulesets/scripting/generic/chn-0.js +2 -2
  140. package/extensions/ublocklite/rulesets/scripting/generic/cze-0.js +2 -2
  141. package/extensions/ublocklite/rulesets/scripting/generic/deu-0.js +2 -2
  142. package/extensions/ublocklite/rulesets/scripting/generic/easylist.js +3 -3
  143. package/extensions/ublocklite/rulesets/scripting/generic/easyprivacy.js +1 -1
  144. package/extensions/ublocklite/rulesets/scripting/generic/est-0.js +2 -2
  145. package/extensions/ublocklite/rulesets/scripting/generic/fin-0.js +2 -2
  146. package/extensions/ublocklite/rulesets/scripting/generic/fra-0.js +2 -2
  147. package/extensions/ublocklite/rulesets/scripting/generic/grc-0.js +2 -2
  148. package/extensions/ublocklite/rulesets/scripting/generic/hrv-0.js +2 -2
  149. package/extensions/ublocklite/rulesets/scripting/generic/hun-0.js +2 -2
  150. package/extensions/ublocklite/rulesets/scripting/generic/idn-0.js +2 -2
  151. package/extensions/ublocklite/rulesets/scripting/generic/ind-0.js +1 -1
  152. package/extensions/ublocklite/rulesets/scripting/generic/irn-0.js +2 -2
  153. package/extensions/ublocklite/rulesets/scripting/generic/isr-0.js +2 -2
  154. package/extensions/ublocklite/rulesets/scripting/generic/ita-0.js +2 -2
  155. package/extensions/ublocklite/rulesets/scripting/generic/jpn-1.js +2 -2
  156. package/extensions/ublocklite/rulesets/scripting/generic/kor-1.js +2 -2
  157. package/extensions/ublocklite/rulesets/scripting/generic/ltu-0.js +1 -1
  158. package/extensions/ublocklite/rulesets/scripting/generic/lva-0.js +1 -1
  159. package/extensions/ublocklite/rulesets/scripting/generic/mkd-0.js +2 -2
  160. package/extensions/ublocklite/rulesets/scripting/generic/nld-0.js +2 -2
  161. package/extensions/ublocklite/rulesets/scripting/generic/nor-0.js +2 -2
  162. package/extensions/ublocklite/rulesets/scripting/generic/pol-0.js +2 -2
  163. package/extensions/ublocklite/rulesets/scripting/generic/rou-1.js +2 -2
  164. package/extensions/ublocklite/rulesets/scripting/generic/rus-0.js +2 -2
  165. package/extensions/ublocklite/rulesets/scripting/generic/rus-1.js +2 -2
  166. package/extensions/ublocklite/rulesets/scripting/generic/spa-0.js +2 -2
  167. package/extensions/ublocklite/rulesets/scripting/generic/spa-1.js +2 -2
  168. package/extensions/ublocklite/rulesets/scripting/generic/svn-0.js +1 -1
  169. package/extensions/ublocklite/rulesets/scripting/generic/swe-1.js +2 -2
  170. package/extensions/ublocklite/rulesets/scripting/generic/tha-0.js +1 -1
  171. package/extensions/ublocklite/rulesets/scripting/generic/tur-0.js +2 -2
  172. package/extensions/ublocklite/rulesets/scripting/generic/ublock-badware.js +1 -1
  173. package/extensions/ublocklite/rulesets/scripting/generic/ublock-filters.js +3 -3
  174. package/extensions/ublocklite/rulesets/scripting/generic/ubol-tests.js +2 -2
  175. package/extensions/ublocklite/rulesets/scripting/generic/ukr-0.js +3 -3
  176. package/extensions/ublocklite/rulesets/scripting/generic/vie-1.js +3 -3
  177. package/extensions/ublocklite/rulesets/scripting/generichigh/chn-0.css +3 -5
  178. package/extensions/ublocklite/rulesets/scripting/generichigh/easylist.css +4 -0
  179. package/extensions/ublocklite/rulesets/scripting/generichigh/idn-0.css +4 -0
  180. package/extensions/ublocklite/rulesets/scripting/generichigh/rus-0.css +1 -1
  181. package/extensions/ublocklite/rulesets/scripting/procedural/adguard-mobile.js +3 -3
  182. package/extensions/ublocklite/rulesets/scripting/procedural/annoyances-cookies.js +3 -3
  183. package/extensions/ublocklite/rulesets/scripting/procedural/annoyances-others.js +2 -2
  184. package/extensions/ublocklite/rulesets/scripting/procedural/annoyances-overlays.js +3 -3
  185. package/extensions/ublocklite/rulesets/scripting/procedural/chn-0.js +3 -3
  186. package/extensions/ublocklite/rulesets/scripting/procedural/easylist.js +3 -3
  187. package/extensions/ublocklite/rulesets/scripting/procedural/fin-0.js +1 -1
  188. package/extensions/ublocklite/rulesets/scripting/procedural/fra-0.js +1 -1
  189. package/extensions/ublocklite/rulesets/scripting/procedural/grc-0.js +3 -3
  190. package/extensions/ublocklite/rulesets/scripting/procedural/ind-0.js +3 -3
  191. package/extensions/ublocklite/rulesets/scripting/procedural/irn-0.js +3 -3
  192. package/extensions/ublocklite/rulesets/scripting/procedural/isr-0.js +3 -3
  193. package/extensions/ublocklite/rulesets/scripting/procedural/jpn-1.js +3 -3
  194. package/extensions/ublocklite/rulesets/scripting/procedural/kor-1.js +3 -3
  195. package/extensions/ublocklite/rulesets/scripting/procedural/rou-1.js +3 -3
  196. package/extensions/ublocklite/rulesets/scripting/procedural/rus-0.js +3 -3
  197. package/extensions/ublocklite/rulesets/scripting/procedural/rus-1.js +3 -3
  198. package/extensions/ublocklite/rulesets/scripting/procedural/spa-1.js +3 -3
  199. package/extensions/ublocklite/rulesets/scripting/procedural/swe-1.js +3 -3
  200. package/extensions/ublocklite/rulesets/scripting/procedural/ublock-experimental.js +42 -0
  201. package/extensions/ublocklite/rulesets/scripting/procedural/ublock-filters.js +3 -3
  202. package/extensions/ublocklite/rulesets/scripting/scriptlet/adguard-mobile.addEventListener-defuser.js +7 -3
  203. package/extensions/ublocklite/rulesets/scripting/scriptlet/adguard-mobile.prevent-setTimeout.js +5 -1
  204. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.addEventListener-defuser.js +5 -1
  205. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.prevent-requestAnimationFrame.js +5 -1
  206. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.prevent-setTimeout.js +5 -1
  207. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.remove-node-text.js +1 -1
  208. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.set-cookie.js +2 -2
  209. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.set-local-storage-item.js +2 -2
  210. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.set-session-storage-item.js +2 -2
  211. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.trusted-click-element.js +5 -2
  212. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.trusted-replace-node-text.js +2 -2
  213. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.trusted-set-cookie.js +2 -2
  214. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-notifications.addEventListener-defuser.js +5 -1
  215. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-notifications.set-constant.js +2 -2
  216. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-others.addEventListener-defuser.js +5 -1
  217. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-others.json-prune.js +2 -2
  218. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-others.prevent-setInterval.js +5 -1
  219. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-others.prevent-setTimeout.js +5 -1
  220. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-others.set-cookie.js +2 -2
  221. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.abort-current-script.js +2 -2
  222. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.abort-on-stack-trace.js +2 -2
  223. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.addEventListener-defuser.js +6 -2
  224. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.noeval-if.js +5 -1
  225. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.prevent-fetch.js +5 -1
  226. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.prevent-setInterval.js +5 -1
  227. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.prevent-setTimeout.js +6 -2
  228. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.prevent-window-open.js +5 -1
  229. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.remove-attr.js +2 -2
  230. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.remove-class.js +2 -2
  231. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.remove-node-text.js +2 -2
  232. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.set-constant.js +2 -2
  233. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.trusted-click-element.js +3 -0
  234. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.trusted-replace-argument.js +19 -8
  235. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.trusted-replace-outbound-text.js +5 -1
  236. package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.trusted-suppress-native-method.js +5 -1
  237. package/extensions/ublocklite/rulesets/scripting/scriptlet/chn-0.addEventListener-defuser.js +5 -1
  238. package/extensions/ublocklite/rulesets/scripting/scriptlet/chn-0.evaldata-prune.js +5 -1
  239. package/extensions/ublocklite/rulesets/scripting/scriptlet/chn-0.noeval-if.js +5 -1
  240. package/extensions/ublocklite/rulesets/scripting/scriptlet/chn-0.prevent-fetch.js +7 -3
  241. package/extensions/ublocklite/rulesets/scripting/scriptlet/chn-0.prevent-setInterval.js +5 -1
  242. package/extensions/ublocklite/rulesets/scripting/scriptlet/chn-0.prevent-setTimeout.js +6 -2
  243. package/extensions/ublocklite/rulesets/scripting/scriptlet/chn-0.prevent-window-open.js +5 -1
  244. package/extensions/ublocklite/rulesets/scripting/scriptlet/chn-0.set-constant.js +1 -1
  245. package/extensions/ublocklite/rulesets/scripting/scriptlet/{nld-0.json-prune-fetch-response.js → chn-0.set-cookie.js} +120 -266
  246. package/extensions/ublocklite/rulesets/scripting/scriptlet/cze-0.addEventListener-defuser.js +5 -1
  247. package/extensions/ublocklite/rulesets/scripting/scriptlet/cze-0.prevent-setInterval.js +5 -1
  248. package/extensions/ublocklite/rulesets/scripting/scriptlet/cze-0.prevent-setTimeout.js +5 -1
  249. package/extensions/ublocklite/rulesets/scripting/scriptlet/easyprivacy.prevent-fetch.js +5 -1
  250. package/extensions/ublocklite/rulesets/scripting/scriptlet/est-0.addEventListener-defuser.js +5 -1
  251. package/extensions/ublocklite/rulesets/scripting/scriptlet/fin-0.prevent-setTimeout.js +5 -1
  252. package/extensions/ublocklite/rulesets/scripting/scriptlet/{vie-1.addEventListener-defuser.js → fin-0.remove-node-text.js} +105 -154
  253. package/extensions/ublocklite/rulesets/scripting/scriptlet/fra-0.addEventListener-defuser.js +5 -1
  254. package/extensions/ublocklite/rulesets/scripting/scriptlet/fra-0.prevent-fetch.js +5 -1
  255. package/extensions/ublocklite/rulesets/scripting/scriptlet/fra-0.prevent-requestAnimationFrame.js +5 -1
  256. package/extensions/ublocklite/rulesets/scripting/scriptlet/fra-0.prevent-setInterval.js +5 -1
  257. package/extensions/ublocklite/rulesets/scripting/scriptlet/fra-0.prevent-setTimeout.js +5 -1
  258. package/extensions/ublocklite/rulesets/scripting/scriptlet/fra-0.prevent-window-open.js +5 -1
  259. package/extensions/ublocklite/rulesets/scripting/scriptlet/hun-0.addEventListener-defuser.js +5 -1
  260. package/extensions/ublocklite/rulesets/scripting/scriptlet/hun-0.prevent-setTimeout.js +5 -1
  261. package/extensions/ublocklite/rulesets/scripting/scriptlet/hun-0.prevent-window-open.js +5 -1
  262. package/extensions/ublocklite/rulesets/scripting/scriptlet/hun-0.set-constant.js +2 -2
  263. package/extensions/ublocklite/rulesets/scripting/scriptlet/idn-0.addEventListener-defuser.js +5 -1
  264. package/extensions/ublocklite/rulesets/scripting/scriptlet/idn-0.noeval-if.js +5 -1
  265. package/extensions/ublocklite/rulesets/scripting/scriptlet/idn-0.prevent-fetch.js +5 -1
  266. package/extensions/ublocklite/rulesets/scripting/scriptlet/idn-0.prevent-setTimeout.js +5 -1
  267. package/extensions/ublocklite/rulesets/scripting/scriptlet/idn-0.prevent-window-open.js +5 -1
  268. package/extensions/ublocklite/rulesets/scripting/scriptlet/irn-0.addEventListener-defuser.js +5 -1
  269. package/extensions/ublocklite/rulesets/scripting/scriptlet/irn-0.href-sanitizer.js +4 -22
  270. package/extensions/ublocklite/rulesets/scripting/scriptlet/irn-0.prevent-fetch.js +5 -1
  271. package/extensions/ublocklite/rulesets/scripting/scriptlet/irn-0.prevent-setTimeout.js +5 -1
  272. package/extensions/ublocklite/rulesets/scripting/scriptlet/irn-0.prevent-window-open.js +5 -1
  273. package/extensions/ublocklite/rulesets/scripting/scriptlet/isr-0.addEventListener-defuser.js +5 -1
  274. package/extensions/ublocklite/rulesets/scripting/scriptlet/isr-0.prevent-fetch.js +6 -2
  275. package/extensions/ublocklite/rulesets/scripting/scriptlet/isr-0.prevent-setTimeout.js +5 -1
  276. package/extensions/ublocklite/rulesets/scripting/scriptlet/isr-0.prevent-window-open.js +5 -1
  277. package/extensions/ublocklite/rulesets/scripting/scriptlet/jpn-1.addEventListener-defuser.js +5 -1
  278. package/extensions/ublocklite/rulesets/scripting/scriptlet/jpn-1.adjust-setInterval.js +2 -2
  279. package/extensions/ublocklite/rulesets/scripting/scriptlet/jpn-1.href-sanitizer.js +6 -24
  280. package/extensions/ublocklite/rulesets/scripting/scriptlet/jpn-1.json-prune.js +2 -2
  281. package/extensions/ublocklite/rulesets/scripting/scriptlet/jpn-1.noeval-if.js +5 -1
  282. package/extensions/ublocklite/rulesets/scripting/scriptlet/jpn-1.prevent-fetch.js +5 -1
  283. package/extensions/ublocklite/rulesets/scripting/scriptlet/jpn-1.prevent-setInterval.js +5 -1
  284. package/extensions/ublocklite/rulesets/scripting/scriptlet/jpn-1.prevent-setTimeout.js +5 -1
  285. package/extensions/ublocklite/rulesets/scripting/scriptlet/jpn-1.prevent-window-open.js +5 -1
  286. package/extensions/ublocklite/rulesets/scripting/scriptlet/kor-1.abort-current-script.js +2 -2
  287. package/extensions/ublocklite/rulesets/scripting/scriptlet/kor-1.addEventListener-defuser.js +7 -3
  288. package/extensions/ublocklite/rulesets/scripting/scriptlet/kor-1.prevent-fetch.js +7 -3
  289. package/extensions/ublocklite/rulesets/scripting/scriptlet/kor-1.prevent-setInterval.js +5 -1
  290. package/extensions/ublocklite/rulesets/scripting/scriptlet/kor-1.prevent-setTimeout.js +7 -3
  291. package/extensions/ublocklite/rulesets/scripting/scriptlet/kor-1.prevent-window-open.js +5 -1
  292. package/extensions/ublocklite/rulesets/scripting/scriptlet/kor-1.prevent-xhr.js +2 -2
  293. package/extensions/ublocklite/rulesets/scripting/scriptlet/kor-1.remove-cookie.js +2 -2
  294. package/extensions/ublocklite/rulesets/scripting/scriptlet/kor-1.remove-node-text.js +2 -2
  295. package/extensions/ublocklite/rulesets/scripting/scriptlet/kor-1.set-constant.js +2 -2
  296. package/extensions/ublocklite/rulesets/scripting/scriptlet/kor-1.set-local-storage-item.js +399 -0
  297. package/extensions/ublocklite/rulesets/scripting/scriptlet/ltu-0.prevent-setTimeout.js +5 -1
  298. package/extensions/ublocklite/rulesets/scripting/scriptlet/ltu-0.prevent-window-open.js +5 -1
  299. package/extensions/ublocklite/rulesets/scripting/scriptlet/nld-0.addEventListener-defuser.js +5 -1
  300. package/extensions/ublocklite/rulesets/scripting/scriptlet/nld-0.prevent-fetch.js +5 -1
  301. package/extensions/ublocklite/rulesets/scripting/scriptlet/nld-0.prevent-setTimeout.js +5 -1
  302. package/extensions/ublocklite/rulesets/scripting/scriptlet/nor-0.addEventListener-defuser.js +5 -1
  303. package/extensions/ublocklite/rulesets/scripting/scriptlet/nor-0.prevent-fetch.js +5 -1
  304. package/extensions/ublocklite/rulesets/scripting/scriptlet/nor-0.prevent-setTimeout.js +5 -1
  305. package/extensions/ublocklite/rulesets/scripting/scriptlet/pol-0.addEventListener-defuser.js +5 -1
  306. package/extensions/ublocklite/rulesets/scripting/scriptlet/pol-0.noeval-if.js +5 -1
  307. package/extensions/ublocklite/rulesets/scripting/scriptlet/pol-0.prevent-setInterval.js +5 -1
  308. package/extensions/ublocklite/rulesets/scripting/scriptlet/pol-0.prevent-setTimeout.js +5 -1
  309. package/extensions/ublocklite/rulesets/scripting/scriptlet/pol-0.prevent-window-open.js +5 -1
  310. package/extensions/ublocklite/rulesets/scripting/scriptlet/rou-1.noeval-if.js +5 -1
  311. package/extensions/ublocklite/rulesets/scripting/scriptlet/rou-1.prevent-setInterval.js +5 -1
  312. package/extensions/ublocklite/rulesets/scripting/scriptlet/rou-1.prevent-setTimeout.js +5 -1
  313. package/extensions/ublocklite/rulesets/scripting/scriptlet/rou-1.prevent-window-open.js +5 -1
  314. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.abort-on-property-write.js +2 -2
  315. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.abort-on-stack-trace.js +2 -2
  316. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.addEventListener-defuser.js +8 -4
  317. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.href-sanitizer.js +6 -24
  318. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.noeval-if.js +5 -1
  319. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.prevent-fetch.js +5 -1
  320. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.prevent-setInterval.js +5 -1
  321. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.prevent-setTimeout.js +5 -1
  322. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.prevent-window-open.js +5 -1
  323. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.remove-node-text.js +3 -3
  324. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.set-attr.js +2 -2
  325. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.set-constant.js +3 -3
  326. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.set-cookie.js +2 -2
  327. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-1.addEventListener-defuser.js +5 -1
  328. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-1.prevent-fetch.js +5 -1
  329. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-1.prevent-setTimeout.js +5 -1
  330. package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-1.set-local-storage-item.js +399 -0
  331. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.addEventListener-defuser.js +5 -1
  332. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.href-sanitizer.js +4 -22
  333. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.json-prune.js +2 -2
  334. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.noeval-if.js +6 -2
  335. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.prevent-fetch.js +5 -1
  336. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.prevent-requestAnimationFrame.js +5 -1
  337. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.prevent-setInterval.js +5 -1
  338. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.prevent-setTimeout.js +7 -3
  339. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.prevent-window-open.js +5 -1
  340. package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.remove-node-text.js +2 -2
  341. package/extensions/ublocklite/rulesets/scripting/scriptlet/swe-1.addEventListener-defuser.js +5 -1
  342. package/extensions/ublocklite/rulesets/scripting/scriptlet/swe-1.href-sanitizer.js +4 -22
  343. package/extensions/ublocklite/rulesets/scripting/scriptlet/swe-1.noeval-if.js +5 -1
  344. package/extensions/ublocklite/rulesets/scripting/scriptlet/swe-1.prevent-setInterval.js +5 -1
  345. package/extensions/ublocklite/rulesets/scripting/scriptlet/swe-1.prevent-setTimeout.js +5 -1
  346. package/extensions/ublocklite/rulesets/scripting/scriptlet/tur-0.addEventListener-defuser.js +5 -1
  347. package/extensions/ublocklite/rulesets/scripting/scriptlet/tur-0.prevent-fetch.js +5 -1
  348. package/extensions/ublocklite/rulesets/scripting/scriptlet/tur-0.prevent-setInterval.js +5 -1
  349. package/extensions/ublocklite/rulesets/scripting/scriptlet/tur-0.prevent-setTimeout.js +5 -1
  350. package/extensions/ublocklite/rulesets/scripting/scriptlet/tur-0.prevent-window-open.js +6 -2
  351. package/extensions/ublocklite/rulesets/scripting/scriptlet/tur-0.set-constant.js +2 -2
  352. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-badware.addEventListener-defuser.js +5 -1
  353. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-badware.noeval-if.js +5 -1
  354. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-badware.trusted-replace-argument.js +19 -8
  355. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-experimental.trusted-json-edit-xhr-request.js +848 -0
  356. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-experimental.trusted-replace-node-text.js +1 -1
  357. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.abort-current-script.js +3 -3
  358. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.abort-on-property-read.js +1 -1
  359. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.abort-on-property-write.js +1 -1
  360. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.abort-on-stack-trace.js +3 -3
  361. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.addEventListener-defuser.js +7 -3
  362. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.adjust-setInterval.js +1 -1
  363. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.adjust-setTimeout.js +2 -2
  364. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.href-sanitizer.js +5 -23
  365. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.json-edit-fetch-response.js +29 -11
  366. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.json-edit-xhr-response.js +24 -10
  367. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.json-edit.js +29 -11
  368. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.json-prune-fetch-response.js +2 -2
  369. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.json-prune-xhr-response.js +3 -3
  370. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.json-prune.js +2 -2
  371. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.jsonl-edit-xhr-response.js +24 -10
  372. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.noeval-if.js +7 -3
  373. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.prevent-fetch.js +7 -3
  374. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.prevent-requestAnimationFrame.js +6 -2
  375. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.prevent-setInterval.js +8 -4
  376. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.prevent-setTimeout.js +8 -4
  377. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.prevent-window-open.js +7 -3
  378. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.prevent-xhr.js +3 -3
  379. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.remove-attr.js +2 -2
  380. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.remove-cookie.js +2 -2
  381. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.remove-node-text.js +3 -3
  382. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.set-constant.js +3 -3
  383. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.set-cookie.js +2 -2
  384. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-click-element.js +3 -0
  385. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-create-html.js +2 -2
  386. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-json-edit-fetch-response.js +29 -11
  387. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-json-edit.js +29 -11
  388. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-override-element-method.js +5 -1
  389. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-prevent-dom-bypass.js +5 -1
  390. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-prevent-fetch.js +7 -3
  391. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-replace-argument.js +21 -10
  392. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-replace-node-text.js +3 -3
  393. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-replace-outbound-text.js +5 -1
  394. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-set-attr.js +2 -2
  395. package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-suppress-native-method.js +7 -3
  396. package/extensions/ublocklite/rulesets/scripting/scriptlet/ubol-tests.jsonl-edit-fetch-response.js +29 -11
  397. package/extensions/ublocklite/rulesets/scripting/scriptlet/ubol-tests.jsonl-edit-xhr-response.js +24 -10
  398. package/extensions/ublocklite/rulesets/scripting/scriptlet/ubol-tests.prevent-setTimeout.js +5 -1
  399. package/extensions/ublocklite/rulesets/scripting/scriptlet/ubol-tests.trusted-prevent-dom-bypass.js +5 -1
  400. package/extensions/ublocklite/rulesets/scripting/scriptlet/ukr-0.prevent-fetch.js +5 -1
  401. package/extensions/ublocklite/rulesets/scripting/scriptlet/ukr-0.prevent-window-open.js +5 -1
  402. package/extensions/ublocklite/rulesets/scripting/scriptlet/vie-1.abort-current-script.js +2 -2
  403. package/extensions/ublocklite/rulesets/scripting/scriptlet/vie-1.abort-on-property-read.js +2 -2
  404. package/extensions/ublocklite/rulesets/scripting/scriptlet/vie-1.prevent-fetch.js +5 -1
  405. package/extensions/ublocklite/rulesets/scripting/scriptlet/vie-1.prevent-setTimeout.js +5 -1
  406. package/extensions/ublocklite/rulesets/scripting/scriptlet/vie-1.set-constant.js +2 -2
  407. package/extensions/ublocklite/rulesets/scripting/specific/adguard-mobile.js +3 -3
  408. package/extensions/ublocklite/rulesets/scripting/specific/annoyances-cookies.js +3 -3
  409. package/extensions/ublocklite/rulesets/scripting/specific/annoyances-notifications.js +3 -3
  410. package/extensions/ublocklite/rulesets/scripting/specific/annoyances-others.js +3 -3
  411. package/extensions/ublocklite/rulesets/scripting/specific/annoyances-overlays.js +3 -3
  412. package/extensions/ublocklite/rulesets/scripting/specific/annoyances-social.js +3 -3
  413. package/extensions/ublocklite/rulesets/scripting/specific/chn-0.js +3 -3
  414. package/extensions/ublocklite/rulesets/scripting/specific/deu-0.js +3 -3
  415. package/extensions/ublocklite/rulesets/scripting/specific/easylist.js +3 -3
  416. package/extensions/ublocklite/rulesets/scripting/specific/est-0.js +3 -3
  417. package/extensions/ublocklite/rulesets/scripting/specific/fin-0.js +3 -3
  418. package/extensions/ublocklite/rulesets/scripting/specific/fra-0.js +3 -3
  419. package/extensions/ublocklite/rulesets/scripting/specific/grc-0.js +3 -3
  420. package/extensions/ublocklite/rulesets/scripting/specific/hrv-0.js +3 -3
  421. package/extensions/ublocklite/rulesets/scripting/specific/hun-0.js +3 -3
  422. package/extensions/ublocklite/rulesets/scripting/specific/idn-0.js +3 -3
  423. package/extensions/ublocklite/rulesets/scripting/specific/ind-0.js +3 -3
  424. package/extensions/ublocklite/rulesets/scripting/specific/isr-0.js +3 -3
  425. package/extensions/ublocklite/rulesets/scripting/specific/ita-0.js +3 -3
  426. package/extensions/ublocklite/rulesets/scripting/specific/jpn-1.js +3 -3
  427. package/extensions/ublocklite/rulesets/scripting/specific/kor-1.js +3 -3
  428. package/extensions/ublocklite/rulesets/scripting/specific/nor-0.js +3 -3
  429. package/extensions/ublocklite/rulesets/scripting/specific/rou-1.js +3 -3
  430. package/extensions/ublocklite/rulesets/scripting/specific/rus-0.js +3 -3
  431. package/extensions/ublocklite/rulesets/scripting/specific/spa-1.js +3 -3
  432. package/extensions/ublocklite/rulesets/scripting/specific/swe-1.js +3 -3
  433. package/extensions/ublocklite/rulesets/scripting/specific/tur-0.js +3 -3
  434. package/extensions/ublocklite/rulesets/scripting/specific/ublock-badware.js +1 -1
  435. package/extensions/ublocklite/rulesets/scripting/specific/ublock-filters.js +3 -3
  436. package/extensions/ublocklite/rulesets/scripting/specific/ukr-0.js +3 -3
  437. package/extensions/ublocklite/rulesets/scripting/specific/vie-1.js +3 -3
  438. package/extensions/ublocklite/rulesets/scriptlet-details.json +205 -117
  439. package/extensions/ublocklite/rulesets/strictblock/adguard-mobile.json +18 -28
  440. package/extensions/ublocklite/rulesets/strictblock/annoyances-cookies.json +1 -0
  441. package/extensions/ublocklite/rulesets/strictblock/annoyances-widgets.json +1 -0
  442. package/extensions/ublocklite/rulesets/strictblock/chn-0.json +267 -247
  443. package/extensions/ublocklite/rulesets/strictblock/deu-0.json +1 -0
  444. package/extensions/ublocklite/rulesets/strictblock/dpollock-0.json +2 -1
  445. package/extensions/ublocklite/rulesets/strictblock/easylist.json +1 -1
  446. package/extensions/ublocklite/rulesets/strictblock/easyprivacy.json +47 -3
  447. package/extensions/ublocklite/rulesets/strictblock/fra-0.json +102 -41
  448. package/extensions/ublocklite/rulesets/strictblock/jpn-1.json +208 -198
  449. package/extensions/ublocklite/rulesets/strictblock/nor-0.json +1 -1
  450. package/extensions/ublocklite/rulesets/strictblock/pgl.json +16 -20
  451. package/extensions/ublocklite/rulesets/strictblock/pol-0.json +5 -1
  452. package/extensions/ublocklite/rulesets/strictblock/spa-1.json +1 -0
  453. package/extensions/ublocklite/rulesets/strictblock/stevenblack-hosts.json +11287 -12041
  454. package/extensions/ublocklite/rulesets/strictblock/swe-1.json +0 -1
  455. package/extensions/ublocklite/rulesets/strictblock/tur-0.json +1 -0
  456. package/extensions/ublocklite/rulesets/strictblock/ublock-badware.json +671 -653
  457. package/extensions/ublocklite/rulesets/strictblock/ublock-filters.json +23 -19
  458. package/extensions/ublocklite/rulesets/strictblock/ukr-0.json +3 -0
  459. package/extensions/ublocklite/rulesets/strictblock/urlhaus-full.json +4063 -328
  460. package/extensions/ublocklite/rulesets/strictblock/vie-1.json +5 -1
  461. package/extensions/ublocklite/rulesets/urlskip/ublock-filters.json +59 -1
  462. package/extensions/ublocklite/ublock.zip +0 -0
  463. package/package.json +23 -22
  464. package/scripts/install-debugger.js +2 -2
  465. package/src/browsers/index.ts +20 -0
  466. package/src/routes/chrome/tests/content.spec.ts +24 -0
  467. package/src/routes/chrome/tests/json.spec.ts +134 -0
  468. package/src/routes/chromium/tests/content.spec.ts +24 -0
  469. package/src/routes/chromium/tests/function.spec.ts +33 -0
  470. package/src/routes/chromium/tests/json.spec.ts +134 -0
  471. package/src/routes/chromium/tests/scrape.spec.ts +3 -1
  472. package/src/routes/edge/tests/content.spec.ts +24 -0
  473. package/src/routes/edge/tests/json.spec.ts +134 -0
  474. package/src/routes/management/tests/management.spec.ts +66 -0
  475. package/src/server.ts +1 -1
  476. package/src/shared/screenshot.http.ts +1 -1
  477. package/src/shim.spec.ts +18 -0
  478. package/src/shim.ts +15 -1
  479. package/src/types.ts +2 -0
  480. package/static/docs/swagger.json +5 -2
  481. package/static/docs/swagger.min.json +4 -1
  482. package/static/function/client.js +143 -105
  483. package/static/function/index.html +143 -105
  484. package/build/routes/chrome/tests/json-version.spec.js +0 -37
  485. package/build/routes/chromium/tests/json-version.spec.js +0 -37
  486. package/build/routes/edge/tests/json-version.spec.js +0 -37
  487. package/src/routes/chrome/tests/json-version.spec.ts +0 -52
  488. package/src/routes/chromium/tests/json-version.spec.ts +0 -52
  489. package/src/routes/edge/tests/json-version.spec.ts +0 -52
  490. /package/build/routes/chrome/tests/{json-version.spec.d.ts → json.spec.d.ts} +0 -0
  491. /package/build/routes/chromium/tests/{json-version.spec.d.ts → json.spec.d.ts} +0 -0
  492. /package/build/routes/edge/tests/{json-version.spec.d.ts → json.spec.d.ts} +0 -0
@@ -62,35 +62,17 @@ function hrefSanitizer(
62
62
  }
63
63
  return '';
64
64
  };
65
- const extractParam = (href, source) => {
66
- if ( Boolean(source) === false ) { return href; }
67
- const recursive = source.includes('?', 1);
68
- const end = recursive ? source.indexOf('?', 1) : source.length;
69
- try {
70
- const url = new URL(href, document.location);
71
- let value = url.searchParams.get(source.slice(1, end));
72
- if ( value === null ) { return href }
73
- if ( recursive ) { return extractParam(value, source.slice(end)); }
74
- return value;
75
- } catch {
76
- }
77
- return href;
78
- };
79
65
  const extractURL = (elem, source) => {
80
66
  if ( /^\[.*\]$/.test(source) ) {
81
67
  return elem.getAttribute(source.slice(1,-1).trim()) || '';
82
68
  }
83
69
  if ( source === 'text' ) {
84
70
  return elem.textContent
85
- .replace(/^[^\x21-\x7e]+/, '') // remove leading invalid characters
86
- .replace(/[^\x21-\x7e]+$/, '') // remove trailing invalid characters
87
- ;
71
+ .replace(/^[^\x21-\x7e]+/, '') // remove leading invalid characters
72
+ .replace(/[^\x21-\x7e]+$/, ''); // remove trailing invalid characters
88
73
  }
89
- if ( source.startsWith('?') === false ) { return ''; }
90
- const steps = source.replace(/(\S)\?/g, '\\1?').split(/\s+/);
91
- const url = steps.length === 1
92
- ? extractParam(elem.href, source)
93
- : urlSkip(elem.href, false, steps);
74
+ const steps = source.replace(/(\S)\?/g, '\\1 ?').split(/\s+/);
75
+ const url = urlSkip(elem.href, false, steps);
94
76
  if ( url === undefined ) { return; }
95
77
  return url.replace(/ /g, '%20');
96
78
  };
@@ -266,6 +266,10 @@ function proxyApplyFn(
266
266
  : new proxyApplyFn.ApplyContext(...args);
267
267
  }
268
268
  };
269
+ proxyApplyFn.isCtor = new Map();
270
+ }
271
+ if ( proxyApplyFn.isCtor.has(target) === false ) {
272
+ proxyApplyFn.isCtor.set(target, fn.prototype?.constructor === fn);
269
273
  }
270
274
  const fnStr = fn.toString();
271
275
  const toString = (function toString() { return fnStr; }).bind(null);
@@ -278,7 +282,7 @@ function proxyApplyFn(
278
282
  return Reflect.get(target, prop);
279
283
  },
280
284
  };
281
- if ( fn.prototype?.constructor === fn ) {
285
+ if ( proxyApplyFn.isCtor.get(target) ) {
282
286
  proxyDetails.construct = function(target, args) {
283
287
  return handler(proxyApplyFn.CtorContext.factory(target, args));
284
288
  };
@@ -118,6 +118,10 @@ function proxyApplyFn(
118
118
  : new proxyApplyFn.ApplyContext(...args);
119
119
  }
120
120
  };
121
+ proxyApplyFn.isCtor = new Map();
122
+ }
123
+ if ( proxyApplyFn.isCtor.has(target) === false ) {
124
+ proxyApplyFn.isCtor.set(target, fn.prototype?.constructor === fn);
121
125
  }
122
126
  const fnStr = fn.toString();
123
127
  const toString = (function toString() { return fnStr; }).bind(null);
@@ -130,7 +134,7 @@ function proxyApplyFn(
130
134
  return Reflect.get(target, prop);
131
135
  },
132
136
  };
133
- if ( fn.prototype?.constructor === fn ) {
137
+ if ( proxyApplyFn.isCtor.get(target) ) {
134
138
  proxyDetails.construct = function(target, args) {
135
139
  return handler(proxyApplyFn.CtorContext.factory(target, args));
136
140
  };
@@ -177,6 +177,10 @@ function proxyApplyFn(
177
177
  : new proxyApplyFn.ApplyContext(...args);
178
178
  }
179
179
  };
180
+ proxyApplyFn.isCtor = new Map();
181
+ }
182
+ if ( proxyApplyFn.isCtor.has(target) === false ) {
183
+ proxyApplyFn.isCtor.set(target, fn.prototype?.constructor === fn);
180
184
  }
181
185
  const fnStr = fn.toString();
182
186
  const toString = (function toString() { return fnStr; }).bind(null);
@@ -189,7 +193,7 @@ function proxyApplyFn(
189
193
  return Reflect.get(target, prop);
190
194
  },
191
195
  };
192
- if ( fn.prototype?.constructor === fn ) {
196
+ if ( proxyApplyFn.isCtor.get(target) ) {
193
197
  proxyDetails.construct = function(target, args) {
194
198
  return handler(proxyApplyFn.CtorContext.factory(target, args));
195
199
  };
@@ -170,6 +170,10 @@ function proxyApplyFn(
170
170
  : new proxyApplyFn.ApplyContext(...args);
171
171
  }
172
172
  };
173
+ proxyApplyFn.isCtor = new Map();
174
+ }
175
+ if ( proxyApplyFn.isCtor.has(target) === false ) {
176
+ proxyApplyFn.isCtor.set(target, fn.prototype?.constructor === fn);
173
177
  }
174
178
  const fnStr = fn.toString();
175
179
  const toString = (function toString() { return fnStr; }).bind(null);
@@ -182,7 +186,7 @@ function proxyApplyFn(
182
186
  return Reflect.get(target, prop);
183
187
  },
184
188
  };
185
- if ( fn.prototype?.constructor === fn ) {
189
+ if ( proxyApplyFn.isCtor.get(target) ) {
186
190
  proxyDetails.construct = function(target, args) {
187
191
  return handler(proxyApplyFn.CtorContext.factory(target, args));
188
192
  };
@@ -266,6 +266,10 @@ function proxyApplyFn(
266
266
  : new proxyApplyFn.ApplyContext(...args);
267
267
  }
268
268
  };
269
+ proxyApplyFn.isCtor = new Map();
270
+ }
271
+ if ( proxyApplyFn.isCtor.has(target) === false ) {
272
+ proxyApplyFn.isCtor.set(target, fn.prototype?.constructor === fn);
269
273
  }
270
274
  const fnStr = fn.toString();
271
275
  const toString = (function toString() { return fnStr; }).bind(null);
@@ -278,7 +282,7 @@ function proxyApplyFn(
278
282
  return Reflect.get(target, prop);
279
283
  },
280
284
  };
281
- if ( fn.prototype?.constructor === fn ) {
285
+ if ( proxyApplyFn.isCtor.get(target) ) {
282
286
  proxyDetails.construct = function(target, args) {
283
287
  return handler(proxyApplyFn.CtorContext.factory(target, args));
284
288
  };
@@ -480,7 +484,7 @@ function safeSelf() {
480
484
 
481
485
  const scriptletGlobals = {}; // eslint-disable-line
482
486
  const argsList = [["adsbygoogle"]];
483
- const hostnamesMap = new Map([["sheee.co.il",0],["walla.co.il",0],["ynet.co.il",0],["mako.co.il",0],["n12.co.il",0],["tech12.co.il",0],["tvbee.co.il",0],["calcalist.co.il",0],["13news.co.il",0],["13tv.co.il",0],["sport5.co.il",0],["one.co.il",0],["inn.co.il",0],["yad2.co.il",0],["haaretz.co.il",0],["themarker.com",0],["www-haaretz-co-il.eu1.proxy.openathens.net",0],["www-themarker-com.eu1.proxy.openathens.net",0]]);
487
+ const hostnamesMap = new Map([["sheee.co.il",0],["walla.co.il",0],["ynet.co.il",0],["mako.co.il",0],["n12.co.il",0],["tech12.co.il",0],["tvbee.co.il",0],["calcalist.co.il",0],["13news.co.il",0],["13tv.co.il",0],["sport5.co.il",0],["one.co.il",0],["inn.co.il",0],["yad2.co.il",0],["haaretz.co.il",0],["themarker.com",0],["foodsdictionary.co.il",0],["hwzone.co.il",0],["www-haaretz-co-il.eu1.proxy.openathens.net",0],["www-themarker-com.eu1.proxy.openathens.net",0]]);
484
488
  const exceptionsMap = new Map([]);
485
489
  const hasEntities = false;
486
490
  const hasAncestors = false;
@@ -118,6 +118,10 @@ function proxyApplyFn(
118
118
  : new proxyApplyFn.ApplyContext(...args);
119
119
  }
120
120
  };
121
+ proxyApplyFn.isCtor = new Map();
122
+ }
123
+ if ( proxyApplyFn.isCtor.has(target) === false ) {
124
+ proxyApplyFn.isCtor.set(target, fn.prototype?.constructor === fn);
121
125
  }
122
126
  const fnStr = fn.toString();
123
127
  const toString = (function toString() { return fnStr; }).bind(null);
@@ -130,7 +134,7 @@ function proxyApplyFn(
130
134
  return Reflect.get(target, prop);
131
135
  },
132
136
  };
133
- if ( fn.prototype?.constructor === fn ) {
137
+ if ( proxyApplyFn.isCtor.get(target) ) {
134
138
  proxyDetails.construct = function(target, args) {
135
139
  return handler(proxyApplyFn.CtorContext.factory(target, args));
136
140
  };
@@ -177,6 +177,10 @@ function proxyApplyFn(
177
177
  : new proxyApplyFn.ApplyContext(...args);
178
178
  }
179
179
  };
180
+ proxyApplyFn.isCtor = new Map();
181
+ }
182
+ if ( proxyApplyFn.isCtor.has(target) === false ) {
183
+ proxyApplyFn.isCtor.set(target, fn.prototype?.constructor === fn);
180
184
  }
181
185
  const fnStr = fn.toString();
182
186
  const toString = (function toString() { return fnStr; }).bind(null);
@@ -189,7 +193,7 @@ function proxyApplyFn(
189
193
  return Reflect.get(target, prop);
190
194
  },
191
195
  };
192
- if ( fn.prototype?.constructor === fn ) {
196
+ if ( proxyApplyFn.isCtor.get(target) ) {
193
197
  proxyDetails.construct = function(target, args) {
194
198
  return handler(proxyApplyFn.CtorContext.factory(target, args));
195
199
  };
@@ -170,6 +170,10 @@ function proxyApplyFn(
170
170
  : new proxyApplyFn.ApplyContext(...args);
171
171
  }
172
172
  };
173
+ proxyApplyFn.isCtor = new Map();
174
+ }
175
+ if ( proxyApplyFn.isCtor.has(target) === false ) {
176
+ proxyApplyFn.isCtor.set(target, fn.prototype?.constructor === fn);
173
177
  }
174
178
  const fnStr = fn.toString();
175
179
  const toString = (function toString() { return fnStr; }).bind(null);
@@ -182,7 +186,7 @@ function proxyApplyFn(
182
186
  return Reflect.get(target, prop);
183
187
  },
184
188
  };
185
- if ( fn.prototype?.constructor === fn ) {
189
+ if ( proxyApplyFn.isCtor.get(target) ) {
186
190
  proxyDetails.construct = function(target, args) {
187
191
  return handler(proxyApplyFn.CtorContext.factory(target, args));
188
192
  };
@@ -251,8 +251,8 @@ function safeSelf() {
251
251
  /******************************************************************************/
252
252
 
253
253
  const scriptletGlobals = {}; // eslint-disable-line
254
- const argsList = [["reward_countdown"],["timerId","1000"],[".run()}","1000"]];
255
- const hostnamesMap = new Map([["shindanmaker.com",0],["portal.game.sycasualgames.com",1],["collepic.net",2]]);
254
+ const argsList = [["reward_countdown"],["timerId","1000"],[".run()}","1000"],["skipcnt","1000","0.001"]];
255
+ const hostnamesMap = new Map([["shindanmaker.com",0],["portal.game.sycasualgames.com",1],["collepic.net",2],["portal.game.success-corp.jp",3]]);
256
256
  const exceptionsMap = new Map([]);
257
257
  const hasEntities = false;
258
258
  const hasAncestors = false;
@@ -62,35 +62,17 @@ function hrefSanitizer(
62
62
  }
63
63
  return '';
64
64
  };
65
- const extractParam = (href, source) => {
66
- if ( Boolean(source) === false ) { return href; }
67
- const recursive = source.includes('?', 1);
68
- const end = recursive ? source.indexOf('?', 1) : source.length;
69
- try {
70
- const url = new URL(href, document.location);
71
- let value = url.searchParams.get(source.slice(1, end));
72
- if ( value === null ) { return href }
73
- if ( recursive ) { return extractParam(value, source.slice(end)); }
74
- return value;
75
- } catch {
76
- }
77
- return href;
78
- };
79
65
  const extractURL = (elem, source) => {
80
66
  if ( /^\[.*\]$/.test(source) ) {
81
67
  return elem.getAttribute(source.slice(1,-1).trim()) || '';
82
68
  }
83
69
  if ( source === 'text' ) {
84
70
  return elem.textContent
85
- .replace(/^[^\x21-\x7e]+/, '') // remove leading invalid characters
86
- .replace(/[^\x21-\x7e]+$/, '') // remove trailing invalid characters
87
- ;
71
+ .replace(/^[^\x21-\x7e]+/, '') // remove leading invalid characters
72
+ .replace(/[^\x21-\x7e]+$/, ''); // remove trailing invalid characters
88
73
  }
89
- if ( source.startsWith('?') === false ) { return ''; }
90
- const steps = source.replace(/(\S)\?/g, '\\1?').split(/\s+/);
91
- const url = steps.length === 1
92
- ? extractParam(elem.href, source)
93
- : urlSkip(elem.href, false, steps);
74
+ const steps = source.replace(/(\S)\?/g, '\\1 ?').split(/\s+/);
75
+ const url = urlSkip(elem.href, false, steps);
94
76
  if ( url === undefined ) { return; }
95
77
  return url.replace(/ /g, '%20');
96
78
  };
@@ -460,8 +442,8 @@ function urlSkip(url, blocked, steps, directive = {}) {
460
442
  /******************************************************************************/
461
443
 
462
444
  const scriptletGlobals = {}; // eslint-disable-line
463
- const argsList = [["a[href^=\"https://app.adjust.com/\"]","?redirect"],["a[href*=\"a8ejpredirect\"]","?a8ejpredirect"],["a[href^=\"https://al.dmm.com/?lurl=\"]","?lurl"],["a[href^=\"https://affiliate.suruga-ya.jp/modules/af/af_jump.php?\"]","?goods_url"],["a[href*=\"hb.afl.rakuten.co.jp/hgc/\"][href*=\"/?pc=\"]","?pc"],["a[href*=\"ck.jp.ap.valuecommerce.com/servlet/referral?\"][href*=\"&vc_url=\"]","?vc_url"],["a[href^=\"https://adclick.g.doubleclick.net/\"][href*=\"adurl=\"]","?adurl"]];
464
- const hostnamesMap = new Map([["www.yahoo.co.jp",0],["figure-times.com",1],["figsoku.net",[2,3,4,5]],["safeframe.googlesyndication.com",6]]);
445
+ const argsList = [["a[href^=\"https://app.adjust.com/\"]","?redirect"],["a[href*=\"a8ejpredirect\"]","?a8ejpredirect"],["a[href^=\"https://al.dmm.com/?lurl=\"]","?lurl"],["a[href^=\"https://affiliate.suruga-ya.jp/modules/af/af_jump.php?\"]","?goods_url"],["a[href*=\"hb.afl.rakuten.co.jp/hgc/\"][href*=\"/?pc=\"]","?pc"],["a[href*=\"ck.jp.ap.valuecommerce.com/servlet/referral?\"][href*=\"&vc_url=\"]","?vc_url"],["a[href^=\"https://al.fanza.co.jp/?lurl=\"]","?lurl"],["a[href^=\"https://adclick.g.doubleclick.net/\"][href*=\"adurl=\"]","?adurl"]];
446
+ const hostnamesMap = new Map([["www.yahoo.co.jp",0],["figure-times.com",1],["figsoku.net",[2,3,4,5]],["ura-akiba.jp",6],["safeframe.googlesyndication.com",7]]);
465
447
  const exceptionsMap = new Map([]);
466
448
  const hasEntities = false;
467
449
  const hasAncestors = false;
@@ -425,8 +425,8 @@ function getRandomTokenFn() {
425
425
  /******************************************************************************/
426
426
 
427
427
  const scriptletGlobals = {}; // eslint-disable-line
428
- const argsList = [["ad_flg ad_url data.adData data.adTagUrl"],["ads"],["result.ad_info"],["result.paths.[].ad_info"],["data.adData"],["props.initialProps.pageProps.pageData.brandingAds"]];
429
- const hostnamesMap = new Map([["lemino.docomo.ne.jp",0],["sports.tv.rakuten.co.jp",[1,2,3]],["tver.jp",[1,4]],["search.yahoo.co.jp",5]]);
428
+ const argsList = [["ad_flg ad_url data.adData data.adTagUrl"],["ads"],["result.ad_info"],["result.paths.[].ad_info"],["ads.[].imageUrl"],["data.adData"],["props.initialProps.pageProps.pageData.brandingAds"],["data.response.videoAds data.response.waku.tagRelatedBanner"]];
429
+ const hostnamesMap = new Map([["lemino.docomo.ne.jp",0],["sports.tv.rakuten.co.jp",[1,2,3]],["tver.jp",[1,5]],["ikaskey.bktsk.com",4],["live-theater.net",4],["misskey.art",4],["misskey.resonite.love",4],["misskeytsf.love",4],["misskirara.net",4],["p1.a9z.dev",4],["takusuki.com",4],["trpger.us",4],["mk.yopo.work",4],["sushi.ski",4],["warpday.net",4],["zadankai.club",4],["misskey.io",4],["search.yahoo.co.jp",6],["www.nicovideo.jp",7]]);
430
430
  const exceptionsMap = new Map([]);
431
431
  const hasEntities = false;
432
432
  const hasAncestors = false;
@@ -112,6 +112,10 @@ function proxyApplyFn(
112
112
  : new proxyApplyFn.ApplyContext(...args);
113
113
  }
114
114
  };
115
+ proxyApplyFn.isCtor = new Map();
116
+ }
117
+ if ( proxyApplyFn.isCtor.has(target) === false ) {
118
+ proxyApplyFn.isCtor.set(target, fn.prototype?.constructor === fn);
115
119
  }
116
120
  const fnStr = fn.toString();
117
121
  const toString = (function toString() { return fnStr; }).bind(null);
@@ -124,7 +128,7 @@ function proxyApplyFn(
124
128
  return Reflect.get(target, prop);
125
129
  },
126
130
  };
127
- if ( fn.prototype?.constructor === fn ) {
131
+ if ( proxyApplyFn.isCtor.get(target) ) {
128
132
  proxyDetails.construct = function(target, args) {
129
133
  return handler(proxyApplyFn.CtorContext.factory(target, args));
130
134
  };
@@ -266,6 +266,10 @@ function proxyApplyFn(
266
266
  : new proxyApplyFn.ApplyContext(...args);
267
267
  }
268
268
  };
269
+ proxyApplyFn.isCtor = new Map();
270
+ }
271
+ if ( proxyApplyFn.isCtor.has(target) === false ) {
272
+ proxyApplyFn.isCtor.set(target, fn.prototype?.constructor === fn);
269
273
  }
270
274
  const fnStr = fn.toString();
271
275
  const toString = (function toString() { return fnStr; }).bind(null);
@@ -278,7 +282,7 @@ function proxyApplyFn(
278
282
  return Reflect.get(target, prop);
279
283
  },
280
284
  };
281
- if ( fn.prototype?.constructor === fn ) {
285
+ if ( proxyApplyFn.isCtor.get(target) ) {
282
286
  proxyDetails.construct = function(target, args) {
283
287
  return handler(proxyApplyFn.CtorContext.factory(target, args));
284
288
  };
@@ -118,6 +118,10 @@ function proxyApplyFn(
118
118
  : new proxyApplyFn.ApplyContext(...args);
119
119
  }
120
120
  };
121
+ proxyApplyFn.isCtor = new Map();
122
+ }
123
+ if ( proxyApplyFn.isCtor.has(target) === false ) {
124
+ proxyApplyFn.isCtor.set(target, fn.prototype?.constructor === fn);
121
125
  }
122
126
  const fnStr = fn.toString();
123
127
  const toString = (function toString() { return fnStr; }).bind(null);
@@ -130,7 +134,7 @@ function proxyApplyFn(
130
134
  return Reflect.get(target, prop);
131
135
  },
132
136
  };
133
- if ( fn.prototype?.constructor === fn ) {
137
+ if ( proxyApplyFn.isCtor.get(target) ) {
134
138
  proxyDetails.construct = function(target, args) {
135
139
  return handler(proxyApplyFn.CtorContext.factory(target, args));
136
140
  };
@@ -118,6 +118,10 @@ function proxyApplyFn(
118
118
  : new proxyApplyFn.ApplyContext(...args);
119
119
  }
120
120
  };
121
+ proxyApplyFn.isCtor = new Map();
122
+ }
123
+ if ( proxyApplyFn.isCtor.has(target) === false ) {
124
+ proxyApplyFn.isCtor.set(target, fn.prototype?.constructor === fn);
121
125
  }
122
126
  const fnStr = fn.toString();
123
127
  const toString = (function toString() { return fnStr; }).bind(null);
@@ -130,7 +134,7 @@ function proxyApplyFn(
130
134
  return Reflect.get(target, prop);
131
135
  },
132
136
  };
133
- if ( fn.prototype?.constructor === fn ) {
137
+ if ( proxyApplyFn.isCtor.get(target) ) {
134
138
  proxyDetails.construct = function(target, args) {
135
139
  return handler(proxyApplyFn.CtorContext.factory(target, args));
136
140
  };
@@ -177,6 +177,10 @@ function proxyApplyFn(
177
177
  : new proxyApplyFn.ApplyContext(...args);
178
178
  }
179
179
  };
180
+ proxyApplyFn.isCtor = new Map();
181
+ }
182
+ if ( proxyApplyFn.isCtor.has(target) === false ) {
183
+ proxyApplyFn.isCtor.set(target, fn.prototype?.constructor === fn);
180
184
  }
181
185
  const fnStr = fn.toString();
182
186
  const toString = (function toString() { return fnStr; }).bind(null);
@@ -189,7 +193,7 @@ function proxyApplyFn(
189
193
  return Reflect.get(target, prop);
190
194
  },
191
195
  };
192
- if ( fn.prototype?.constructor === fn ) {
196
+ if ( proxyApplyFn.isCtor.get(target) ) {
193
197
  proxyDetails.construct = function(target, args) {
194
198
  return handler(proxyApplyFn.CtorContext.factory(target, args));
195
199
  };
@@ -371,8 +371,8 @@ function getRandomTokenFn() {
371
371
  /******************************************************************************/
372
372
 
373
373
  const scriptletGlobals = {}; // eslint-disable-line
374
- const argsList = [["popMagic.init"],["$.prototype.html","/\\/images\\/[A-z0-9-_]+\\.?(jpg|gif)/"],["jQuery",".adsbygoogle"],["jQuery.prototype.load","is_coupang"],["jQuery","link.coupang.com"],["jQuery","coupang_dont_show_prompty_interval"],["jQuery.prototype.on","is_coupang"],["open","/\\/popup\\//"],["bannerpop.popup"],["window.open","/gears/popup/default.aspx"],["window.open","notice_view_html.php"],["$","/danawa-dpg-common-sponsorBanner-/"],["$","myScript[myScript.length - 1 ]"],["document.addEventListener","/adscale_slot_id/"],["ai_adb.init"],["ai_run_scripts"],["EventTarget.prototype.addEventListener","_ad="],["chp_ads_blocker_detector"],["document.getElementById","adblock"],["$",".adsense-area"],["addEventListener","fuckadblock.min.js"],["$","#ad_center"]];
375
- const hostnamesMap = new Map([["watchfreejavonline.co",0],["m.humoruniv.com",1],["kilho.net",2],["smartinpress.com",3],["newsn24.com",3],["yachuk.com",4],["aannm.cafe24.com",5],["beomil09121.cafe24.com",5],["actingbaum.co.kr",6],["picknpicker.com",6],["moneyissues.co.kr",6],["sotrychatter.com",6],["skysky138.com",6],["keela.co.kr",6],["jiwootube.com",6],["news.ssongyi.co.kr",6],["xn--wh1b751afvcpsb.com",6],["nesin.com",7],["mjmedi.com",8],["cfnews.kr",9],["sjtoday.kr",10],["dpg.danawa.com",[11,12]],["asdn.kr",13],["healthfeed.co.kr",13],["bikesell.co.kr",13],["remiz.co.kr",13],["enjoytaiwan.co.kr",13],["poketory.com",13],["withukor.com",13],["tistory.com",13],["love.asdn.kr",13],["untitle.org",13],["seo-marketing.co.kr",13],["plankim.com",14],["jootc.com",15],["ehpub.co.kr",15],["dcinside.com",16],["deokhu.com",17],["3dpchip.com",17],["ssulwar.com",18],["ilsangt.tistory.com",19],["focuskr.tistory.com",20],["singingdalong.blogspot.com",21]]);
374
+ const argsList = [["popMagic.init"],["$.prototype.html","/\\/images\\/[A-z0-9-_]+\\.?(jpg|gif)/"],["jQuery",".adsbygoogle"],["jQuery.prototype.load","is_coupang"],["jQuery","link.coupang.com"],["jQuery","coupang_dont_show_prompty_interval"],["jQuery.prototype.on","is_coupang"],["open","/\\/popup\\//"],["bannerpop.popup"],["window.open","/gears/popup/default.aspx"],["window.open","notice_view_html.php"],["$","/danawa-dpg-common-sponsorBanner-/"],["$","myScript[myScript.length - 1 ]"],["document.addEventListener","/adscale_slot_id/"],["ai_adb.init"],["ai_run_scripts"],["chp_ads_blocker_detector"],["document.getElementById","adblock"],["$",".adsense-area"],["addEventListener","fuckadblock.min.js"],["$","#ad_center"]];
375
+ const hostnamesMap = new Map([["watchfreejavonline.co",0],["m.humoruniv.com",1],["kilho.net",2],["smartinpress.com",3],["newsn24.com",3],["yachuk.com",4],["aannm.cafe24.com",5],["beomil09121.cafe24.com",5],["actingbaum.co.kr",6],["picknpicker.com",6],["moneyissues.co.kr",6],["sotrychatter.com",6],["skysky138.com",6],["keela.co.kr",6],["jiwootube.com",6],["news.ssongyi.co.kr",6],["xn--wh1b751afvcpsb.com",6],["nesin.com",7],["mjmedi.com",8],["cfnews.kr",9],["sjtoday.kr",10],["dpg.danawa.com",[11,12]],["asdn.kr",13],["healthfeed.co.kr",13],["bikesell.co.kr",13],["remiz.co.kr",13],["enjoytaiwan.co.kr",13],["poketory.com",13],["withukor.com",13],["tistory.com",13],["love.asdn.kr",13],["untitle.org",13],["seo-marketing.co.kr",13],["plankim.com",14],["jootc.com",15],["ehpub.co.kr",15],["deokhu.com",16],["3dpchip.com",16],["ssulwar.com",17],["ilsangt.tistory.com",18],["focuskr.tistory.com",19],["singingdalong.blogspot.com",20]]);
376
376
  const exceptionsMap = new Map([]);
377
377
  const hasEntities = false;
378
378
  const hasAncestors = false;
@@ -170,6 +170,10 @@ function proxyApplyFn(
170
170
  : new proxyApplyFn.ApplyContext(...args);
171
171
  }
172
172
  };
173
+ proxyApplyFn.isCtor = new Map();
174
+ }
175
+ if ( proxyApplyFn.isCtor.has(target) === false ) {
176
+ proxyApplyFn.isCtor.set(target, fn.prototype?.constructor === fn);
173
177
  }
174
178
  const fnStr = fn.toString();
175
179
  const toString = (function toString() { return fnStr; }).bind(null);
@@ -182,7 +186,7 @@ function proxyApplyFn(
182
186
  return Reflect.get(target, prop);
183
187
  },
184
188
  };
185
- if ( fn.prototype?.constructor === fn ) {
189
+ if ( proxyApplyFn.isCtor.get(target) ) {
186
190
  proxyDetails.construct = function(target, args) {
187
191
  return handler(proxyApplyFn.CtorContext.factory(target, args));
188
192
  };
@@ -417,8 +421,8 @@ function shouldDebug(details) {
417
421
  /******************************************************************************/
418
422
 
419
423
  const scriptletGlobals = {}; // eslint-disable-line
420
- const argsList = [["hashchange","#viewus-explore-more"],["DOMContentLoaded","link.coupang.com"],["load","_0x"]];
421
- const hostnamesMap = new Map([["youtu.co",0],["dfast.kr",0],["whathappen.co.kr",1],["momkim.co.kr",1],["klauncher.kr",2]]);
424
+ const argsList = [["hashchange","#viewus-explore-more"],["DOMContentLoaded","link.coupang.com"],["pageshow","/\\.persisted *&& *interval_Ad *&& *clearInterval\\( *interval_Ad *\\)/"],["load","_0x"]];
425
+ const hostnamesMap = new Map([["youtu.co",0],["dfast.kr",0],["whathappen.co.kr",1],["momkim.co.kr",1],["m.dcinside.com",2],["klauncher.kr",3]]);
422
426
  const exceptionsMap = new Map([]);
423
427
  const hasEntities = false;
424
428
  const hasAncestors = false;
@@ -266,6 +266,10 @@ function proxyApplyFn(
266
266
  : new proxyApplyFn.ApplyContext(...args);
267
267
  }
268
268
  };
269
+ proxyApplyFn.isCtor = new Map();
270
+ }
271
+ if ( proxyApplyFn.isCtor.has(target) === false ) {
272
+ proxyApplyFn.isCtor.set(target, fn.prototype?.constructor === fn);
269
273
  }
270
274
  const fnStr = fn.toString();
271
275
  const toString = (function toString() { return fnStr; }).bind(null);
@@ -278,7 +282,7 @@ function proxyApplyFn(
278
282
  return Reflect.get(target, prop);
279
283
  },
280
284
  };
281
- if ( fn.prototype?.constructor === fn ) {
285
+ if ( proxyApplyFn.isCtor.get(target) ) {
282
286
  proxyDetails.construct = function(target, args) {
283
287
  return handler(proxyApplyFn.CtorContext.factory(target, args));
284
288
  };
@@ -479,8 +483,8 @@ function safeSelf() {
479
483
  /******************************************************************************/
480
484
 
481
485
  const scriptletGlobals = {}; // eslint-disable-line
482
- const argsList = [["/^https.\\/\\/videoads\\.kakao\\.com\\/adserver\\/api\\/v[0-9]{1","2}\\/vmap$/"],["imasdk.googleapis.com/js/sdkloader/ima3.js"],["pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"],["www3.doubleclick.net"],["adblockanalytics.com"],["adsbygoogle.js"],["adManager.js"]];
483
- const hostnamesMap = new Map([["tv.kakao.com",0],["play-tv.kakao.com",0],["kakaotv.daum.net",0],["spotvnow.co.kr",[1,2]],["namechart.kr",3],["eftlibrary.com",3],["blackkiwi.net",3],["hub.weirdhost.xyz",[4,5]],["hasha.in",6]]);
486
+ const argsList = [["/^https.\\/\\/videoads\\.kakao\\.com\\/adserver\\/api\\/v[0-9]{1","2}\\/vmap$/"],["imasdk.googleapis.com/js/sdkloader/ima3.js"],["pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"],["pagead2.googlesyndication.com method:HEAD"],["www3.doubleclick.net"],["adblockanalytics.com"],["adsbygoogle.js"],["adManager.js"]];
487
+ const hostnamesMap = new Map([["tv.kakao.com",0],["play-tv.kakao.com",0],["kakaotv.daum.net",0],["spotvnow.co.kr",[1,2]],["chzzkban.xyz",3],["namechart.kr",4],["eftlibrary.com",4],["blackkiwi.net",4],["hub.weirdhost.xyz",[5,6]],["hasha.in",7]]);
484
488
  const exceptionsMap = new Map([]);
485
489
  const hasEntities = false;
486
490
  const hasAncestors = false;
@@ -118,6 +118,10 @@ function proxyApplyFn(
118
118
  : new proxyApplyFn.ApplyContext(...args);
119
119
  }
120
120
  };
121
+ proxyApplyFn.isCtor = new Map();
122
+ }
123
+ if ( proxyApplyFn.isCtor.has(target) === false ) {
124
+ proxyApplyFn.isCtor.set(target, fn.prototype?.constructor === fn);
121
125
  }
122
126
  const fnStr = fn.toString();
123
127
  const toString = (function toString() { return fnStr; }).bind(null);
@@ -130,7 +134,7 @@ function proxyApplyFn(
130
134
  return Reflect.get(target, prop);
131
135
  },
132
136
  };
133
- if ( fn.prototype?.constructor === fn ) {
137
+ if ( proxyApplyFn.isCtor.get(target) ) {
134
138
  proxyDetails.construct = function(target, args) {
135
139
  return handler(proxyApplyFn.CtorContext.factory(target, args));
136
140
  };
@@ -118,6 +118,10 @@ function proxyApplyFn(
118
118
  : new proxyApplyFn.ApplyContext(...args);
119
119
  }
120
120
  };
121
+ proxyApplyFn.isCtor = new Map();
122
+ }
123
+ if ( proxyApplyFn.isCtor.has(target) === false ) {
124
+ proxyApplyFn.isCtor.set(target, fn.prototype?.constructor === fn);
121
125
  }
122
126
  const fnStr = fn.toString();
123
127
  const toString = (function toString() { return fnStr; }).bind(null);
@@ -130,7 +134,7 @@ function proxyApplyFn(
130
134
  return Reflect.get(target, prop);
131
135
  },
132
136
  };
133
- if ( fn.prototype?.constructor === fn ) {
137
+ if ( proxyApplyFn.isCtor.get(target) ) {
134
138
  proxyDetails.construct = function(target, args) {
135
139
  return handler(proxyApplyFn.CtorContext.factory(target, args));
136
140
  };
@@ -362,8 +366,8 @@ function safeSelf() {
362
366
  /******************************************************************************/
363
367
 
364
368
  const scriptletGlobals = {}; // eslint-disable-line
365
- const argsList = [["height && 1 <= height && height <= 20"],["coupangAd"],["popup_goods"],["piBlock"],["","15000"],["/\\.displayMessage\\(/"],["window.getComputedStyle"],["adBlockedMessage"],["banner_book"],["blockCheck2022"],["ad.innerHTML.replace"],["document[_0x"]];
366
- const hostnamesMap = new Map([["m.humoruniv.com",0],["enjoyplan.tistory.com",1],["10000recipe.com",2],["moneytoring.co.kr",3],["postincome.co.kr",3],["itinformation.kr",3],["digitstar77.com",3],["filetender.com",4],["zuzunza.com",5],["iphonedev.co.kr",5],["tistory.com",5],["chzzkban.xyz",6],["mylocation.co.kr",7],["sysnet.pe.kr",8],["genshin.gamedot.org",9],["stockinfo7.com",10],["lover932.net",11],["lover933.net",11],["lover934.net",11],["lover935.net",11],["lover936.net",11],["lover937.net",11],["lover938.net",11],["lover939.net",11],["lover940.net",11],["lover941.net",11]]);
369
+ const argsList = [["height && 1 <= height && height <= 20"],["coupangAd"],["popup_goods"],["piBlock"],["","15000"],["/\\.displayMessage\\(/"],["addc.dcinside.com"],["getComputedStyle"],["!window.__adsToken,"],["adBlockedMessage"],["banner_book"],["blockCheck2022"],["ad.innerHTML.replace"],["document[_0x"]];
370
+ const hostnamesMap = new Map([["m.humoruniv.com",0],["enjoyplan.tistory.com",1],["10000recipe.com",2],["moneytoring.co.kr",3],["postincome.co.kr",3],["itinformation.kr",3],["digitstar77.com",3],["filetender.com",4],["zuzunza.com",5],["iphonedev.co.kr",5],["tistory.com",5],["m.dcinside.com",6],["chzzkban.xyz",[7,8]],["mylocation.co.kr",9],["sysnet.pe.kr",10],["genshin.gamedot.org",11],["stockinfo7.com",12],["lover932.net",13],["lover933.net",13],["lover934.net",13],["lover935.net",13],["lover936.net",13],["lover937.net",13],["lover938.net",13],["lover939.net",13],["lover940.net",13],["lover941.net",13]]);
367
371
  const exceptionsMap = new Map([]);
368
372
  const hasEntities = false;
369
373
  const hasAncestors = false;
@@ -177,6 +177,10 @@ function proxyApplyFn(
177
177
  : new proxyApplyFn.ApplyContext(...args);
178
178
  }
179
179
  };
180
+ proxyApplyFn.isCtor = new Map();
181
+ }
182
+ if ( proxyApplyFn.isCtor.has(target) === false ) {
183
+ proxyApplyFn.isCtor.set(target, fn.prototype?.constructor === fn);
180
184
  }
181
185
  const fnStr = fn.toString();
182
186
  const toString = (function toString() { return fnStr; }).bind(null);
@@ -189,7 +193,7 @@ function proxyApplyFn(
189
193
  return Reflect.get(target, prop);
190
194
  },
191
195
  };
192
- if ( fn.prototype?.constructor === fn ) {
196
+ if ( proxyApplyFn.isCtor.get(target) ) {
193
197
  proxyDetails.construct = function(target, args) {
194
198
  return handler(proxyApplyFn.CtorContext.factory(target, args));
195
199
  };
@@ -503,8 +503,8 @@ function safeSelf() {
503
503
  /******************************************************************************/
504
504
 
505
505
  const scriptletGlobals = {}; // eslint-disable-line
506
- const argsList = [["api-v2.adrop.io/request"],["ad.smartmediarep.com/NetInsight/video/smr","length:300"],["api/avods/v1/advertisement"],["/^https.\\/\\/videoads\\.kakao\\.com\\/adserver\\/api\\/v[0-9]{1","2}\\/vmap$/"],["imasdk.googleapis.com/js/sdkloader/ima3.js"],["pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"],["adsbygoogle"],["/compass.adop.cc|adsbygoogle/","emptyStr"]];
507
- const hostnamesMap = new Map([["newneek.co",0],["mplay.mk.co.kr",1],["laftel.net",2],["tv.kakao.com",3],["play-tv.kakao.com",3],["kakaotv.daum.net",3],["spotvnow.co.kr",[4,5]],["noonnu.cc",5],["luckyquiz3.blogspot.com",6],["3dpchip.com",7]]);
506
+ const argsList = [["api-v2.adrop.io/request"],["ad.smartmediarep.com/NetInsight/video/smr","length:300"],["api/avods/v1/advertisement"],["/^https.\\/\\/videoads\\.kakao\\.com\\/adserver\\/api\\/v[0-9]{1","2}\\/vmap$/"],["imasdk.googleapis.com/js/sdkloader/ima3.js"],["pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"],["addc.dcinside.com","emptyStr"],["adsbygoogle"],["/compass.adop.cc|adsbygoogle/","emptyStr"]];
507
+ const hostnamesMap = new Map([["newneek.co",0],["mplay.mk.co.kr",1],["laftel.net",2],["tv.kakao.com",3],["play-tv.kakao.com",3],["kakaotv.daum.net",3],["spotvnow.co.kr",[4,5]],["noonnu.cc",5],["m.dcinside.com",6],["luckyquiz3.blogspot.com",7],["3dpchip.com",8]]);
508
508
  const exceptionsMap = new Map([]);
509
509
  const hasEntities = false;
510
510
  const hasAncestors = false;
@@ -295,8 +295,8 @@ function safeSelf() {
295
295
  /******************************************************************************/
296
296
 
297
297
  const scriptletGlobals = {}; // eslint-disable-line
298
- const argsList = [["gaejuki_ad"]];
299
- const hostnamesMap = new Map([["dcinside.com",0]]);
298
+ const argsList = [["gaejuki_ad"],["find_ab"]];
299
+ const hostnamesMap = new Map([["dcinside.com",0],["m.dcinside.com",1]]);
300
300
  const exceptionsMap = new Map([]);
301
301
  const hasEntities = false;
302
302
  const hasAncestors = false;
@@ -368,8 +368,8 @@ function safeSelf() {
368
368
  /******************************************************************************/
369
369
 
370
370
  const scriptletGlobals = {}; // eslint-disable-line
371
- const argsList = [["script","/run[\\s\\S]*?data[\\s\\S]*?OnClick[\\s\\S]*?ad\\d_/"]];
372
- const hostnamesMap = new Map([["m.humoruniv.com",0]]);
371
+ const argsList = [["script","/run[\\s\\S]*?data[\\s\\S]*?OnClick[\\s\\S]*?ad\\d_/"],["script","/background:[\\s\\S]+setTimeout\\( *\\( *\\) *=> *[A-Za-z0-9]+\\.remove\\( *\\)[\\s\\S]+Math\\.random\\( *\\) *< *percent *\\/ *100/"],["script","/finally *{\\n* *document.documentElement.removeChild\\( *[A-Za-z0-9]+ *\\) *;\\n* *}([ \\n]|.)+_ad\"]\\);/"]];
372
+ const hostnamesMap = new Map([["m.humoruniv.com",0],["gall.dcinside.com",[1,2]]]);
373
373
  const exceptionsMap = new Map([]);
374
374
  const hasEntities = false;
375
375
  const hasAncestors = false;
@@ -460,8 +460,8 @@ function validateConstantFn(trusted, raw, extraArgs = {}) {
460
460
  /******************************************************************************/
461
461
 
462
462
  const scriptletGlobals = {}; // eslint-disable-line
463
- const argsList = [["_ads_zum_main_initbanner_750_zum_main_br_widget_336","true"],["list_end_run_read_top_boom","noopFunc"],["list_end_run_pds_notice_boom","noopFunc"],["list_end_run_comment_bottom_boom","noopFunc"],["list_end_run_center_boom","noopFunc"],["list_end_run_list_bottom_boom","noopFunc"],["list_end_run","noopFunc"],["commonTrailer","undefined"],["Math.uuid","","","asFunction"],["jQuery.fn.getUrlParameter","","asFunction"],["window.__NEXT_DATA__.props.pageProps.initialState.post.adhistory","{}"],["$is.powerLink.loadPowerLink","noopFunc"],["SbsHtml5PlayerContainer.prototype.renderAdSequence","noopFunc"],["pum_vars","undefined"],["player.renderAdSequence","undefined"],["bannerpop.popup","noopFunc"],["player.advertisement_finished","true"],["getAdcrUrl",""],["random_imglink","noopFunc"],["vrixadsdk","undefined"],["hahaha","noopFunc"],["adsBlocked","noopFunc"],["adblockChecker","noopFunc"],["checkAdBlock","undefined"],["googletag.getVersion","trueFunc"],["linkPass","true"],["DHAntiAdBlocker","true"],["checkAds","noopFunc"],["NAVER_ADPOST_V2","noopFunc"]];
464
- const hostnamesMap = new Map([["zum.com",0],["m.humoruniv.com",[1,2,3,4,5,6]],["platformgreat.kr",7],["hub.zum.com",8],["mememedia.co.kr",9],["humors.zigcou.com",10],["shopping.interpark.com",11],["sbs.co.kr",[12,14]],["fun-iyagi.co.kr",13],["timecoffee.co.kr",13],["333aaa.site",13],["domin.co.kr",15],["tvchosun.com",16],["naver.com",17],["koreapas.com",18],["imbc.com",19],["kilho.net",20],["meeco.kr",21],["checkwhoiam.tistory.com",22],["minipol.tistory.com",23],["start.klauncher.kr",24],["dinfo.3dpchip.com",25],["sogirl.so",26],["tistory.com",27],["sajuplus.net",27],["auto.danawa.com",28]]);
463
+ const argsList = [["_ads_zum_main_initbanner_750_zum_main_br_widget_336","true"],["list_end_run_read_top_boom","noopFunc"],["list_end_run_pds_notice_boom","noopFunc"],["list_end_run_comment_bottom_boom","noopFunc"],["list_end_run_center_boom","noopFunc"],["list_end_run_list_bottom_boom","noopFunc"],["list_end_run","noopFunc"],["commonTrailer","undefined"],["Math.uuid","","","asFunction"],["jQuery.fn.getUrlParameter","","asFunction"],["window.__NEXT_DATA__.props.pageProps.initialState.post.adhistory","{}"],["$is.powerLink.loadPowerLink","noopFunc"],["SbsHtml5PlayerContainer.prototype.renderAdSequence","noopFunc"],["pum_vars","undefined"],["player.renderAdSequence","undefined"],["bannerpop.popup","noopFunc"],["player.advertisement_finished","true"],["getAdcrUrl",""],["random_imglink","noopFunc"],["vrixadsdk","undefined"],["hahaha","noopFunc"],["adsBlocked","noopFunc"],["blockedState",""],["adblockChecker","noopFunc"],["checkAdBlock","undefined"],["googletag.getVersion","trueFunc"],["linkPass","true"],["DHAntiAdBlocker","true"],["checkAds","noopFunc"],["NAVER_ADPOST_V2","noopFunc"]];
464
+ const hostnamesMap = new Map([["zum.com",0],["m.humoruniv.com",[1,2,3,4,5,6]],["platformgreat.kr",7],["hub.zum.com",8],["mememedia.co.kr",9],["humors.zigcou.com",10],["shopping.interpark.com",11],["sbs.co.kr",[12,14]],["fun-iyagi.co.kr",13],["timecoffee.co.kr",13],["333aaa.site",13],["domin.co.kr",15],["tvchosun.com",16],["naver.com",17],["koreapas.com",18],["imbc.com",19],["kilho.net",20],["meeco.kr",21],["gall.dcinside.com",22],["checkwhoiam.tistory.com",23],["minipol.tistory.com",24],["start.klauncher.kr",25],["dinfo.3dpchip.com",26],["sogirl.so",27],["tistory.com",28],["sajuplus.net",28],["auto.danawa.com",29]]);
465
465
  const exceptionsMap = new Map([]);
466
466
  const hasEntities = false;
467
467
  const hasAncestors = false;