@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.
- package/CHANGELOG.md +25 -1
- package/build/browsers/index.js +15 -0
- package/build/routes/chrome/http/content.post.query.json +3 -0
- package/build/routes/chrome/http/download.post.query.json +3 -0
- package/build/routes/chrome/http/function.post.query.json +3 -0
- package/build/routes/chrome/http/pdf.post.query.json +3 -0
- package/build/routes/chrome/http/performance.post.query.json +3 -0
- package/build/routes/chrome/http/scrape.post.query.json +3 -0
- package/build/routes/chrome/http/screenshot.post.query.json +3 -0
- package/build/routes/chrome/tests/content.spec.js +21 -0
- package/build/routes/chrome/tests/json.spec.js +100 -0
- package/build/routes/chrome/ws/browser.query.json +3 -0
- package/build/routes/chrome/ws/cdp.query.json +3 -0
- package/build/routes/chrome/ws/function-connect.query.json +3 -0
- package/build/routes/chrome/ws/page.query.json +3 -0
- package/build/routes/chromium/http/content.post.query.json +3 -0
- package/build/routes/chromium/http/download.post.query.json +3 -0
- package/build/routes/chromium/http/function.post.query.json +3 -0
- package/build/routes/chromium/http/pdf.post.query.json +3 -0
- package/build/routes/chromium/http/performance.post.query.json +3 -0
- package/build/routes/chromium/http/scrape.post.query.json +3 -0
- package/build/routes/chromium/http/screenshot.post.query.json +3 -0
- package/build/routes/chromium/tests/content.spec.js +21 -0
- package/build/routes/chromium/tests/function.spec.js +27 -0
- package/build/routes/chromium/tests/json.spec.js +100 -0
- package/build/routes/chromium/ws/browser.query.json +3 -0
- package/build/routes/chromium/ws/cdp.query.json +3 -0
- package/build/routes/chromium/ws/function-connect.query.json +3 -0
- package/build/routes/chromium/ws/page.query.json +3 -0
- package/build/routes/edge/http/content.post.query.json +3 -0
- package/build/routes/edge/http/download.post.query.json +3 -0
- package/build/routes/edge/http/function.post.query.json +3 -0
- package/build/routes/edge/http/pdf.post.query.json +3 -0
- package/build/routes/edge/http/performance.post.query.json +3 -0
- package/build/routes/edge/http/scrape.post.query.json +3 -0
- package/build/routes/edge/http/screenshot.post.query.json +3 -0
- package/build/routes/edge/tests/content.spec.js +21 -0
- package/build/routes/edge/tests/json.spec.js +100 -0
- package/build/routes/edge/ws/browser.query.json +3 -0
- package/build/routes/edge/ws/cdp.query.json +3 -0
- package/build/routes/edge/ws/function-connect.query.json +3 -0
- package/build/routes/edge/ws/page.query.json +3 -0
- package/build/routes/management/http/kill.get.query.json +3 -0
- package/build/routes/management/http/sessions.get.query.json +3 -0
- package/build/routes/management/tests/management.spec.js +44 -0
- package/build/server.js +1 -1
- package/build/shim.js +11 -1
- package/build/shim.spec.js +14 -0
- package/build/types.d.ts +2 -0
- package/extensions/ublocklite/_locales/ar/messages.json +5 -5
- package/extensions/ublocklite/_locales/br_FR/messages.json +2 -2
- package/extensions/ublocklite/_locales/cs/messages.json +8 -8
- package/extensions/ublocklite/_locales/da/messages.json +5 -5
- package/extensions/ublocklite/_locales/de/messages.json +1 -1
- package/extensions/ublocklite/_locales/es/messages.json +4 -4
- package/extensions/ublocklite/_locales/fa/messages.json +8 -8
- package/extensions/ublocklite/_locales/gl/messages.json +5 -5
- package/extensions/ublocklite/_locales/hu/messages.json +5 -5
- package/extensions/ublocklite/_locales/ka/messages.json +5 -5
- package/extensions/ublocklite/_locales/nb/messages.json +7 -7
- package/extensions/ublocklite/_locales/pt_PT/messages.json +9 -9
- package/extensions/ublocklite/_locales/ro/messages.json +32 -32
- package/extensions/ublocklite/_locales/ru/messages.json +3 -3
- package/extensions/ublocklite/_locales/sq/messages.json +5 -5
- package/extensions/ublocklite/_locales/sv/messages.json +5 -5
- package/extensions/ublocklite/_locales/zh_CN/messages.json +5 -5
- package/extensions/ublocklite/css/settings.css +6 -0
- package/extensions/ublocklite/dashboard.html +1 -1
- package/extensions/ublocklite/js/background.js +29 -8
- package/extensions/ublocklite/js/dashboard.js +4 -5
- package/extensions/ublocklite/js/jsonpath.js +25 -10
- package/extensions/ublocklite/js/mode-manager.js +7 -9
- package/extensions/ublocklite/js/report.js +2 -4
- package/extensions/ublocklite/js/scripting/css-api.js +33 -0
- package/extensions/ublocklite/js/scripting/css-generic.js +3 -13
- package/extensions/ublocklite/js/scripting/css-procedural-api.js +1 -9
- package/extensions/ublocklite/js/scripting/css-procedural.js +1 -5
- package/extensions/ublocklite/js/scripting/css-specific.js +1 -5
- package/extensions/ublocklite/js/scripting-manager.js +11 -8
- package/extensions/ublocklite/js/troubleshooting.js +33 -18
- package/extensions/ublocklite/js/utils.js +15 -13
- package/extensions/ublocklite/manifest.json +3 -2
- package/extensions/ublocklite/rulesets/generic-details.json +4 -2
- package/extensions/ublocklite/rulesets/main/adguard-mobile.json +4 -5
- package/extensions/ublocklite/rulesets/main/adguard-spyware-url.json +13 -8
- package/extensions/ublocklite/rulesets/main/annoyances-cookies.json +24 -18
- package/extensions/ublocklite/rulesets/main/annoyances-notifications.json +2 -1
- package/extensions/ublocklite/rulesets/main/annoyances-others.json +3 -2
- package/extensions/ublocklite/rulesets/main/annoyances-widgets.json +5 -3
- package/extensions/ublocklite/rulesets/main/chn-0.json +26 -16
- package/extensions/ublocklite/rulesets/main/deu-0.json +4 -4
- package/extensions/ublocklite/rulesets/main/dpollock-0.json +2 -1
- package/extensions/ublocklite/rulesets/main/easylist.json +44 -101
- package/extensions/ublocklite/rulesets/main/easyprivacy.json +28 -15
- package/extensions/ublocklite/rulesets/main/est-0.json +2 -1
- package/extensions/ublocklite/rulesets/main/fin-0.json +3 -1
- package/extensions/ublocklite/rulesets/main/fra-0.json +6 -4
- package/extensions/ublocklite/rulesets/main/hrv-0.json +6 -3
- package/extensions/ublocklite/rulesets/main/hun-0.json +5 -2
- package/extensions/ublocklite/rulesets/main/idn-0.json +1 -1
- package/extensions/ublocklite/rulesets/main/ind-0.json +36 -34
- package/extensions/ublocklite/rulesets/main/isr-0.json +1 -1
- package/extensions/ublocklite/rulesets/main/ita-0.json +6 -3
- package/extensions/ublocklite/rulesets/main/jpn-1.json +31 -24
- package/extensions/ublocklite/rulesets/main/kor-1.json +5 -3
- package/extensions/ublocklite/rulesets/main/mkd-0.json +2 -1
- package/extensions/ublocklite/rulesets/main/nld-0.json +3 -1
- package/extensions/ublocklite/rulesets/main/nor-0.json +17 -3
- package/extensions/ublocklite/rulesets/main/pgl.json +16 -20
- package/extensions/ublocklite/rulesets/main/pol-0.json +1 -1
- package/extensions/ublocklite/rulesets/main/rus-0.json +14 -13
- package/extensions/ublocklite/rulesets/main/rus-1.json +5 -2
- package/extensions/ublocklite/rulesets/main/spa-1.json +13 -3
- package/extensions/ublocklite/rulesets/main/stevenblack-hosts.json +11287 -12041
- package/extensions/ublocklite/rulesets/main/swe-1.json +24 -22
- package/extensions/ublocklite/rulesets/main/tur-0.json +15 -6
- package/extensions/ublocklite/rulesets/main/ublock-badware.json +30 -3
- package/extensions/ublocklite/rulesets/main/ublock-filters.json +91 -88
- package/extensions/ublocklite/rulesets/main/ukr-0.json +3 -3
- package/extensions/ublocklite/rulesets/main/urlhaus-full.json +4063 -328
- package/extensions/ublocklite/rulesets/main/vie-1.json +62 -51
- package/extensions/ublocklite/rulesets/regex/block-lan.json +16 -0
- package/extensions/ublocklite/rulesets/regex/chn-0.json +3 -2
- package/extensions/ublocklite/rulesets/regex/easylist.json +1 -6
- package/extensions/ublocklite/rulesets/regex/jpn-1.json +2 -3
- package/extensions/ublocklite/rulesets/regex/rus-0.json +2 -1
- package/extensions/ublocklite/rulesets/regex/ublock-badware.json +5 -5
- package/extensions/ublocklite/rulesets/regex/ublock-filters.json +23 -14
- package/extensions/ublocklite/rulesets/ruleset-details.json +239 -239
- package/extensions/ublocklite/rulesets/scripting/generic/adguard-mobile.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/generic/alb-0.js +1 -1
- package/extensions/ublocklite/rulesets/scripting/generic/annoyances-cookies.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/generic/annoyances-notifications.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/generic/annoyances-others.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/generic/annoyances-overlays.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/generic/annoyances-social.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/generic/annoyances-widgets.js +1 -1
- package/extensions/ublocklite/rulesets/scripting/generic/bgr-0.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/generic/chn-0.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/generic/cze-0.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/generic/deu-0.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/generic/easylist.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/generic/easyprivacy.js +1 -1
- package/extensions/ublocklite/rulesets/scripting/generic/est-0.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/generic/fin-0.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/generic/fra-0.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/generic/grc-0.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/generic/hrv-0.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/generic/hun-0.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/generic/idn-0.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/generic/ind-0.js +1 -1
- package/extensions/ublocklite/rulesets/scripting/generic/irn-0.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/generic/isr-0.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/generic/ita-0.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/generic/jpn-1.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/generic/kor-1.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/generic/ltu-0.js +1 -1
- package/extensions/ublocklite/rulesets/scripting/generic/lva-0.js +1 -1
- package/extensions/ublocklite/rulesets/scripting/generic/mkd-0.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/generic/nld-0.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/generic/nor-0.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/generic/pol-0.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/generic/rou-1.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/generic/rus-0.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/generic/rus-1.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/generic/spa-0.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/generic/spa-1.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/generic/svn-0.js +1 -1
- package/extensions/ublocklite/rulesets/scripting/generic/swe-1.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/generic/tha-0.js +1 -1
- package/extensions/ublocklite/rulesets/scripting/generic/tur-0.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/generic/ublock-badware.js +1 -1
- package/extensions/ublocklite/rulesets/scripting/generic/ublock-filters.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/generic/ubol-tests.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/generic/ukr-0.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/generic/vie-1.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/generichigh/chn-0.css +3 -5
- package/extensions/ublocklite/rulesets/scripting/generichigh/easylist.css +4 -0
- package/extensions/ublocklite/rulesets/scripting/generichigh/idn-0.css +4 -0
- package/extensions/ublocklite/rulesets/scripting/generichigh/rus-0.css +1 -1
- package/extensions/ublocklite/rulesets/scripting/procedural/adguard-mobile.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/procedural/annoyances-cookies.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/procedural/annoyances-others.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/procedural/annoyances-overlays.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/procedural/chn-0.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/procedural/easylist.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/procedural/fin-0.js +1 -1
- package/extensions/ublocklite/rulesets/scripting/procedural/fra-0.js +1 -1
- package/extensions/ublocklite/rulesets/scripting/procedural/grc-0.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/procedural/ind-0.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/procedural/irn-0.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/procedural/isr-0.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/procedural/jpn-1.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/procedural/kor-1.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/procedural/rou-1.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/procedural/rus-0.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/procedural/rus-1.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/procedural/spa-1.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/procedural/swe-1.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/procedural/ublock-experimental.js +42 -0
- package/extensions/ublocklite/rulesets/scripting/procedural/ublock-filters.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/scriptlet/adguard-mobile.addEventListener-defuser.js +7 -3
- package/extensions/ublocklite/rulesets/scripting/scriptlet/adguard-mobile.prevent-setTimeout.js +5 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.addEventListener-defuser.js +5 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.prevent-requestAnimationFrame.js +5 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.prevent-setTimeout.js +5 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.remove-node-text.js +1 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.set-cookie.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.set-local-storage-item.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.set-session-storage-item.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.trusted-click-element.js +5 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.trusted-replace-node-text.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.trusted-set-cookie.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-notifications.addEventListener-defuser.js +5 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-notifications.set-constant.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-others.addEventListener-defuser.js +5 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-others.json-prune.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-others.prevent-setInterval.js +5 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-others.prevent-setTimeout.js +5 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-others.set-cookie.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.abort-current-script.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.abort-on-stack-trace.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.addEventListener-defuser.js +6 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.noeval-if.js +5 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.prevent-fetch.js +5 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.prevent-setInterval.js +5 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.prevent-setTimeout.js +6 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.prevent-window-open.js +5 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.remove-attr.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.remove-class.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.remove-node-text.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.set-constant.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.trusted-click-element.js +3 -0
- package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.trusted-replace-argument.js +19 -8
- package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.trusted-replace-outbound-text.js +5 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.trusted-suppress-native-method.js +5 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/chn-0.addEventListener-defuser.js +5 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/chn-0.evaldata-prune.js +5 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/chn-0.noeval-if.js +5 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/chn-0.prevent-fetch.js +7 -3
- package/extensions/ublocklite/rulesets/scripting/scriptlet/chn-0.prevent-setInterval.js +5 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/chn-0.prevent-setTimeout.js +6 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/chn-0.prevent-window-open.js +5 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/chn-0.set-constant.js +1 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/{nld-0.json-prune-fetch-response.js → chn-0.set-cookie.js} +120 -266
- package/extensions/ublocklite/rulesets/scripting/scriptlet/cze-0.addEventListener-defuser.js +5 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/cze-0.prevent-setInterval.js +5 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/cze-0.prevent-setTimeout.js +5 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/easyprivacy.prevent-fetch.js +5 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/est-0.addEventListener-defuser.js +5 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/fin-0.prevent-setTimeout.js +5 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/{vie-1.addEventListener-defuser.js → fin-0.remove-node-text.js} +105 -154
- package/extensions/ublocklite/rulesets/scripting/scriptlet/fra-0.addEventListener-defuser.js +5 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/fra-0.prevent-fetch.js +5 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/fra-0.prevent-requestAnimationFrame.js +5 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/fra-0.prevent-setInterval.js +5 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/fra-0.prevent-setTimeout.js +5 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/fra-0.prevent-window-open.js +5 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/hun-0.addEventListener-defuser.js +5 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/hun-0.prevent-setTimeout.js +5 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/hun-0.prevent-window-open.js +5 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/hun-0.set-constant.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/idn-0.addEventListener-defuser.js +5 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/idn-0.noeval-if.js +5 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/idn-0.prevent-fetch.js +5 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/idn-0.prevent-setTimeout.js +5 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/idn-0.prevent-window-open.js +5 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/irn-0.addEventListener-defuser.js +5 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/irn-0.href-sanitizer.js +4 -22
- package/extensions/ublocklite/rulesets/scripting/scriptlet/irn-0.prevent-fetch.js +5 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/irn-0.prevent-setTimeout.js +5 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/irn-0.prevent-window-open.js +5 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/isr-0.addEventListener-defuser.js +5 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/isr-0.prevent-fetch.js +6 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/isr-0.prevent-setTimeout.js +5 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/isr-0.prevent-window-open.js +5 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/jpn-1.addEventListener-defuser.js +5 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/jpn-1.adjust-setInterval.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/jpn-1.href-sanitizer.js +6 -24
- package/extensions/ublocklite/rulesets/scripting/scriptlet/jpn-1.json-prune.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/jpn-1.noeval-if.js +5 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/jpn-1.prevent-fetch.js +5 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/jpn-1.prevent-setInterval.js +5 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/jpn-1.prevent-setTimeout.js +5 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/jpn-1.prevent-window-open.js +5 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/kor-1.abort-current-script.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/kor-1.addEventListener-defuser.js +7 -3
- package/extensions/ublocklite/rulesets/scripting/scriptlet/kor-1.prevent-fetch.js +7 -3
- package/extensions/ublocklite/rulesets/scripting/scriptlet/kor-1.prevent-setInterval.js +5 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/kor-1.prevent-setTimeout.js +7 -3
- package/extensions/ublocklite/rulesets/scripting/scriptlet/kor-1.prevent-window-open.js +5 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/kor-1.prevent-xhr.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/kor-1.remove-cookie.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/kor-1.remove-node-text.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/kor-1.set-constant.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/kor-1.set-local-storage-item.js +399 -0
- package/extensions/ublocklite/rulesets/scripting/scriptlet/ltu-0.prevent-setTimeout.js +5 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/ltu-0.prevent-window-open.js +5 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/nld-0.addEventListener-defuser.js +5 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/nld-0.prevent-fetch.js +5 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/nld-0.prevent-setTimeout.js +5 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/nor-0.addEventListener-defuser.js +5 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/nor-0.prevent-fetch.js +5 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/nor-0.prevent-setTimeout.js +5 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/pol-0.addEventListener-defuser.js +5 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/pol-0.noeval-if.js +5 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/pol-0.prevent-setInterval.js +5 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/pol-0.prevent-setTimeout.js +5 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/pol-0.prevent-window-open.js +5 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/rou-1.noeval-if.js +5 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/rou-1.prevent-setInterval.js +5 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/rou-1.prevent-setTimeout.js +5 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/rou-1.prevent-window-open.js +5 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.abort-on-property-write.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.abort-on-stack-trace.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.addEventListener-defuser.js +8 -4
- package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.href-sanitizer.js +6 -24
- package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.noeval-if.js +5 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.prevent-fetch.js +5 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.prevent-setInterval.js +5 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.prevent-setTimeout.js +5 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.prevent-window-open.js +5 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.remove-node-text.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.set-attr.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.set-constant.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.set-cookie.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-1.addEventListener-defuser.js +5 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-1.prevent-fetch.js +5 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-1.prevent-setTimeout.js +5 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-1.set-local-storage-item.js +399 -0
- package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.addEventListener-defuser.js +5 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.href-sanitizer.js +4 -22
- package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.json-prune.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.noeval-if.js +6 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.prevent-fetch.js +5 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.prevent-requestAnimationFrame.js +5 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.prevent-setInterval.js +5 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.prevent-setTimeout.js +7 -3
- package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.prevent-window-open.js +5 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.remove-node-text.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/swe-1.addEventListener-defuser.js +5 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/swe-1.href-sanitizer.js +4 -22
- package/extensions/ublocklite/rulesets/scripting/scriptlet/swe-1.noeval-if.js +5 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/swe-1.prevent-setInterval.js +5 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/swe-1.prevent-setTimeout.js +5 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/tur-0.addEventListener-defuser.js +5 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/tur-0.prevent-fetch.js +5 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/tur-0.prevent-setInterval.js +5 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/tur-0.prevent-setTimeout.js +5 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/tur-0.prevent-window-open.js +6 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/tur-0.set-constant.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-badware.addEventListener-defuser.js +5 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-badware.noeval-if.js +5 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-badware.trusted-replace-argument.js +19 -8
- package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-experimental.trusted-json-edit-xhr-request.js +848 -0
- package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-experimental.trusted-replace-node-text.js +1 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.abort-current-script.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.abort-on-property-read.js +1 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.abort-on-property-write.js +1 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.abort-on-stack-trace.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.addEventListener-defuser.js +7 -3
- package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.adjust-setInterval.js +1 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.adjust-setTimeout.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.href-sanitizer.js +5 -23
- package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.json-edit-fetch-response.js +29 -11
- package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.json-edit-xhr-response.js +24 -10
- package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.json-edit.js +29 -11
- package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.json-prune-fetch-response.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.json-prune-xhr-response.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.json-prune.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.jsonl-edit-xhr-response.js +24 -10
- package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.noeval-if.js +7 -3
- package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.prevent-fetch.js +7 -3
- package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.prevent-requestAnimationFrame.js +6 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.prevent-setInterval.js +8 -4
- package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.prevent-setTimeout.js +8 -4
- package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.prevent-window-open.js +7 -3
- package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.prevent-xhr.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.remove-attr.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.remove-cookie.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.remove-node-text.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.set-constant.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.set-cookie.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-click-element.js +3 -0
- package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-create-html.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-json-edit-fetch-response.js +29 -11
- package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-json-edit.js +29 -11
- package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-override-element-method.js +5 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-prevent-dom-bypass.js +5 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-prevent-fetch.js +7 -3
- package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-replace-argument.js +21 -10
- package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-replace-node-text.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-replace-outbound-text.js +5 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-set-attr.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-suppress-native-method.js +7 -3
- package/extensions/ublocklite/rulesets/scripting/scriptlet/ubol-tests.jsonl-edit-fetch-response.js +29 -11
- package/extensions/ublocklite/rulesets/scripting/scriptlet/ubol-tests.jsonl-edit-xhr-response.js +24 -10
- package/extensions/ublocklite/rulesets/scripting/scriptlet/ubol-tests.prevent-setTimeout.js +5 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/ubol-tests.trusted-prevent-dom-bypass.js +5 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/ukr-0.prevent-fetch.js +5 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/ukr-0.prevent-window-open.js +5 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/vie-1.abort-current-script.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/vie-1.abort-on-property-read.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/vie-1.prevent-fetch.js +5 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/vie-1.prevent-setTimeout.js +5 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/vie-1.set-constant.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/specific/adguard-mobile.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/specific/annoyances-cookies.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/specific/annoyances-notifications.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/specific/annoyances-others.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/specific/annoyances-overlays.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/specific/annoyances-social.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/specific/chn-0.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/specific/deu-0.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/specific/easylist.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/specific/est-0.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/specific/fin-0.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/specific/fra-0.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/specific/grc-0.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/specific/hrv-0.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/specific/hun-0.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/specific/idn-0.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/specific/ind-0.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/specific/isr-0.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/specific/ita-0.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/specific/jpn-1.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/specific/kor-1.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/specific/nor-0.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/specific/rou-1.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/specific/rus-0.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/specific/spa-1.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/specific/swe-1.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/specific/tur-0.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/specific/ublock-badware.js +1 -1
- package/extensions/ublocklite/rulesets/scripting/specific/ublock-filters.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/specific/ukr-0.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/specific/vie-1.js +3 -3
- package/extensions/ublocklite/rulesets/scriptlet-details.json +205 -117
- package/extensions/ublocklite/rulesets/strictblock/adguard-mobile.json +18 -28
- package/extensions/ublocklite/rulesets/strictblock/annoyances-cookies.json +1 -0
- package/extensions/ublocklite/rulesets/strictblock/annoyances-widgets.json +1 -0
- package/extensions/ublocklite/rulesets/strictblock/chn-0.json +267 -247
- package/extensions/ublocklite/rulesets/strictblock/deu-0.json +1 -0
- package/extensions/ublocklite/rulesets/strictblock/dpollock-0.json +2 -1
- package/extensions/ublocklite/rulesets/strictblock/easylist.json +1 -1
- package/extensions/ublocklite/rulesets/strictblock/easyprivacy.json +47 -3
- package/extensions/ublocklite/rulesets/strictblock/fra-0.json +102 -41
- package/extensions/ublocklite/rulesets/strictblock/jpn-1.json +208 -198
- package/extensions/ublocklite/rulesets/strictblock/nor-0.json +1 -1
- package/extensions/ublocklite/rulesets/strictblock/pgl.json +16 -20
- package/extensions/ublocklite/rulesets/strictblock/pol-0.json +5 -1
- package/extensions/ublocklite/rulesets/strictblock/spa-1.json +1 -0
- package/extensions/ublocklite/rulesets/strictblock/stevenblack-hosts.json +11287 -12041
- package/extensions/ublocklite/rulesets/strictblock/swe-1.json +0 -1
- package/extensions/ublocklite/rulesets/strictblock/tur-0.json +1 -0
- package/extensions/ublocklite/rulesets/strictblock/ublock-badware.json +671 -653
- package/extensions/ublocklite/rulesets/strictblock/ublock-filters.json +23 -19
- package/extensions/ublocklite/rulesets/strictblock/ukr-0.json +3 -0
- package/extensions/ublocklite/rulesets/strictblock/urlhaus-full.json +4063 -328
- package/extensions/ublocklite/rulesets/strictblock/vie-1.json +5 -1
- package/extensions/ublocklite/rulesets/urlskip/ublock-filters.json +59 -1
- package/extensions/ublocklite/ublock.zip +0 -0
- package/package.json +23 -22
- package/scripts/install-debugger.js +2 -2
- package/src/browsers/index.ts +20 -0
- package/src/routes/chrome/tests/content.spec.ts +24 -0
- package/src/routes/chrome/tests/json.spec.ts +134 -0
- package/src/routes/chromium/tests/content.spec.ts +24 -0
- package/src/routes/chromium/tests/function.spec.ts +33 -0
- package/src/routes/chromium/tests/json.spec.ts +134 -0
- package/src/routes/chromium/tests/scrape.spec.ts +3 -1
- package/src/routes/edge/tests/content.spec.ts +24 -0
- package/src/routes/edge/tests/json.spec.ts +134 -0
- package/src/routes/management/tests/management.spec.ts +66 -0
- package/src/server.ts +1 -1
- package/src/shared/screenshot.http.ts +1 -1
- package/src/shim.spec.ts +18 -0
- package/src/shim.ts +15 -1
- package/src/types.ts +2 -0
- package/static/docs/swagger.json +5 -2
- package/static/docs/swagger.min.json +4 -1
- package/static/function/client.js +143 -105
- package/static/function/index.html +143 -105
- package/build/routes/chrome/tests/json-version.spec.js +0 -37
- package/build/routes/chromium/tests/json-version.spec.js +0 -37
- package/build/routes/edge/tests/json-version.spec.js +0 -37
- package/src/routes/chrome/tests/json-version.spec.ts +0 -52
- package/src/routes/chromium/tests/json-version.spec.ts +0 -52
- package/src/routes/edge/tests/json-version.spec.ts +0 -52
- /package/build/routes/chrome/tests/{json-version.spec.d.ts → json.spec.d.ts} +0 -0
- /package/build/routes/chromium/tests/{json-version.spec.d.ts → json.spec.d.ts} +0 -0
- /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]+/, '')
|
|
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
|
-
|
|
90
|
-
const
|
|
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 (
|
|
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 (
|
|
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 (
|
|
196
|
+
if ( proxyApplyFn.isCtor.get(target) ) {
|
|
193
197
|
proxyDetails.construct = function(target, args) {
|
|
194
198
|
return handler(proxyApplyFn.CtorContext.factory(target, args));
|
|
195
199
|
};
|
package/extensions/ublocklite/rulesets/scripting/scriptlet/isr-0.addEventListener-defuser.js
CHANGED
|
@@ -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 (
|
|
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 (
|
|
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 (
|
|
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 (
|
|
196
|
+
if ( proxyApplyFn.isCtor.get(target) ) {
|
|
193
197
|
proxyDetails.construct = function(target, args) {
|
|
194
198
|
return handler(proxyApplyFn.CtorContext.factory(target, args));
|
|
195
199
|
};
|
package/extensions/ublocklite/rulesets/scripting/scriptlet/jpn-1.addEventListener-defuser.js
CHANGED
|
@@ -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 (
|
|
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]+/, '')
|
|
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
|
-
|
|
90
|
-
const
|
|
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",
|
|
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",
|
|
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 (
|
|
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 (
|
|
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 (
|
|
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 (
|
|
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 (
|
|
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"],["
|
|
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],["
|
|
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;
|
package/extensions/ublocklite/rulesets/scripting/scriptlet/kor-1.addEventListener-defuser.js
CHANGED
|
@@ -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 (
|
|
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",
|
|
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 (
|
|
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",
|
|
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 (
|
|
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 (
|
|
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\\(/"],["
|
|
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",
|
|
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 (
|
|
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",
|
|
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",
|
|
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;
|