@browserless.io/browserless 2.33.0 → 2.34.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +13 -1
- package/README.md +1 -1
- package/build/config.d.ts +1 -1
- package/build/config.js +1 -1
- package/build/http.d.ts +10 -0
- package/build/http.js +5 -0
- package/build/limiter.spec.js +1 -1
- package/build/routes/chrome/http/content.post.body.json +18 -109
- package/build/routes/chrome/http/pdf.post.body.json +18 -109
- package/build/routes/chrome/http/scrape.post.body.json +18 -109
- package/build/routes/chrome/http/screenshot.post.body.json +18 -109
- package/build/routes/chrome/tests/content.spec.js +12 -12
- package/build/routes/chrome/tests/page-websocket.spec.js +3 -3
- package/build/routes/chrome/tests/pdf.spec.js +13 -13
- package/build/routes/chrome/tests/performance.spec.js +4 -4
- package/build/routes/chrome/tests/scrape.spec.js +13 -13
- package/build/routes/chrome/tests/screenshot.spec.js +14 -14
- package/build/routes/chromium/http/content.post.body.json +18 -109
- package/build/routes/chromium/http/pdf.post.body.json +18 -109
- package/build/routes/chromium/http/scrape.post.body.json +18 -109
- package/build/routes/chromium/http/screenshot.post.body.json +18 -109
- package/build/routes/chromium/tests/content.spec.js +13 -13
- package/build/routes/chromium/tests/page-websocket.spec.js +3 -3
- package/build/routes/chromium/tests/pdf.spec.js +13 -13
- package/build/routes/chromium/tests/performance.spec.js +4 -4
- package/build/routes/chromium/tests/scrape.spec.js +13 -13
- package/build/routes/chromium/tests/screenshot.spec.js +14 -14
- package/build/routes/edge/http/content.post.body.json +18 -109
- package/build/routes/edge/http/pdf.post.body.json +18 -109
- package/build/routes/edge/http/scrape.post.body.json +18 -109
- package/build/routes/edge/http/screenshot.post.body.json +18 -109
- package/build/routes/edge/tests/content.spec.js +12 -12
- package/build/routes/edge/tests/page-websocket.spec.js +3 -3
- package/build/routes/edge/tests/pdf.spec.js +13 -13
- package/build/routes/edge/tests/performance.spec.js +4 -4
- package/build/routes/edge/tests/scrape.spec.js +13 -13
- package/build/routes/edge/tests/screenshot.spec.js +14 -14
- package/build/routes/management/http/kill.get.d.ts +1 -1
- package/build/routes/management/http/kill.get.query.json +0 -3
- package/build/routes/management/http/pressure.get.d.ts +1 -1
- package/build/routes/management/http/pressure.get.js +12 -4
- package/build/routes/management/http/sessions.get.d.ts +1 -1
- package/build/routes/management/http/sessions.get.query.json +0 -3
- package/build/routes/management/tests/management.spec.js +13 -13
- package/build/server.js +12 -4
- package/build/shared/content.http.js +9 -2
- package/build/shared/pdf.http.js +9 -2
- package/build/shared/scrape.http.js +9 -2
- package/build/shared/screenshot.http.js +9 -2
- package/build/shim.d.ts +5 -0
- package/build/shim.js +13 -0
- package/build/shim.spec.js +28 -1
- package/build/types.d.ts +21 -1
- package/build/types.js +14 -0
- package/build/utils.d.ts +1 -0
- package/build/utils.js +4 -3
- package/extensions/ublocklite/_locales/ar/messages.json +8 -8
- package/extensions/ublocklite/_locales/be/messages.json +8 -8
- package/extensions/ublocklite/_locales/fi/messages.json +18 -18
- package/extensions/ublocklite/_locales/hi/messages.json +21 -21
- package/extensions/ublocklite/_locales/hu/messages.json +8 -8
- package/extensions/ublocklite/_locales/id/messages.json +15 -15
- package/extensions/ublocklite/_locales/ja/messages.json +23 -23
- package/extensions/ublocklite/_locales/nl/messages.json +1 -1
- package/extensions/ublocklite/_locales/pt_BR/messages.json +15 -15
- package/extensions/ublocklite/_locales/pt_PT/messages.json +18 -18
- package/extensions/ublocklite/_locales/ru/messages.json +1 -1
- package/extensions/ublocklite/_locales/th/messages.json +30 -30
- package/extensions/ublocklite/_locales/tr/messages.json +1 -1
- package/extensions/ublocklite/_locales/uk/messages.json +10 -10
- package/extensions/ublocklite/_locales/vi/messages.json +8 -8
- package/extensions/ublocklite/css/dashboard.css +9 -4
- package/extensions/ublocklite/css/picker-ui.css +1 -1
- package/extensions/ublocklite/css/report.css +0 -8
- package/extensions/ublocklite/css/settings.css +17 -13
- package/extensions/ublocklite/dashboard.html +16 -12
- package/extensions/ublocklite/js/background.js +75 -19
- package/extensions/ublocklite/js/config.js +2 -1
- package/extensions/ublocklite/js/dashboard.js +9 -5
- package/extensions/ublocklite/js/debug.js +69 -6
- package/extensions/ublocklite/js/develop.js +1 -1
- package/extensions/ublocklite/js/ext-compat.js +9 -2
- package/extensions/ublocklite/js/ext.js +6 -0
- package/extensions/ublocklite/js/fetch.js +3 -1
- package/extensions/ublocklite/js/filter-lists.js +17 -9
- package/extensions/ublocklite/js/filter-manager.js +80 -28
- package/extensions/ublocklite/js/jsonpath.js +65 -26
- package/extensions/ublocklite/js/mode-manager.js +5 -1
- package/extensions/ublocklite/js/picker-ui.js +32 -41
- package/extensions/ublocklite/js/popup.js +11 -11
- package/extensions/ublocklite/js/redirect-resources.js +1 -0
- package/extensions/ublocklite/js/report.js +4 -2
- package/extensions/ublocklite/js/ro-dnr-editor.js +6 -1
- package/extensions/ublocklite/js/ruleset-manager.js +38 -13
- package/extensions/ublocklite/js/scripting/css-generic.js +0 -1
- package/extensions/ublocklite/js/scripting/css-procedural-api.js +821 -0
- package/extensions/ublocklite/js/scripting/css-procedural.js +62 -718
- package/extensions/ublocklite/{rulesets/scripting/declarative/ubol-tests.js → js/scripting/css-user-terminate.js} +16 -13
- package/extensions/ublocklite/js/scripting/css-user.js +12 -1
- package/extensions/ublocklite/js/scripting/picker.js +46 -13
- package/extensions/ublocklite/js/scripting/tool-overlay.js +14 -8
- package/extensions/ublocklite/js/scripting/unpicker.js +5 -9
- package/extensions/ublocklite/js/scripting/zapper.js +1 -1
- package/extensions/ublocklite/js/scripting-manager.js +4 -75
- package/extensions/ublocklite/js/settings.js +3 -5
- package/extensions/ublocklite/js/static-filtering-parser.js +3 -3
- package/extensions/ublocklite/js/tool-overlay-ui.js +20 -24
- package/extensions/ublocklite/js/troubleshooting.js +11 -19
- package/extensions/ublocklite/js/ubo-parser.js +1 -1
- package/extensions/ublocklite/js/unpicker-ui.js +16 -9
- package/extensions/ublocklite/js/zapper-ui.js +3 -2
- package/extensions/ublocklite/manifest.json +12 -2
- package/extensions/ublocklite/picker-ui.html +1 -1
- package/extensions/ublocklite/report.html +0 -1
- package/extensions/ublocklite/rulesets/generic-details.json +28 -16
- package/extensions/ublocklite/rulesets/main/adguard-mobile.json +5 -2
- package/extensions/ublocklite/rulesets/main/annoyances-cookies.json +27 -15
- package/extensions/ublocklite/rulesets/main/annoyances-notifications.json +276 -0
- package/extensions/ublocklite/rulesets/main/annoyances-others.json +4 -3
- package/extensions/ublocklite/rulesets/main/annoyances-overlays.json +4 -4
- package/extensions/ublocklite/rulesets/main/annoyances-widgets.json +3 -2
- package/extensions/ublocklite/rulesets/main/bgr-0.json +54 -68
- package/extensions/ublocklite/rulesets/main/block-lan.json +3 -2
- package/extensions/ublocklite/rulesets/main/chn-0.json +28 -21
- package/extensions/ublocklite/rulesets/main/deu-0.json +7 -6
- package/extensions/ublocklite/rulesets/main/dpollock-0.json +8 -41
- package/extensions/ublocklite/rulesets/main/easylist.json +68 -42
- package/extensions/ublocklite/rulesets/main/easyprivacy.json +89 -12
- package/extensions/ublocklite/rulesets/main/fra-0.json +19 -19
- package/extensions/ublocklite/rulesets/main/hrv-0.json +5 -5
- package/extensions/ublocklite/rulesets/main/hun-0.json +5 -3
- package/extensions/ublocklite/rulesets/main/idn-0.json +13 -2
- package/extensions/ublocklite/rulesets/main/ind-0.json +34 -26
- package/extensions/ublocklite/rulesets/main/irn-0.json +676 -635
- package/extensions/ublocklite/rulesets/main/isr-0.json +1 -0
- package/extensions/ublocklite/rulesets/main/jpn-1.json +55 -31
- package/extensions/ublocklite/rulesets/main/kor-1.json +9 -4
- package/extensions/ublocklite/rulesets/main/mkd-0.json +1 -1
- package/extensions/ublocklite/rulesets/main/nld-0.json +2 -1
- package/extensions/ublocklite/rulesets/main/nor-0.json +35 -13
- package/extensions/ublocklite/rulesets/main/pgl.json +36 -15
- package/extensions/ublocklite/rulesets/main/pol-0.json +3 -2
- package/extensions/ublocklite/rulesets/main/rus-0.json +37 -37
- package/extensions/ublocklite/rulesets/main/rus-1.json +7 -3
- package/extensions/ublocklite/rulesets/main/spa-1.json +15 -33
- package/extensions/ublocklite/rulesets/main/stevenblack-hosts.json +15675 -15915
- package/extensions/ublocklite/rulesets/main/swe-1.json +46 -34
- package/extensions/ublocklite/rulesets/main/tur-0.json +56 -32
- package/extensions/ublocklite/rulesets/main/ublock-badware.json +87 -89
- package/extensions/ublocklite/rulesets/main/ublock-experimental.json +3 -0
- package/extensions/ublocklite/rulesets/main/ublock-filters.json +139 -69
- package/extensions/ublocklite/rulesets/main/ukr-0.json +5 -7
- package/extensions/ublocklite/rulesets/main/urlhaus-full.json +546 -1235
- package/extensions/ublocklite/rulesets/main/vie-1.json +55 -57
- package/extensions/ublocklite/rulesets/modify-headers/chn-0.json +4 -2
- package/extensions/ublocklite/rulesets/modify-headers/fra-0.json +2 -1
- package/extensions/ublocklite/rulesets/modify-headers/irn-0.json +14 -14
- package/extensions/ublocklite/rulesets/modify-headers/ublock-filters.json +4 -8
- package/extensions/ublocklite/rulesets/modify-headers/vie-1.json +1 -1
- package/extensions/ublocklite/rulesets/redirect/annoyances-overlays.json +1 -1
- package/extensions/ublocklite/rulesets/redirect/easyprivacy.json +35 -0
- package/extensions/ublocklite/rulesets/redirect/irn-0.json +23 -23
- package/extensions/ublocklite/rulesets/redirect/kor-1.json +1 -1
- package/extensions/ublocklite/rulesets/redirect/rus-0.json +2 -1
- package/extensions/ublocklite/rulesets/redirect/spa-1.json +1 -2
- package/extensions/ublocklite/rulesets/redirect/tur-0.json +2 -3
- package/extensions/ublocklite/rulesets/redirect/ublock-badware.json +18 -0
- package/extensions/ublocklite/rulesets/redirect/ublock-filters.json +20 -15
- package/extensions/ublocklite/rulesets/redirect/vie-1.json +5 -22
- package/extensions/ublocklite/rulesets/regex/chn-0.json +1 -1
- package/extensions/ublocklite/rulesets/regex/ita-0.json +1 -0
- package/extensions/ublocklite/rulesets/regex/jpn-1.json +1 -1
- package/extensions/ublocklite/rulesets/regex/tur-0.json +4 -1
- package/extensions/ublocklite/rulesets/regex/ublock-badware.json +3 -8
- package/extensions/ublocklite/rulesets/regex/ublock-filters.json +14 -9
- package/extensions/ublocklite/rulesets/regex/ukr-0.json +3 -5
- package/extensions/ublocklite/rulesets/removeparam/adguard-spyware-url.json +26 -11
- package/extensions/ublocklite/rulesets/removeparam/irn-0.json +16 -15
- package/extensions/ublocklite/rulesets/removeparam/rus-1.json +3 -2
- package/extensions/ublocklite/rulesets/removeparam/ublock-filters.json +6 -5
- package/extensions/ublocklite/rulesets/ruleset-details.json +332 -324
- package/extensions/ublocklite/rulesets/scripting/generic/annoyances-cookies.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/generic/annoyances-notifications.js +87 -0
- package/extensions/ublocklite/rulesets/scripting/generic/annoyances-social.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/generic/bgr-0.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/generic/chn-0.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/generic/deu-0.js +1 -1
- package/extensions/ublocklite/rulesets/scripting/generic/easylist.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/generic/est-0.js +1 -1
- package/extensions/ublocklite/rulesets/scripting/generic/fra-0.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/generic/hrv-0.js +1 -1
- package/extensions/ublocklite/rulesets/scripting/generic/idn-0.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/generic/ind-0.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/generic/irn-0.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/generic/jpn-1.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/generic/kor-1.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/generic/nor-0.js +1 -1
- package/extensions/ublocklite/rulesets/scripting/generic/pol-0.js +1 -1
- package/extensions/ublocklite/rulesets/scripting/generic/rou-1.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/generic/rus-0.js +1 -1
- package/extensions/ublocklite/rulesets/scripting/generic/swe-1.js +1 -1
- package/extensions/ublocklite/rulesets/scripting/generic/tur-0.js +1 -1
- package/extensions/ublocklite/rulesets/scripting/generic/ublock-filters.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/generic/ukr-0.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/generic/vie-1.js +1 -1
- package/extensions/ublocklite/rulesets/scripting/{declarative/isr-0.js → generichigh/annoyances-notifications.css} +15 -21
- package/extensions/ublocklite/rulesets/scripting/generichigh/chn-0.css +14 -0
- package/extensions/ublocklite/rulesets/scripting/generichigh/easylist.css +3 -0
- package/extensions/ublocklite/rulesets/scripting/generichigh/est-0.css +1 -0
- package/extensions/ublocklite/rulesets/scripting/generichigh/idn-0.css +34 -0
- package/extensions/ublocklite/rulesets/scripting/generichigh/irn-0.css +27 -0
- package/extensions/ublocklite/rulesets/scripting/generichigh/nor-0.css +17 -0
- package/extensions/ublocklite/rulesets/scripting/generichigh/pol-0.css +8 -0
- package/extensions/ublocklite/rulesets/scripting/generichigh/rou-1.css +1 -0
- package/extensions/ublocklite/rulesets/scripting/generichigh/rus-0.css +107 -0
- package/extensions/ublocklite/rulesets/scripting/generichigh/rus-1.css +3 -0
- package/extensions/ublocklite/rulesets/scripting/generichigh/swe-1.css +1 -0
- package/extensions/ublocklite/rulesets/scripting/generichigh/tur-0.css +1 -0
- package/extensions/ublocklite/rulesets/scripting/generichigh/ublock-filters.css +6 -2
- package/extensions/ublocklite/rulesets/scripting/generichigh/vie-1.css +1 -0
- package/extensions/ublocklite/rulesets/scripting/procedural/adguard-mobile.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/procedural/alb-0.js +4 -4
- package/extensions/ublocklite/rulesets/scripting/procedural/annoyances-cookies.js +4 -4
- package/extensions/ublocklite/rulesets/scripting/procedural/annoyances-notifications.js +42 -0
- package/extensions/ublocklite/rulesets/scripting/procedural/annoyances-others.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/procedural/annoyances-overlays.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/procedural/annoyances-social.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/procedural/chn-0.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/procedural/cze-0.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/procedural/deu-0.js +1 -1
- package/extensions/ublocklite/rulesets/scripting/procedural/easylist.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/{declarative → procedural}/easyprivacy.js +5 -5
- package/extensions/ublocklite/rulesets/scripting/procedural/est-0.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/procedural/fin-0.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/procedural/fra-0.js +4 -4
- package/extensions/ublocklite/rulesets/scripting/procedural/grc-0.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/procedural/hrv-0.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/procedural/hun-0.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/procedural/idn-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/isl-0.js +1 -1
- package/extensions/ublocklite/rulesets/scripting/procedural/isr-0.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/procedural/ita-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/ltu-0.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/procedural/lva-0.js +1 -1
- package/extensions/ublocklite/rulesets/scripting/{declarative → procedural}/mkd-0.js +4 -4
- package/extensions/ublocklite/rulesets/scripting/procedural/nld-0.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/procedural/nor-0.js +4 -4
- package/extensions/ublocklite/rulesets/scripting/procedural/pol-0.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-0.js +1 -1
- package/extensions/ublocklite/rulesets/scripting/procedural/spa-1.js +4 -4
- package/extensions/ublocklite/rulesets/scripting/procedural/svn-0.js +1 -1
- package/extensions/ublocklite/rulesets/scripting/procedural/swe-1.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/procedural/tha-0.js +1 -1
- package/extensions/ublocklite/rulesets/scripting/procedural/tur-0.js +4 -4
- package/extensions/ublocklite/rulesets/scripting/procedural/ublock-badware.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/procedural/ublock-filters.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/procedural/ubol-tests.js +1 -1
- package/extensions/ublocklite/rulesets/scripting/procedural/ukr-0.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/procedural/vie-1.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/scriptlet/adguard-mobile.abort-current-script.js +6 -5
- package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.abort-current-script.js +4 -3
- package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.set-constant.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.set-cookie-reload.js +446 -0
- 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 +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.trusted-set-cookie.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.trusted-set-local-storage-item.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-notifications.abort-current-script.js +452 -0
- package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-notifications.abort-on-property-write.js +347 -0
- package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-notifications.addEventListener-defuser.js +498 -0
- package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-notifications.remove-attr.js +405 -0
- package/extensions/ublocklite/rulesets/scripting/scriptlet/{tur-0.set-attr.js → annoyances-notifications.remove-class.js} +90 -119
- package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-notifications.set-constant.js +541 -0
- package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-notifications.set-cookie.js +442 -0
- package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-notifications.set-local-storage-item.js +399 -0
- package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-notifications.set-session-storage-item.js +399 -0
- package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.abort-current-script.js +5 -4
- package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.abort-on-property-read.js +1 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.addEventListener-defuser.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.prevent-setTimeout.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.prevent-window-open.js +1 -1
- 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.set-cookie.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/chn-0.abort-current-script.js +6 -5
- package/extensions/ublocklite/rulesets/scripting/scriptlet/chn-0.addEventListener-defuser.js +1 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/chn-0.adjust-setTimeout.js +1 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/chn-0.json-prune.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/scriptlet/chn-0.prevent-fetch.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/chn-0.prevent-setTimeout.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/chn-0.set-constant.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/cze-0.abort-current-script.js +4 -3
- package/extensions/ublocklite/rulesets/scripting/scriptlet/easyprivacy.abort-current-script.js +5 -4
- package/extensions/ublocklite/rulesets/scripting/scriptlet/easyprivacy.set-constant.js +1 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/easyprivacy.set-local-storage-item.js +1 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/fin-0.abort-current-script.js +4 -3
- package/extensions/ublocklite/rulesets/scripting/scriptlet/fra-0.abort-current-script.js +4 -3
- package/extensions/ublocklite/rulesets/scripting/scriptlet/fra-0.prevent-requestAnimationFrame.js +407 -0
- package/extensions/ublocklite/rulesets/scripting/scriptlet/fra-0.prevent-setTimeout.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/fra-0.prevent-window-open.js +1 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/fra-0.remove-node-text.js +449 -0
- package/extensions/ublocklite/rulesets/scripting/scriptlet/hun-0.abort-current-script.js +6 -5
- package/extensions/ublocklite/rulesets/scripting/scriptlet/hun-0.set-local-storage-item.js +399 -0
- package/extensions/ublocklite/rulesets/scripting/scriptlet/idn-0.abort-current-script.js +7 -6
- package/extensions/ublocklite/rulesets/scripting/scriptlet/idn-0.abort-on-property-read.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/scriptlet/idn-0.addEventListener-defuser.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/irn-0.abort-current-script.js +4 -3
- package/extensions/ublocklite/rulesets/scripting/scriptlet/irn-0.set-local-storage-item.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/irn-0.set-session-storage-item.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/isr-0.abort-current-script.js +4 -3
- package/extensions/ublocklite/rulesets/scripting/scriptlet/jpn-1.abort-current-script.js +6 -5
- package/extensions/ublocklite/rulesets/scripting/scriptlet/jpn-1.abort-on-property-write.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/jpn-1.addEventListener-defuser.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/jpn-1.adjust-setTimeout.js +1 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/jpn-1.href-sanitizer.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/jpn-1.remove-attr.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/jpn-1.remove-node-text.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/jpn-1.set-constant.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/kor-1.abort-current-script.js +4 -3
- package/extensions/ublocklite/rulesets/scripting/scriptlet/kor-1.set-constant.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/kor-1.spoof-css.js +422 -0
- package/extensions/ublocklite/rulesets/scripting/scriptlet/ltu-0.abort-current-script.js +4 -3
- package/extensions/ublocklite/rulesets/scripting/scriptlet/nld-0.abort-current-script.js +4 -3
- package/extensions/ublocklite/rulesets/scripting/scriptlet/nld-0.prevent-setTimeout.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/nld-0.prevent-xhr.js +584 -0
- package/extensions/ublocklite/rulesets/scripting/scriptlet/nor-0.abort-current-script.js +4 -3
- package/extensions/ublocklite/rulesets/scripting/scriptlet/pol-0.abort-current-script.js +4 -3
- package/extensions/ublocklite/rulesets/scripting/scriptlet/rou-1.abort-current-script.js +4 -3
- package/extensions/ublocklite/rulesets/scripting/scriptlet/rou-1.prevent-setInterval.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/rou-1.prevent-setTimeout.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/rou-1.prevent-window-open.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.abort-current-script.js +5 -4
- package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.abort-on-property-read.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.addEventListener-defuser.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.adjust-setInterval.js +1 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.href-sanitizer.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.json-prune-fetch-response.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.prevent-fetch.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.remove-node-text.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.prevent-xhr.js +1 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-1.set-constant.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.abort-current-script.js +6 -5
- package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.abort-on-property-read.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.abort-on-property-write.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.addEventListener-defuser.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.adjust-setTimeout.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.noeval-if.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.prevent-fetch.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.prevent-setTimeout.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.prevent-window-open.js +1 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.remove-attr.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.set-constant.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.set-local-storage-item.js +1 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/swe-1.abort-current-script.js +5 -4
- package/extensions/ublocklite/rulesets/scripting/scriptlet/swe-1.noeval-if.js +1 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/swe-1.prevent-xhr.js +1 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/swe-1.set-constant.js +1 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/tur-0.abort-current-script.js +4 -3
- package/extensions/ublocklite/rulesets/scripting/scriptlet/tur-0.abort-on-property-read.js +1 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/tur-0.abort-on-property-write.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/tur-0.adjust-setInterval.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/tur-0.adjust-setTimeout.js +332 -0
- package/extensions/ublocklite/rulesets/scripting/scriptlet/tur-0.m3u-prune.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/tur-0.prevent-window-open.js +1 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/tur-0.remove-attr.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/tur-0.set-constant.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/tur-0.set-local-storage-item.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-badware.abort-current-script.js +4 -3
- package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.abort-current-script.js +7 -6
- package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.abort-on-property-read.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.abort-on-property-write.js +2 -2
- 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 +3 -3
- package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.adjust-setInterval.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.adjust-setTimeout.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.close-window.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.href-sanitizer.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.json-edit.js +69 -29
- 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.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.jsonl-edit-xhr-response.js +70 -30
- package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.noeval-if.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.nowebrtc.js +1 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/{irn-0.close-window.js → ublock-filters.prevent-canvas.js} +14 -21
- package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.prevent-fetch.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.prevent-requestAnimationFrame.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.prevent-setInterval.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.prevent-setTimeout.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.prevent-window-open.js +2 -2
- 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.set-local-storage-item.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.set-session-storage-item.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-click-element.js +2 -2
- 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 +927 -0
- package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-override-element-method.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/scriptlet/{hun-0.prevent-fetch.js → ublock-filters.trusted-prevent-fetch.js} +7 -7
- package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-replace-argument.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-replace-fetch-response.js +2 -2
- 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 +3 -3
- package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-set-attr.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-set-constant.js +4 -4
- package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-set-cookie.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-set-local-storage-item.js +1 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-suppress-native-method.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/ubol-tests.jsonl-edit-fetch-response.js +68 -28
- package/extensions/ublocklite/rulesets/scripting/scriptlet/ubol-tests.jsonl-edit-xhr-response.js +68 -28
- package/extensions/ublocklite/rulesets/scripting/scriptlet/ukr-0.abort-current-script.js +4 -3
- package/extensions/ublocklite/rulesets/scripting/scriptlet/ukr-0.abort-on-property-read.js +1 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/vie-1.abort-current-script.js +6 -5
- package/extensions/ublocklite/rulesets/scripting/scriptlet/vie-1.abort-on-property-read.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/vie-1.set-constant.js +1 -1
- 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 +42 -0
- 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/bgr-0.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/specific/chn-0.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/specific/cze-0.js +1 -1
- 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/fin-0.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/specific/fra-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/irn-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/nld-0.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/specific/nor-0.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/specific/pol-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/rus-1.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-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 +408 -341
- package/extensions/ublocklite/rulesets/strictblock/adguard-mobile.json +13 -1
- package/extensions/ublocklite/rulesets/strictblock/annoyances-cookies.json +0 -1
- package/extensions/ublocklite/rulesets/strictblock/annoyances-notifications.json +41 -0
- package/extensions/ublocklite/rulesets/strictblock/bgr-0.json +1 -2
- package/extensions/ublocklite/rulesets/strictblock/chn-0.json +278 -1
- package/extensions/ublocklite/rulesets/strictblock/dpollock-0.json +8 -41
- package/extensions/ublocklite/rulesets/strictblock/easylist.json +13 -14
- package/extensions/ublocklite/rulesets/strictblock/easyprivacy.json +74 -3
- package/extensions/ublocklite/rulesets/strictblock/fra-0.json +500 -41
- package/extensions/ublocklite/rulesets/strictblock/hun-0.json +2 -0
- package/extensions/ublocklite/rulesets/strictblock/irn-0.json +6 -2
- package/extensions/ublocklite/rulesets/strictblock/jpn-1.json +182 -171
- package/extensions/ublocklite/rulesets/strictblock/kor-1.json +5 -0
- package/extensions/ublocklite/rulesets/strictblock/mkd-0.json +1 -0
- package/extensions/ublocklite/rulesets/strictblock/nor-0.json +6 -4
- package/extensions/ublocklite/rulesets/strictblock/pgl.json +36 -15
- package/extensions/ublocklite/rulesets/strictblock/pol-0.json +1 -0
- package/extensions/ublocklite/rulesets/strictblock/rus-1.json +1 -0
- package/extensions/ublocklite/rulesets/strictblock/spa-1.json +1 -0
- package/extensions/ublocklite/rulesets/strictblock/stevenblack-hosts.json +15675 -15915
- package/extensions/ublocklite/rulesets/strictblock/swe-1.json +6 -55
- package/extensions/ublocklite/rulesets/strictblock/tur-0.json +0 -1
- package/extensions/ublocklite/rulesets/strictblock/ublock-badware.json +677 -670
- package/extensions/ublocklite/rulesets/strictblock/ublock-filters.json +1 -1
- package/extensions/ublocklite/rulesets/strictblock/ukr-0.json +1 -4
- package/extensions/ublocklite/rulesets/strictblock/urlhaus-full.json +546 -1235
- package/extensions/ublocklite/rulesets/strictblock/vie-1.json +2 -2
- package/extensions/ublocklite/rulesets/urlskip/ublock-filters.json +97 -14
- package/extensions/ublocklite/ublock.zip +0 -0
- package/extensions/ublocklite/web_accessible_resources/fingerprint2.js +1 -1
- package/package.json +12 -12
- package/src/config.ts +1 -1
- package/src/http.ts +5 -0
- package/src/limiter.spec.ts +1 -1
- package/src/routes/chrome/tests/content.spec.ts +12 -12
- package/src/routes/chrome/tests/page-websocket.spec.ts +3 -3
- package/src/routes/chrome/tests/pdf.spec.ts +13 -13
- package/src/routes/chrome/tests/performance.spec.ts +4 -4
- package/src/routes/chrome/tests/scrape.spec.ts +13 -13
- package/src/routes/chrome/tests/screenshot.spec.ts +14 -14
- package/src/routes/chromium/tests/content.spec.ts +13 -13
- package/src/routes/chromium/tests/page-websocket.spec.ts +3 -3
- package/src/routes/chromium/tests/pdf.spec.ts +13 -13
- package/src/routes/chromium/tests/performance.spec.ts +4 -4
- package/src/routes/chromium/tests/scrape.spec.ts +13 -13
- package/src/routes/chromium/tests/screenshot.spec.ts +14 -14
- package/src/routes/edge/tests/content.spec.ts +12 -12
- package/src/routes/edge/tests/page-websocket.spec.ts +3 -3
- package/src/routes/edge/tests/pdf.spec.ts +13 -13
- package/src/routes/edge/tests/performance.spec.ts +4 -4
- package/src/routes/edge/tests/scrape.spec.ts +13 -13
- package/src/routes/edge/tests/screenshot.spec.ts +14 -14
- package/src/routes/management/http/kill.get.ts +1 -1
- package/src/routes/management/http/pressure.get.ts +15 -3
- package/src/routes/management/http/sessions.get.ts +1 -1
- package/src/routes/management/tests/management.spec.ts +13 -13
- package/src/server.ts +17 -3
- package/src/shared/content.http.ts +9 -1
- package/src/shared/pdf.http.ts +9 -1
- package/src/shared/scrape.http.ts +9 -1
- package/src/shared/screenshot.http.ts +9 -1
- package/src/shim.spec.ts +40 -1
- package/src/shim.ts +17 -0
- package/src/types.ts +32 -1
- package/src/utils.ts +5 -3
- package/static/docs/swagger.json +455 -150
- package/static/docs/swagger.min.json +454 -149
- package/static/function/client.js +46 -8
- package/static/function/index.html +46 -8
- package/extensions/ublocklite/js/scripting/css-declarative.js +0 -116
- package/extensions/ublocklite/rulesets/scripting/declarative/adguard-mobile.js +0 -42
- package/extensions/ublocklite/rulesets/scripting/declarative/alb-0.js +0 -42
- package/extensions/ublocklite/rulesets/scripting/declarative/annoyances-cookies.js +0 -42
- package/extensions/ublocklite/rulesets/scripting/declarative/annoyances-others.js +0 -42
- package/extensions/ublocklite/rulesets/scripting/declarative/annoyances-overlays.js +0 -42
- package/extensions/ublocklite/rulesets/scripting/declarative/annoyances-social.js +0 -42
- package/extensions/ublocklite/rulesets/scripting/declarative/chn-0.js +0 -42
- package/extensions/ublocklite/rulesets/scripting/declarative/cze-0.js +0 -42
- package/extensions/ublocklite/rulesets/scripting/declarative/easylist.js +0 -42
- package/extensions/ublocklite/rulesets/scripting/declarative/est-0.js +0 -42
- package/extensions/ublocklite/rulesets/scripting/declarative/fin-0.js +0 -42
- package/extensions/ublocklite/rulesets/scripting/declarative/fra-0.js +0 -42
- package/extensions/ublocklite/rulesets/scripting/declarative/grc-0.js +0 -42
- package/extensions/ublocklite/rulesets/scripting/declarative/hrv-0.js +0 -42
- package/extensions/ublocklite/rulesets/scripting/declarative/hun-0.js +0 -42
- package/extensions/ublocklite/rulesets/scripting/declarative/idn-0.js +0 -42
- package/extensions/ublocklite/rulesets/scripting/declarative/irn-0.js +0 -42
- package/extensions/ublocklite/rulesets/scripting/declarative/jpn-1.js +0 -42
- package/extensions/ublocklite/rulesets/scripting/declarative/kor-1.js +0 -42
- package/extensions/ublocklite/rulesets/scripting/declarative/ltu-0.js +0 -42
- package/extensions/ublocklite/rulesets/scripting/declarative/nld-0.js +0 -42
- package/extensions/ublocklite/rulesets/scripting/declarative/nor-0.js +0 -42
- package/extensions/ublocklite/rulesets/scripting/declarative/pol-0.js +0 -42
- package/extensions/ublocklite/rulesets/scripting/declarative/rou-1.js +0 -42
- package/extensions/ublocklite/rulesets/scripting/declarative/rus-0.js +0 -42
- package/extensions/ublocklite/rulesets/scripting/declarative/rus-1.js +0 -42
- package/extensions/ublocklite/rulesets/scripting/declarative/spa-1.js +0 -42
- package/extensions/ublocklite/rulesets/scripting/declarative/swe-1.js +0 -42
- package/extensions/ublocklite/rulesets/scripting/declarative/tur-0.js +0 -42
- package/extensions/ublocklite/rulesets/scripting/declarative/ublock-badware.js +0 -42
- package/extensions/ublocklite/rulesets/scripting/declarative/ublock-filters.js +0 -42
- package/extensions/ublocklite/rulesets/scripting/declarative/ukr-0.js +0 -42
- package/extensions/ublocklite/rulesets/scripting/declarative/vie-1.js +0 -42
- package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.overlay-buster.js +0 -165
|
@@ -460,8 +460,8 @@ function urlSkip(url, blocked, steps, directive = {}) {
|
|
|
460
460
|
/******************************************************************************/
|
|
461
461
|
|
|
462
462
|
const scriptletGlobals = {}; // eslint-disable-line
|
|
463
|
-
const argsList = [["a[href^=\"https://cdns.6hiidude.gold/file.php?link=http\"]","?link"],["a[href^=\"https://link.asiaon.top/full?api=\"][href*=\"&url=aHR0c\"]","?url -base64"],["a[href^=\"https://azrom.net/\"][href*=\"?url=\"]","?url"],["a[href^=\"/p/download.html?ntlruby=\"]","?ntlruby"],["a[href^=\"https://www.adtival.network/\"][href*=\"&url=\"]","?url"],["a[href^=\"https://linkshortify.com/\"][href*=\"url=http\"]","?url"],["a[href^=\"https://www.linkedin.com/redir/redirect?url=http\"]","?url"],["a[href^=\"/rebates/welcome?url=http\"]","?url"],["a[href^=\"https://deeplink.musescore.com/redirect?to=http\"]","?to"],["a[href^=\"//duckduckgo.com/l/?uddg=\"]","?uddg"],["a[href^=\"https://go.skimresources.com/\"][href*=\"&url=http\"]","?url"],["a[href^=\"https://click.linksynergy.com/\"][href*=\"link?id=\"][href*=\"&murl=http\"]","?murl"],["a[href^=\"/vp/player/to/?u=http\"], a[href^=\"/vp/download/goto/?u=http\"]","?u"],["a[href^=\"https://drivevideo.xyz/link?link=http\"]","?link"],["a[href^=\"https://click.linksynergy.com/deeplink?id=\"][href*=\"&murl=\"]","?murl"],["a[href*=\"?\"][href*=\"&url=http\"]","?url"],["a[href*=\"?\"][href*=\"&u=http\"]","?u"],["a[href^=\"https://app.adjust.com/\"][href*=\"?fallback=http\"]","?fallback"],["a[href^=\"https://go.redirectingat.com?url=http\"]","?url"],["a[href^=\"/check.php?\"][href*=\"&url=http\"]","?url"],["a[href^=\"https://click.linksynergy.com/deeplink?id=\"][href*=\"&murl=http\"]","?murl"],["a[href^=\"https://disq.us/url?url=\"][title^=\"http\"]","[title]"],["a[href^=\"https://disq.us/?url=http\"]","?url"],["a[href^=\"https://steamcommunity.com/linkfilter/?url=http\"]","?url"],["a[href^=\"https://steamcommunity.com/linkfilter/?u=http\"]","?u"],["a[href^=\"https://colab.research.google.com/corgiredirector?site=http\"]","?site"],["a[href^=\"https://shop-links.co/link/?\"][href*=\"&url=http\"]","?url"],["a[href^=\"https://redirect.viglink.com/?\"][href*=\"ourl=http\"]","?ourl"],["a[href^=\"http://www.jdoqocy.com/click-\"][href*=\"?URL=http\"]","?URL"],["a[href^=\"https://track.adtraction.com/t/t?\"][href*=\"&url=http\"]","?url"],["a[href^=\"https://metager.org/partner/r?link=http\"]","?link"],["a[href*=\"go.redirectingat.com\"][href*=\"url=http\"]","?url"],["a[href^=\"https://slickdeals.net/?\"][href*=\"u2=http\"]","?u2"],["a[href^=\"https://online.adservicemedia.dk/\"][href*=\"deeplink=http\"]","?deeplink"],["a[href*=\".justwatch.com/a?\"][href*=\"&r=http\"]","?r"],["a[href^=\"https://clicks.trx-hub.com/\"][href*=\"bn5x.net\"]","?q?u"],["a[href^=\"https://shopping.yahoo.com/rdlw?\"][href*=\"gcReferrer=http\"]","?gcReferrer"],["a[href*=\"?\"][href*=\"u=http\"]:is([href*=\".com/c/\"],[href*=\".io/c/\"],[href*=\".net/c/\"],[href*=\"?subId1=\"],[href^=\"https://affportal.bhphoto.com/dl/redventures/?\"])","?u"],["a[href*=\"?\"][href*=\"url=http\"]:is([href^=\"https://cc.\"][href*=\".com/v1/otc/\"],[href^=\"https://go.skimresources.com\"],[href^=\"https://go.redirectingat.com\"],[href^=\"https://invol.co/aff_m?\"],[href^=\"https://shop-links.co/link\"],[href^=\"https://track.effiliation.com/servlet/effi.redir?\"],[href*=\".com/a.ashx?\"],[href^=\"https://www.\"][href*=\".com/t/\"],[href*=\".prsm1.com/r?\"],[href*=\".com/click-\"],[href*=\".net/click-\"],a[href*=\".com/t/t?a=\"],a[href*=\".dk/t/t?a=\"])","?url"],["a[href*=\"/Proxy.ashx?\"][href*=\"GR_URL=http\"]","?GR_URL"],["a[href^=\"https://go.redirectingat.com/\"][href*=\"&url=http\"]","?url"],["a[href*=\"awin1.com/\"][href*=\".php?\"][href*=\"ued=http\"]","?ued"],["a[href*=\"awin1.com/\"][href*=\".php?\"][href*=\"p=http\"]","?p"],["a.autolinker_link[href*=\".com/t/\"][href*=\"url=http\"]","?url"],["a[rel=\"sponsored nofollow\"][href^=\"https://fsx.i-run.fr/?\"][href*=\"redir=http\"]","?redir"],["a[rel=\"sponsored nofollow\"][href*=\".tradeinn.com/ts/\"][href*=\"trg=http\"]","?trg"],["a[href*=\".com/r.cfm?\"][href*=\"urllink=http\"]","?urllink"],["a[href^=\"https://gate.sc\"][href*=\"?url=http\"]","?url"],["a[href^=\"https://spreaker.onelink.me/\"][href*=\"&af_web_dp=http\"]","?af_web_dp"],["a[href*=\"https://www.chollometro.com/visit/\"][title^=\"https://\"]","[title]"],["a[href*=\"https://www.dealabs.com/visit/\"][title^=\"https://\"]","[title]"],["a[href*=\"https://www.hotukdeals.com/visit/\"][title^=\"https://\"]","[title]"],["a[href*=\"https://www.mydealz.de/visit/\"][title^=\"https://\"]","[title]"],["a[href*=\"https://nl.pepper.com/visit/\"][title^=\"https://\"]","[title]"],["a[href*=\"https://www.pepper.it/visit/\"][title^=\"https://\"]","[title]"],["a[href*=\"https://www.pepper.pl/visit/\"][title^=\"https://\"]","[title]"],["a[href*=\"https://www.pepper.ru/visit/\"][title^=\"https://\"]","[title]"],["a[href*=\"https://www.preisjaeger.at/visit/\"][title^=\"https://\"]","[title]"],["a[href*=\"https://www.promodescuentos.com/visit/\"][title^=\"https://\"]","[title]"],["a[href*=\"https://www.pelando.com.br/api/redirect?url=\"]","?url"],["a[href^=\"https://cna.st/\"][data-offer-url^=\"https://\"]","[data-offer-url]"],["a.btn[href^=\"https://zxro.com/u/?url=http\"]","?url"]];
|
|
464
|
-
const hostnamesMap = new Map([["6hiidude.gold",0],["asiaon.top",1],["asiaontop.com",1],["azrom.net",2],["taisachonthi.com",3],["kazefuri.net",4],["movies4u.*",5],["linkedin.com",6],["bing.com",7],["musescore.com",8],["html.duckduckgo.com",9],["lite.duckduckgo.com",9],["starstyle.com",10],["insidehook.com",[11,37,38,41,42,46]],["nbcnews.com",[11,37,38,41,42]],["pcpartpicker.com",[11,37,38]],["space.com",[11,37,38,39,41,42]],["tomshardware.com",[11,20,37,38,39]],["fap18.net",12],["xxxmom.net",12],["fuck55.net",12],["gofucker.com",12],["sexu.tv",12],["vid123.net",12],["babe8.net",12],["beeg.porn",12],["losporn.org",13],["streamporn.li",13],["pandamovies.org",13],["bananamovies.org",13],["xopenload.net",13],["adultdvdparadise.com",13],["speedporn.net",13],["mangoporn.net",13],["pandamovie.info",13],["mangoporn.co",13],["mangoparody.com",13],["xxxscenes.net",13],["pornkino.cc",13],["watchxxxfree.pw",13],["pandamovie.in",13],["speedporn.pw",13],["watchfreexxx.net",13],["youwatchporn.com",13],["watchpornfree.info",13],["pandamovies.me",13],["xtapes.me",13],["netflixporno.net",13],["pornwish.org",13],["freeomovie.info",13],["fullxxxmovies.me",13],["watchpornx.com",13],["xxxparodyhd.net",13],["xxxstream.me",13],["pornwatch.ws",13],["xopenload.pw",13],["pandamovies.pw",13],["streamporn.pw",13],["xopenload.me",13],["nowinstock.net",[14,15,16]],["paypal.com",17],["elotrolado.net",18],["tube188.com",19],["disqus.com",[21,22]],["steamcommunity.com",[23,24]],["colab.research.google.com",25],["xda-developers.com",[26,27,41,42]],["isthereanydeal.com",[28,29]],["metager.org",30],["slickdeals.net",[31,32]],["dk.pcpartpicker.com",33],["justwatch.com",34],["variety.com",35],["engadget.com",36],["cnet.com",[37,38]],["dogfoodadvisor.com",37],["hunker.com",[37,38]],["notebookcheck.net",37],["pcgamingwiki.com",[37,38]],["popularmechanics.com",[37,38]],["purewow.com",[37,38]],["sheknows.com",37],["streetinsider.com",37],["zdnet.com",[37,38,39]],["androidauthority.com",38],["jljbacktoclassic.com",[38,46]],["otherweb.com",38],["sport-passion.fr",[38,44,45]],["windowscentral.com",40],["shutupandtakemyyen.com",[41,42]],["thisiswhyimbroke.com",[41,42]],["forums.redflagdeals.com",43],["soundcloud.com",47],["spreaker.com",48],["chollometro.com",
|
|
463
|
+
const argsList = [["a[href^=\"https://cdns.6hiidude.gold/file.php?link=http\"]","?link"],["a[href^=\"https://link.asiaon.top/full?api=\"][href*=\"&url=aHR0c\"]","?url -base64"],["a[href^=\"https://azrom.net/\"][href*=\"?url=\"]","?url"],["a[href^=\"/p/download.html?ntlruby=\"]","?ntlruby"],["a[href^=\"https://www.adtival.network/\"][href*=\"&url=\"]","?url"],["a[href^=\"https://linkshortify.com/\"][href*=\"url=http\"]","?url"],["a[href^=\"https://www.linkedin.com/redir/redirect?url=http\"]","?url"],["body a[href^=\"/rebates/welcome?url=http\"]","?url"],["a[href^=\"https://deeplink.musescore.com/redirect?to=http\"]","?to"],["a[href^=\"//duckduckgo.com/l/?uddg=\"]","?uddg"],["a[href^=\"https://go.skimresources.com/\"][href*=\"&url=http\"]","?url"],["a[href^=\"https://click.linksynergy.com/\"][href*=\"link?id=\"][href*=\"&murl=http\"]","?murl"],["a[href^=\"/vp/player/to/?u=http\"], a[href^=\"/vp/download/goto/?u=http\"]","?u"],["a[href^=\"https://drivevideo.xyz/link?link=http\"]","?link"],["a[href^=\"https://click.linksynergy.com/deeplink?id=\"][href*=\"&murl=\"]","?murl"],["a[href*=\"?\"][href*=\"&url=http\"]","?url"],["a[href*=\"?\"][href*=\"&u=http\"]","?u"],["a[href^=\"https://app.adjust.com/\"][href*=\"?fallback=http\"]","?fallback"],["a[href^=\"https://go.redirectingat.com?url=http\"]","?url"],["a[href^=\"/check.php?\"][href*=\"&url=http\"]","?url"],["a[href^=\"https://click.linksynergy.com/deeplink?id=\"][href*=\"&murl=http\"]","?murl"],["a[href^=\"https://disq.us/url?url=\"][title^=\"http\"]","[title]"],["a[href^=\"https://disq.us/?url=http\"]","?url"],["a[href^=\"https://steamcommunity.com/linkfilter/?url=http\"]","?url"],["a[href^=\"https://steamcommunity.com/linkfilter/?u=http\"]","?u"],["a[href^=\"https://colab.research.google.com/corgiredirector?site=http\"]","?site"],["a[href^=\"https://shop-links.co/link/?\"][href*=\"&url=http\"]","?url"],["a[href^=\"https://redirect.viglink.com/?\"][href*=\"ourl=http\"]","?ourl"],["a[href^=\"http://www.jdoqocy.com/click-\"][href*=\"?URL=http\"]","?URL"],["a[href^=\"https://track.adtraction.com/t/t?\"][href*=\"&url=http\"]","?url"],["a[href^=\"https://metager.org/partner/r?link=http\"]","?link"],["a[href*=\"go.redirectingat.com\"][href*=\"url=http\"]","?url"],["a[href^=\"https://slickdeals.net/?\"][href*=\"u2=http\"]","?u2"],["a[href^=\"https://online.adservicemedia.dk/\"][href*=\"deeplink=http\"]","?deeplink"],["a[href*=\".justwatch.com/a?\"][href*=\"&r=http\"]","?r"],["a[href^=\"https://clicks.trx-hub.com/\"][href*=\"bn5x.net\"]","?q?u"],["a[href^=\"https://shopping.yahoo.com/rdlw?\"][href*=\"gcReferrer=http\"]","?gcReferrer"],["body a[href*=\"?\"][href*=\"u=http\"]:is([href*=\".com/c/\"],[href*=\".io/c/\"],[href*=\".net/c/\"],[href*=\"?subId1=\"],[href^=\"https://affportal.bhphoto.com/dl/redventures/?\"])","?u"],["body a[href*=\"?\"][href*=\"url=http\"]:is([href^=\"https://cc.\"][href*=\".com/v1/otc/\"],[href^=\"https://go.skimresources.com\"],[href^=\"https://go.redirectingat.com\"],[href^=\"https://invol.co/aff_m?\"],[href^=\"https://shop-links.co/link\"],[href^=\"https://track.effiliation.com/servlet/effi.redir?\"],[href*=\".com/a.ashx?\"],[href^=\"https://www.\"][href*=\".com/t/\"],[href*=\".prsm1.com/r?\"],[href*=\".com/click-\"],[href*=\".net/click-\"],a[href*=\".com/t/t?a=\"],a[href*=\".dk/t/t?a=\"])","?url"],["body a[href*=\"/Proxy.ashx?\"][href*=\"GR_URL=http\"]","?GR_URL"],["body a[href^=\"https://go.redirectingat.com/\"][href*=\"&url=http\"]","?url"],["body a[href*=\"awin1.com/\"][href*=\".php?\"][href*=\"ued=http\"]","?ued"],["body a[href*=\"awin1.com/\"][href*=\".php?\"][href*=\"p=http\"]","?p"],["a.autolinker_link[href*=\".com/t/\"][href*=\"url=http\"]","?url"],["body a[rel=\"sponsored nofollow\"][href^=\"https://fsx.i-run.fr/?\"][href*=\"redir=http\"]","?redir"],["body a[rel=\"sponsored nofollow\"][href*=\".tradeinn.com/ts/\"][href*=\"trg=http\"]","?trg"],["body a[href*=\".com/r.cfm?\"][href*=\"urllink=http\"]","?urllink"],["body a[href^=\"https://gate.sc\"][href*=\"?url=http\"]","?url"],["body a[href^=\"https://spreaker.onelink.me/\"][href*=\"&af_web_dp=http\"]","?af_web_dp"],["body a[href^=\"/link.php?url=http\"]","?url"],["a[href*=\"https://www.chollometro.com/visit/\"][title^=\"https://\"]","[title]"],["a[href*=\"https://www.dealabs.com/visit/\"][title^=\"https://\"]","[title]"],["a[href*=\"https://www.hotukdeals.com/visit/\"][title^=\"https://\"]","[title]"],["a[href*=\"https://www.mydealz.de/visit/\"][title^=\"https://\"]","[title]"],["a[href*=\"https://nl.pepper.com/visit/\"][title^=\"https://\"]","[title]"],["a[href*=\"https://www.pepper.it/visit/\"][title^=\"https://\"]","[title]"],["a[href*=\"https://www.pepper.pl/visit/\"][title^=\"https://\"]","[title]"],["a[href*=\"https://www.pepper.ru/visit/\"][title^=\"https://\"]","[title]"],["a[href*=\"https://www.preisjaeger.at/visit/\"][title^=\"https://\"]","[title]"],["a[href*=\"https://www.promodescuentos.com/visit/\"][title^=\"https://\"]","[title]"],["a[href*=\"https://www.pelando.com.br/api/redirect?url=\"]","?url"],["a[href^=\"https://cna.st/\"][data-offer-url^=\"https://\"]","[data-offer-url]"],["a.btn[href^=\"https://zxro.com/u/?url=http\"]","?url"]];
|
|
464
|
+
const hostnamesMap = new Map([["6hiidude.gold",0],["asiaon.top",1],["asiaontop.com",1],["azrom.net",2],["taisachonthi.com",3],["kazefuri.net",4],["movies4u.*",5],["linkedin.com",6],["bing.com",7],["musescore.com",8],["html.duckduckgo.com",9],["lite.duckduckgo.com",9],["starstyle.com",10],["insidehook.com",[11,37,38,41,42,46]],["nbcnews.com",[11,37,38,41,42]],["pcpartpicker.com",[11,37,38]],["space.com",[11,37,38,39,41,42]],["tomshardware.com",[11,20,37,38,39]],["fap18.net",12],["xxxmom.net",12],["fuck55.net",12],["gofucker.com",12],["sexu.tv",12],["vid123.net",12],["babe8.net",12],["beeg.porn",12],["losporn.org",13],["streamporn.li",13],["pandamovies.org",13],["bananamovies.org",13],["xopenload.net",13],["adultdvdparadise.com",13],["speedporn.net",13],["mangoporn.net",13],["pandamovie.info",13],["mangoporn.co",13],["mangoparody.com",13],["xxxscenes.net",13],["pornkino.cc",13],["watchxxxfree.pw",13],["pandamovie.in",13],["speedporn.pw",13],["watchfreexxx.net",13],["youwatchporn.com",13],["watchpornfree.info",13],["pandamovies.me",13],["xtapes.me",13],["netflixporno.net",13],["pornwish.org",13],["freeomovie.info",13],["fullxxxmovies.me",13],["watchpornx.com",13],["xxxparodyhd.net",13],["xxxstream.me",13],["pornwatch.ws",13],["xopenload.pw",13],["pandamovies.pw",13],["streamporn.pw",13],["xopenload.me",13],["nowinstock.net",[14,15,16]],["paypal.com",17],["elotrolado.net",18],["tube188.com",19],["disqus.com",[21,22]],["steamcommunity.com",[23,24]],["colab.research.google.com",25],["xda-developers.com",[26,27,41,42]],["isthereanydeal.com",[28,29]],["metager.org",30],["slickdeals.net",[31,32]],["dk.pcpartpicker.com",33],["justwatch.com",34],["variety.com",35],["engadget.com",36],["cnet.com",[37,38]],["dogfoodadvisor.com",37],["hunker.com",[37,38]],["notebookcheck.net",37],["pcgamingwiki.com",[37,38]],["popularmechanics.com",[37,38]],["purewow.com",[37,38]],["sheknows.com",37],["streetinsider.com",37],["zdnet.com",[37,38,39]],["androidauthority.com",38],["jljbacktoclassic.com",[38,46]],["otherweb.com",38],["sport-passion.fr",[38,44,45]],["techradar.com",39],["windowscentral.com",40],["shutupandtakemyyen.com",[41,42]],["thisiswhyimbroke.com",[41,42]],["forums.redflagdeals.com",43],["soundcloud.com",47],["spreaker.com",48],["dogdrip.net",49],["chollometro.com",50],["dealabs.com",51],["hotukdeals.com",52],["mydealz.de",53],["nl.pepper.com",54],["pepper.it",55],["pepper.pl",56],["pepper.ru",57],["preisjaeger.at",58],["promodescuentos.com",59],["pelando.com.br",60],["pitchfork.com",61],["onual.com",62]]);
|
|
465
465
|
const exceptionsMap = new Map([]);
|
|
466
466
|
const hasEntities = true;
|
|
467
467
|
const hasAncestors = false;
|
|
@@ -52,12 +52,13 @@ function editOutboundObjectFn(
|
|
|
52
52
|
}
|
|
53
53
|
proxyApplyFn(propChain, function(context) {
|
|
54
54
|
const obj = context.reflect();
|
|
55
|
-
|
|
55
|
+
const objAfter = jsonp.apply(obj);
|
|
56
|
+
if ( objAfter === undefined ) { return obj; }
|
|
56
57
|
safe.uboLog(logPrefix, 'Edited');
|
|
57
58
|
if ( safe.logLevel > 1 ) {
|
|
58
|
-
safe.uboLog(logPrefix, `After edit:\n${safe.JSON_stringify(
|
|
59
|
+
safe.uboLog(logPrefix, `After edit:\n${safe.JSON_stringify(objAfter, null, 2)}`);
|
|
59
60
|
}
|
|
60
|
-
return
|
|
61
|
+
return objAfter;
|
|
61
62
|
});
|
|
62
63
|
}
|
|
63
64
|
|
|
@@ -86,12 +87,19 @@ class JSONPath {
|
|
|
86
87
|
const r = this.#compile(query, 0);
|
|
87
88
|
if ( r === undefined ) { return; }
|
|
88
89
|
if ( r.i !== query.length ) {
|
|
89
|
-
|
|
90
|
+
let val;
|
|
91
|
+
if ( query.startsWith('=', r.i) ) {
|
|
92
|
+
if ( /^=repl\(.+\)$/.test(query.slice(r.i)) ) {
|
|
93
|
+
r.modify = 'repl';
|
|
94
|
+
val = query.slice(r.i+6, -1);
|
|
95
|
+
} else {
|
|
96
|
+
val = query.slice(r.i+1);
|
|
97
|
+
}
|
|
98
|
+
} else if ( query.startsWith('+=', r.i) ) {
|
|
90
99
|
r.modify = '+';
|
|
91
|
-
r.i
|
|
100
|
+
val = query.slice(r.i+2);
|
|
92
101
|
}
|
|
93
|
-
|
|
94
|
-
try { r.rval = JSON.parse(query.slice(r.i+1)); }
|
|
102
|
+
try { r.rval = JSON.parse(val); }
|
|
95
103
|
catch { return; }
|
|
96
104
|
}
|
|
97
105
|
this.#compiled = r;
|
|
@@ -104,28 +112,25 @@ class JSONPath {
|
|
|
104
112
|
return paths;
|
|
105
113
|
}
|
|
106
114
|
apply(root) {
|
|
107
|
-
if ( this.valid === false ) { return
|
|
108
|
-
const {
|
|
109
|
-
this.#root = root;
|
|
115
|
+
if ( this.valid === false ) { return; }
|
|
116
|
+
const { rval } = this.#compiled;
|
|
117
|
+
this.#root = { '$': root };
|
|
110
118
|
const paths = this.#evaluate(this.#compiled.steps, []);
|
|
111
|
-
|
|
112
|
-
|
|
119
|
+
let i = paths.length
|
|
120
|
+
if ( i === 0 ) { this.#root = null; return; }
|
|
113
121
|
while ( i-- ) {
|
|
114
122
|
const { obj, key } = this.#resolvePath(paths[i]);
|
|
115
123
|
if ( rval !== undefined ) {
|
|
116
|
-
|
|
117
|
-
this.#modifyVal(obj, key, rval);
|
|
118
|
-
} else {
|
|
119
|
-
obj[key] = rval;
|
|
120
|
-
}
|
|
124
|
+
this.#modifyVal(obj, key);
|
|
121
125
|
} else if ( Array.isArray(obj) && typeof key === 'number' ) {
|
|
122
126
|
obj.splice(key, 1);
|
|
123
127
|
} else {
|
|
124
128
|
delete obj[key];
|
|
125
129
|
}
|
|
126
130
|
}
|
|
131
|
+
const result = this.#root['$'] ?? null;
|
|
127
132
|
this.#root = null;
|
|
128
|
-
return
|
|
133
|
+
return result;
|
|
129
134
|
}
|
|
130
135
|
dump() {
|
|
131
136
|
return JSON.stringify(this.#compiled);
|
|
@@ -150,8 +155,15 @@ class JSONPath {
|
|
|
150
155
|
if ( query.length === 0 ) { return; }
|
|
151
156
|
const steps = [];
|
|
152
157
|
let c = query.charCodeAt(i);
|
|
153
|
-
|
|
154
|
-
|
|
158
|
+
if ( c === 0x24 /* $ */ ) {
|
|
159
|
+
steps.push({ mv: this.#ROOT });
|
|
160
|
+
i += 1;
|
|
161
|
+
} else if ( c === 0x40 /* @ */ ) {
|
|
162
|
+
steps.push({ mv: this.#CURRENT });
|
|
163
|
+
i += 1;
|
|
164
|
+
} else {
|
|
165
|
+
steps.push({ mv: i === 0 ? this.#ROOT : this.#CURRENT });
|
|
166
|
+
}
|
|
155
167
|
let mv = this.#UNDEFINED;
|
|
156
168
|
for (;;) {
|
|
157
169
|
if ( i === query.length ) { break; }
|
|
@@ -213,7 +225,8 @@ class JSONPath {
|
|
|
213
225
|
i = r.i + 1;
|
|
214
226
|
mv = this.#UNDEFINED;
|
|
215
227
|
}
|
|
216
|
-
if ( steps.length
|
|
228
|
+
if ( steps.length === 0 ) { return; }
|
|
229
|
+
if ( mv !== this.#UNDEFINED ) { return; }
|
|
217
230
|
return { steps, i };
|
|
218
231
|
}
|
|
219
232
|
#evaluate(steps, pathin) {
|
|
@@ -222,7 +235,7 @@ class JSONPath {
|
|
|
222
235
|
for ( const step of steps ) {
|
|
223
236
|
switch ( step.mv ) {
|
|
224
237
|
case this.#ROOT:
|
|
225
|
-
resultset = [ [] ];
|
|
238
|
+
resultset = [ [ '$' ] ];
|
|
226
239
|
break;
|
|
227
240
|
case this.#CURRENT:
|
|
228
241
|
resultset = [ pathin ];
|
|
@@ -445,13 +458,40 @@ class JSONPath {
|
|
|
445
458
|
}
|
|
446
459
|
if ( outcome ) { return k; }
|
|
447
460
|
}
|
|
448
|
-
#modifyVal(obj, key
|
|
449
|
-
const
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
461
|
+
#modifyVal(obj, key) {
|
|
462
|
+
const { modify, rval } = this.#compiled;
|
|
463
|
+
switch ( modify ) {
|
|
464
|
+
case undefined:
|
|
465
|
+
obj[key] = rval;
|
|
466
|
+
break;
|
|
467
|
+
case '+': {
|
|
468
|
+
if ( rval instanceof Object === false ) { return; }
|
|
469
|
+
const lval = obj[key];
|
|
470
|
+
if ( lval instanceof Object === false ) { return; }
|
|
471
|
+
if ( Array.isArray(lval) ) { return; }
|
|
472
|
+
for ( const [ k, v ] of Object.entries(rval) ) {
|
|
473
|
+
lval[k] = v;
|
|
474
|
+
}
|
|
475
|
+
break;
|
|
476
|
+
}
|
|
477
|
+
case 'repl': {
|
|
478
|
+
const lval = obj[key];
|
|
479
|
+
if ( typeof lval !== 'string' ) { return; }
|
|
480
|
+
if ( this.#compiled.re === undefined ) {
|
|
481
|
+
this.#compiled.re = null;
|
|
482
|
+
try {
|
|
483
|
+
this.#compiled.re = rval.regex !== undefined
|
|
484
|
+
? new RegExp(rval.regex, rval.flags)
|
|
485
|
+
: new RegExp(rval.pattern.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'));
|
|
486
|
+
} catch {
|
|
487
|
+
}
|
|
488
|
+
}
|
|
489
|
+
if ( this.#compiled.re === null ) { return; }
|
|
490
|
+
obj[key] = lval.replace(this.#compiled.re, rval.replacement);
|
|
491
|
+
break;
|
|
492
|
+
}
|
|
493
|
+
default:
|
|
494
|
+
break;
|
|
455
495
|
}
|
|
456
496
|
}
|
|
457
497
|
}
|
|
@@ -507,8 +507,8 @@ function getRandomTokenFn() {
|
|
|
507
507
|
/******************************************************************************/
|
|
508
508
|
|
|
509
509
|
const scriptletGlobals = {}; // eslint-disable-line
|
|
510
|
-
const argsList = [["
|
|
511
|
-
const hostnamesMap = new Map([["www.youtube.com",[0,1,2]],["m.youtube.com",2],["music.youtube.com",2],["tv.youtube.com",2],["youtubekids.com",2],["youtube-nocookie.com",2],["
|
|
510
|
+
const argsList = [["adPlacements adSlots no_ads playerResponse.adPlacements playerResponse.adSlots playerResponse.no_ads [].playerResponse.adPlacements [].playerResponse.adSlots [].playerResponse.no_ads","","propsToMatch","/player?"],["playerAds adPlacements adSlots no_ads playerResponse.playerAds playerResponse.adPlacements playerResponse.adSlots playerResponse.no_ads","","propsToMatch","/playlist?"],["reelWatchSequenceResponse.entries.[-].command.reelWatchEndpoint.adClientParams.isAd entries.[-].command.reelWatchEndpoint.adClientParams.isAd","","propsToMatch","url:/reel_watch_sequence?"],["prerolls midrolls postrolls comm_ad house_ad pause_ad block_ad end_ad exit_ad pin_ad content_pool vertical_ad elements","","propsToMatch","/detail"],["response.timeline.elements.[-].advertiserId","","propsToMatch","url:/api/v2/tabs/for_you"],["avails","","propsToMatch","amazonaws.com"],["imasdk","","propsToMatch","topaz."],["response.ads","","propsToMatch","/api"],["plugins.adService"],["adBreaks.[].startingOffset adBreaks.[].adBreakDuration adBreaks.[].ads adBreaks.[].startTime adBreak adBreakLocations","","propsToMatch","/session.json"],["data.device.adsParams data.device.adSponsorshipTemplate","","propsToMatch","url:/appconfig"],["response.ads","","propsToMatch","/streams"],["ads.[].imageUrl","","propsToMatch","url:api/meta"],["adDetails","","propsToMatch","/secure?"],["data.search.products.[-].sponsored_ad.ad_source","","propsToMatch","url:/plp_search_v2?"],["session.sessionAds session.sessionAdsRequired","","propsToMatch","/session"],["itemList.[-].ad_info.ad_id","","propsToMatch","url:api/recommend/item_list/"],["assets.preroll assets.prerollDebug","","propsToMatch","/stream-link"],["adsConfiguration","","propsToMatch","/vod"],["layout.sections.mainContentCollection.components.[].data.productTiles.[-].sponsoredCreative.adGroupId","","propsToMatch","/search"],["data.[].affiliate_url","","propsToMatch","cdnpk.net/v2/images/search?"],["data.[-].inner.ctaCopy","","propsToMatch","?page="],["configs.*.properties.componentConfigs.slideshowConfigs.*.interstitialNativeAds","","propsToMatch","url:/config"],["*","list.[].link.kicker","propsToMatch","/content/v1/cms/api/amp/Document"],["properties.tiles.[-].isAd","","propsToMatch","/mestripewc/default/config"],["breaks custom_breaks_data pause_ads video_metadata.end_credits_time","pause_ads","propsToMatch","/playlist"],["breaks custom_breaks_data pause_ads video_metadata.end_credits_time","breaks","propsToMatch","/playlist"],["breaks custom_breaks_data pause_ads","","propsToMatch","/playlist"],["*","*.aurl","propsToMatch","/cs?id="]];
|
|
511
|
+
const hostnamesMap = new Map([["www.youtube.com",[0,1,2]],["m.youtube.com",2],["music.youtube.com",2],["tv.youtube.com",2],["youtubekids.com",2],["youtube-nocookie.com",2],["ofiii.com",3],["tumblr.com",4],["nbc.com",5],["southpark.*",6],["southparkstudios.*",6],["player.pop.co.uk",7],["player.popfun.co.uk",7],["iprima.cz",8],["pluto.tv",9],["crackle.com",10],["play.virginmediatelevision.ie",11],["misskey.io",12],["misskey.oga.ninja",12],["mk.yopo.work",12],["sushi.ski",12],["trpger.us",12],["warpday.net",12],["zadankai.club",12],["zee5.com",13],["target.com",14],["play.geforcenow.com",15],["www.tiktok.com",16],["npo.nl",17],["watch.shout-tv.com",18],["realcanadiansuperstore.ca",19],["flaticon.com",20],["fomo.id",21],["www.msn.com",[22,23,24]],["hulu.com",[25,26,27]],["mega.nz",28]]);
|
|
512
512
|
const exceptionsMap = new Map([]);
|
|
513
513
|
const hasEntities = true;
|
|
514
514
|
const hasAncestors = false;
|
|
@@ -425,8 +425,8 @@ function getRandomTokenFn() {
|
|
|
425
425
|
/******************************************************************************/
|
|
426
426
|
|
|
427
427
|
const scriptletGlobals = {}; // eslint-disable-line
|
|
428
|
-
const argsList = [["entries.[-].command.reelWatchEndpoint.adClientParams.isAd"],["require.0.3.0.__bbox.require.[].3.1.__bbox.result.data.viewer.sideFeedUnit.nodes.[].new_adverts.nodes.[-].sponsored_data"],["require.0.3.0.__bbox.require.[].3.1.__bbox.result.data.serpResponse.results.edges.[-].rendering_strategy.view_model.story.sponsored_data.ad_id"],["config.globalInteractions.[].bsData"],["playerResponse.adPlacements playerResponse.playerAds playerResponse.adSlots adPlacements playerAds adSlots important"],["enabled","force_disabled"],["require.0.3.0.__bbox.require.[].3.1.__bbox.result.data.serpResponse.results.edges.[-].relay_rendering_strategy.view_model.story.sponsored_data.ad_id"],["require.0.3.0.__bbox.require.[].3.1.__bbox.result.data.node","require.0.3.0.__bbox.require.[].3.1.__bbox.result.data.node.story.sponsored_data.ad_id"],["require.0.3.0.__bbox.require.[].3.1.__bbox.result.data.marketplace_search.feed_units.edges.[-].node.story.sponsored_data.ad_id"],["require.0.3.0.__bbox.require.[].3.1.__bbox.result.data.viewer.marketplace_feed_stories.edges.[-].node.story.sponsored_data.ad_id"],["*","*.adserverDomain"],["urls","urls.0"],["cuepointPlaylist vodPlaybackUrls.result.playbackUrls.cuepoints"],["value.media.ad_breaks"],["data.[].vast_url"],["adReinsertion"],["enabled","testhide"],["AffiliateAdBlock"],["ad_pods.0.ads.0.segments.0.media ad_pods.1.ads.1.segments.1.media ad_pods.2.ads.2.segments.2.media ad_pods.3.ads.3.segments.3.media ad_pods.4.ads.4.segments.4.media ad_pods.5.ads.5.segments.5.media ad_pods.6.ads.6.segments.6.media ad_pods.7.ads.7.segments.7.media ad_pods.8.ads.8.segments.8.media"],["web_share_ads_adsterra_config wap_short_link_middle_page_ad wap_short_link_middle_page_show_time data.ads_cpm_info"],["data.meta.require_addon data.meta.require_captcha data.meta.require_notifications data.meta.require_og_ads data.meta.require_video data.meta.require_web data.meta.require_related_topics data.meta.require_custom_ad_step data.meta.og_ads_offers data.meta.addon_url data.displayAds data.linkCustomAdOffers"],["data.getDetailPageContent.linkCustomAdOffers.[-].title"],["data.getTaboolaAds.*"],["RT-1562-AdShield-script-on-Huffpost"],["
|
|
429
|
-
const hostnamesMap = new Map([["youtube.com",0],["m.youtube.com",[0,4]],["music.youtube.com",[0,4]],["tv.youtube.com",0],["www.youtube.com",0],["youtubekids.com",[0,4]],["youtube-nocookie.com",[0,4]],["web.facebook.com",[1,2,6,7,8,9]],["www.facebook.com",[1,2,6,7,8,9]],["stories.los40.com",3],["chip.de",5],["focus.de",5],["kicker.de",5],["vipbox.*",10],["vipboxtv.*",10],["viprow.*",10],["shazysport.pro",10],["streamhd247.info",10],["volokit2.com",10],["voodc.com",10],["elixx.*",11],["www.amazon.co.jp",12],["www.amazon.co.uk",12],["www.amazon.com",12],["www.amazon.de",12],["www.primevideo.com",12],["crunchyroll.com",13],["vvvvid.it",14],["plus.rtl.de",15],["tv2.no",16],["5flix.top",17],["listeamed.net",17],["yesmovies.*>>",17],["pistona.xyz",17],["vinomo.xyz",17],["art19.com",18],["fansonlinehub.com",19],["hotmediahub.com",19],["terabox.fun",19],["teralink.me",19],["terashare.me",19],["teraearn.com",19],["linkvertise.com",[20,21,22]],["huffpost.com",23],["
|
|
428
|
+
const argsList = [["entries.[-].command.reelWatchEndpoint.adClientParams.isAd"],["require.0.3.0.__bbox.require.[].3.1.__bbox.result.data.viewer.sideFeedUnit.nodes.[].new_adverts.nodes.[-].sponsored_data"],["require.0.3.0.__bbox.require.[].3.1.__bbox.result.data.serpResponse.results.edges.[-].rendering_strategy.view_model.story.sponsored_data.ad_id"],["config.globalInteractions.[].bsData"],["playerResponse.adPlacements playerResponse.playerAds playerResponse.adSlots adPlacements playerAds adSlots important"],["enabled","force_disabled"],["require.0.3.0.__bbox.require.[].3.1.__bbox.result.data.serpResponse.results.edges.[-].relay_rendering_strategy.view_model.story.sponsored_data.ad_id"],["require.0.3.0.__bbox.require.[].3.1.__bbox.result.data.node","require.0.3.0.__bbox.require.[].3.1.__bbox.result.data.node.story.sponsored_data.ad_id"],["require.0.3.0.__bbox.require.[].3.1.__bbox.result.data.marketplace_search.feed_units.edges.[-].node.story.sponsored_data.ad_id"],["require.0.3.0.__bbox.require.[].3.1.__bbox.result.data.viewer.marketplace_feed_stories.edges.[-].node.story.sponsored_data.ad_id"],["*","*.adserverDomain"],["urls","urls.0"],["cuepointPlaylist vodPlaybackUrls.result.playbackUrls.cuepoints"],["value.media.ad_breaks"],["data.[].vast_url"],["adReinsertion"],["enabled","testhide"],["AffiliateAdBlock"],["ad_pods.0.ads.0.segments.0.media ad_pods.1.ads.1.segments.1.media ad_pods.2.ads.2.segments.2.media ad_pods.3.ads.3.segments.3.media ad_pods.4.ads.4.segments.4.media ad_pods.5.ads.5.segments.5.media ad_pods.6.ads.6.segments.6.media ad_pods.7.ads.7.segments.7.media ad_pods.8.ads.8.segments.8.media"],["web_share_ads_adsterra_config wap_short_link_middle_page_ad wap_short_link_middle_page_show_time data.ads_cpm_info"],["data.meta.require_addon data.meta.require_captcha data.meta.require_notifications data.meta.require_og_ads data.meta.require_video data.meta.require_web data.meta.require_related_topics data.meta.require_custom_ad_step data.meta.og_ads_offers data.meta.addon_url data.displayAds data.linkCustomAdOffers"],["data.getDetailPageContent.linkCustomAdOffers.[-].title"],["data.getTaboolaAds.*"],["RT-1562-AdShield-script-on-Huffpost"],["ads.servers.[].apiAddress"],["breaks interstitials info","interstitials"],["ad_slots"],["plugins.dfp"],["clickAnywhere urls"],["meta.advertise"],["data.attributes.config.freewheel data.attributes.config.featureFlags.dPlayer"],["data.attributes.ssaiInfo.forecastTimeline data.attributes.ssaiInfo.vendorAttributes.nonLinearAds data.attributes.ssaiInfo.vendorAttributes.videoView data.attributes.ssaiInfo.vendorAttributes.breaks.[].ads.[].adMetadata data.attributes.ssaiInfo.vendorAttributes.breaks.[].ads.[].adParameters data.attributes.ssaiInfo.vendorAttributes.breaks.[].timeOffset"],["ssaiInfo"],["movie.advertising.ad_server playlist.movie.advertising.ad_server"],["MediaContainer.Metadata.[].Ad"],["cuepoints","cuepoints.[].start cuepoints.[].end cuepoints.[].start_float cuepoints.[].end_float"],["testadtags ad"],["resource_response.data.[-].pin_promotion_id resource_response.data.results.[-].pin_promotion_id"],["initialReduxState.pins.{-}.pin_promotion_id initialReduxState.resources.UserHomefeedResource.*.data.[-].pin_promotion_id"],["ads"],["[].data.searchResults.listings.[-].targetingSegments"],["data.xdt_injected_story_units.ad_media_items"],["ssaiInfo fallback.ssaiInfo"],["adtech-brightline adtech-google-pal adtech-iab-om"],["result.ads"],["items.[-].potentialActions.0.object.impressionToken items.[-].hasPart.0.potentialActions.0.object.impressionToken"],["context.adsIncluded"],["stream.insertion.adSession stream.insertion.points stream.insertion stream.sources.*.insertion pods.0.ads"],["ads.metadata ads.document ads.dxc ads.live ads.vod"],["*.tanya_video_ads"],["success.page.spaces.player.widget_wrappers.[].widget.data.intervention_data"],["avails"],["data.reg"],["playerResponse.adPlacements playerResponse.playerAds adPlacements playerAds"],["response.ads"],["adease adeaseBlob vmap","adease"],["plugins.adService"],["session.showAds"],["adverts.breaks"],["*","all"],["adtagparameter","enabled"],["ssai_manifest ad_manifest playback_info.ad_info qvt.playback_info.ad_info"],["PlaybackDetails.[].DaiVod"],["data.searchClassifiedFeed.searchResultView.0.searchResultItemsV2.edges.[-].node.item.content.creative.clickThroughEvent.adsTrackingMetadata.metadata.adRequestId"],["data.me.personalizedFeed.feedItems.[-].promo.creative.clickThroughUrl.adsTrackingMetadata.metadata.adRequestId"],["data.me.rhrFeed.feedItems.[-].promo.creative.clickThroughUrl.adsTrackingMetadata.metadata.sponsor"],["[].data.displayAdsV3.data.[-].__typename"],["[].data.TopAdsProducts.data.[-].__typename"],["[].data.topads.data.[-].__typename"],["placements.processingFile"],["sorts.[-].recommendationList.[].contentMetadata.EncryptedAdTrackingData"],["ads.[-].ad_id"],["gifs.[-].cta.link"],["playlist.movie.advertising.ad_server"],["result.adverts"],["ads breaks cuepoints times"],["breaks custom_breaks_data pause_ads"],["breaks custom_breaks_data pause_ads video_metadata.end_credits_time","pause_ads"],["breaks custom_breaks_data pause_ads video_metadata.end_credits_time","breaks"],["show_adverts"],["bannerad sidebar ti_sidebar"],["data.*.elements.edges.[].node.outboundLink"],["data.children.[].data.outbound_link"],["require.0.3.0.__bbox.define.[].2.is_linkshim_supported"],["dataLayer.trackingId user.trackingId"]];
|
|
429
|
+
const hostnamesMap = new Map([["youtube.com",0],["m.youtube.com",[0,4]],["music.youtube.com",[0,4]],["tv.youtube.com",0],["www.youtube.com",0],["youtubekids.com",[0,4]],["youtube-nocookie.com",[0,4]],["web.facebook.com",[1,2,6,7,8,9]],["www.facebook.com",[1,2,6,7,8,9]],["stories.los40.com",3],["chip.de",5],["focus.de",5],["kicker.de",5],["vipbox.*",10],["vipboxtv.*",10],["viprow.*",10],["shazysport.pro",10],["streamhd247.info",10],["volokit2.com",10],["voodc.com",10],["elixx.*",11],["www.amazon.co.jp",12],["www.amazon.co.uk",12],["www.amazon.com",12],["www.amazon.de",12],["www.primevideo.com",12],["crunchyroll.com",13],["vvvvid.it",14],["plus.rtl.de",15],["tv2.no",16],["5flix.top",17],["listeamed.net",17],["yesmovies.*>>",17],["pistona.xyz",17],["vinomo.xyz",17],["art19.com",18],["fansonlinehub.com",19],["hotmediahub.com",19],["terabox.fun",19],["teralink.me",19],["terashare.me",19],["teraearn.com",19],["linkvertise.com",[20,21,22]],["huffpost.com",23],["domoplus.pl",24],["kuchniaplus.pl",24],["miniminiplus.pl",24],["teletoonplus.pl",24],["vix.com",[25,26,27]],["shorttey.*",28],["vlive.tv",29],["discoveryplus.*",[30,31]],["go.discovery.com",31],["investigationdiscovery.com",31],["watch.foodnetwork.com",31],["play.discoveryplus.com",32],["tvn.pl",33],["app.plex.tv",34],["10.com.au",35],["10play.com.au",35],["player.stv.tv",36],["pinterest.*",[37,38]],["fox.com",39],["foxsports.com",39],["serially.it",39],["autotrader.co.uk",40],["instagram.com",41],["play.hbomax.com",[42,43]],["play.max.com",[42,43]],["sportstiger.com",44],["swisscows.com",[45,46]],["disneyplus.com",[47,48]],["colearn.id",49],["hotstar.com",50],["nbc.com",51],["play.virginmediatelevision.ie",51],["play.history.com",52],["eu-proxy.startpage.com",53],["player.pop.co.uk",54],["player.popfun.co.uk",54],["foxtel.com.au",55],["iprima.cz",56],["speedrun.com",57],["channel4.com",58],["hentaihaven.xxx",59],["winfuture.de",60],["watch.sling.com",61],["dazn.com",62],["nextdoor.com",[63,64,65]],["tokopedia.com",[66,67,68]],["upscaler.stockphotos.com",69],["roblox.com",70],["sainsburys.co.uk",71],["redgifs.com",72],["tvn24.pl",73],["netflix.com",74],["sbs.com.au",75],["hulu.com",[76,77,78]],["bitchute.com",79],["criticker.com",80],["www.reddit.com",[81,82]],["threads.net",83],["nypost.com",84],["pagesix.com",84]]);
|
|
430
430
|
const exceptionsMap = new Map([["vvid30c.*",[17]]]);
|
|
431
431
|
const hasEntities = true;
|
|
432
432
|
const hasAncestors = true;
|
package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.jsonl-edit-xhr-response.js
CHANGED
|
@@ -119,12 +119,19 @@ class JSONPath {
|
|
|
119
119
|
const r = this.#compile(query, 0);
|
|
120
120
|
if ( r === undefined ) { return; }
|
|
121
121
|
if ( r.i !== query.length ) {
|
|
122
|
-
|
|
122
|
+
let val;
|
|
123
|
+
if ( query.startsWith('=', r.i) ) {
|
|
124
|
+
if ( /^=repl\(.+\)$/.test(query.slice(r.i)) ) {
|
|
125
|
+
r.modify = 'repl';
|
|
126
|
+
val = query.slice(r.i+6, -1);
|
|
127
|
+
} else {
|
|
128
|
+
val = query.slice(r.i+1);
|
|
129
|
+
}
|
|
130
|
+
} else if ( query.startsWith('+=', r.i) ) {
|
|
123
131
|
r.modify = '+';
|
|
124
|
-
r.i
|
|
132
|
+
val = query.slice(r.i+2);
|
|
125
133
|
}
|
|
126
|
-
|
|
127
|
-
try { r.rval = JSON.parse(query.slice(r.i+1)); }
|
|
134
|
+
try { r.rval = JSON.parse(val); }
|
|
128
135
|
catch { return; }
|
|
129
136
|
}
|
|
130
137
|
this.#compiled = r;
|
|
@@ -137,28 +144,25 @@ class JSONPath {
|
|
|
137
144
|
return paths;
|
|
138
145
|
}
|
|
139
146
|
apply(root) {
|
|
140
|
-
if ( this.valid === false ) { return
|
|
141
|
-
const {
|
|
142
|
-
this.#root = root;
|
|
147
|
+
if ( this.valid === false ) { return; }
|
|
148
|
+
const { rval } = this.#compiled;
|
|
149
|
+
this.#root = { '$': root };
|
|
143
150
|
const paths = this.#evaluate(this.#compiled.steps, []);
|
|
144
|
-
|
|
145
|
-
|
|
151
|
+
let i = paths.length
|
|
152
|
+
if ( i === 0 ) { this.#root = null; return; }
|
|
146
153
|
while ( i-- ) {
|
|
147
154
|
const { obj, key } = this.#resolvePath(paths[i]);
|
|
148
155
|
if ( rval !== undefined ) {
|
|
149
|
-
|
|
150
|
-
this.#modifyVal(obj, key, rval);
|
|
151
|
-
} else {
|
|
152
|
-
obj[key] = rval;
|
|
153
|
-
}
|
|
156
|
+
this.#modifyVal(obj, key);
|
|
154
157
|
} else if ( Array.isArray(obj) && typeof key === 'number' ) {
|
|
155
158
|
obj.splice(key, 1);
|
|
156
159
|
} else {
|
|
157
160
|
delete obj[key];
|
|
158
161
|
}
|
|
159
162
|
}
|
|
163
|
+
const result = this.#root['$'] ?? null;
|
|
160
164
|
this.#root = null;
|
|
161
|
-
return
|
|
165
|
+
return result;
|
|
162
166
|
}
|
|
163
167
|
dump() {
|
|
164
168
|
return JSON.stringify(this.#compiled);
|
|
@@ -183,8 +187,15 @@ class JSONPath {
|
|
|
183
187
|
if ( query.length === 0 ) { return; }
|
|
184
188
|
const steps = [];
|
|
185
189
|
let c = query.charCodeAt(i);
|
|
186
|
-
|
|
187
|
-
|
|
190
|
+
if ( c === 0x24 /* $ */ ) {
|
|
191
|
+
steps.push({ mv: this.#ROOT });
|
|
192
|
+
i += 1;
|
|
193
|
+
} else if ( c === 0x40 /* @ */ ) {
|
|
194
|
+
steps.push({ mv: this.#CURRENT });
|
|
195
|
+
i += 1;
|
|
196
|
+
} else {
|
|
197
|
+
steps.push({ mv: i === 0 ? this.#ROOT : this.#CURRENT });
|
|
198
|
+
}
|
|
188
199
|
let mv = this.#UNDEFINED;
|
|
189
200
|
for (;;) {
|
|
190
201
|
if ( i === query.length ) { break; }
|
|
@@ -246,7 +257,8 @@ class JSONPath {
|
|
|
246
257
|
i = r.i + 1;
|
|
247
258
|
mv = this.#UNDEFINED;
|
|
248
259
|
}
|
|
249
|
-
if ( steps.length
|
|
260
|
+
if ( steps.length === 0 ) { return; }
|
|
261
|
+
if ( mv !== this.#UNDEFINED ) { return; }
|
|
250
262
|
return { steps, i };
|
|
251
263
|
}
|
|
252
264
|
#evaluate(steps, pathin) {
|
|
@@ -255,7 +267,7 @@ class JSONPath {
|
|
|
255
267
|
for ( const step of steps ) {
|
|
256
268
|
switch ( step.mv ) {
|
|
257
269
|
case this.#ROOT:
|
|
258
|
-
resultset = [ [] ];
|
|
270
|
+
resultset = [ [ '$' ] ];
|
|
259
271
|
break;
|
|
260
272
|
case this.#CURRENT:
|
|
261
273
|
resultset = [ pathin ];
|
|
@@ -478,13 +490,40 @@ class JSONPath {
|
|
|
478
490
|
}
|
|
479
491
|
if ( outcome ) { return k; }
|
|
480
492
|
}
|
|
481
|
-
#modifyVal(obj, key
|
|
482
|
-
const
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
493
|
+
#modifyVal(obj, key) {
|
|
494
|
+
const { modify, rval } = this.#compiled;
|
|
495
|
+
switch ( modify ) {
|
|
496
|
+
case undefined:
|
|
497
|
+
obj[key] = rval;
|
|
498
|
+
break;
|
|
499
|
+
case '+': {
|
|
500
|
+
if ( rval instanceof Object === false ) { return; }
|
|
501
|
+
const lval = obj[key];
|
|
502
|
+
if ( lval instanceof Object === false ) { return; }
|
|
503
|
+
if ( Array.isArray(lval) ) { return; }
|
|
504
|
+
for ( const [ k, v ] of Object.entries(rval) ) {
|
|
505
|
+
lval[k] = v;
|
|
506
|
+
}
|
|
507
|
+
break;
|
|
508
|
+
}
|
|
509
|
+
case 'repl': {
|
|
510
|
+
const lval = obj[key];
|
|
511
|
+
if ( typeof lval !== 'string' ) { return; }
|
|
512
|
+
if ( this.#compiled.re === undefined ) {
|
|
513
|
+
this.#compiled.re = null;
|
|
514
|
+
try {
|
|
515
|
+
this.#compiled.re = rval.regex !== undefined
|
|
516
|
+
? new RegExp(rval.regex, rval.flags)
|
|
517
|
+
: new RegExp(rval.pattern.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'));
|
|
518
|
+
} catch {
|
|
519
|
+
}
|
|
520
|
+
}
|
|
521
|
+
if ( this.#compiled.re === null ) { return; }
|
|
522
|
+
obj[key] = lval.replace(this.#compiled.re, rval.replacement);
|
|
523
|
+
break;
|
|
524
|
+
}
|
|
525
|
+
default:
|
|
526
|
+
break;
|
|
488
527
|
}
|
|
489
528
|
}
|
|
490
529
|
}
|
|
@@ -501,11 +540,12 @@ function jsonlEditFn(jsonp, text = '') {
|
|
|
501
540
|
linesAfter.push(lineBefore);
|
|
502
541
|
continue;
|
|
503
542
|
}
|
|
504
|
-
|
|
543
|
+
const objAfter = jsonp.apply(obj);
|
|
544
|
+
if ( objAfter === undefined ) {
|
|
505
545
|
linesAfter.push(lineBefore);
|
|
506
546
|
continue;
|
|
507
547
|
}
|
|
508
|
-
const lineAfter = safe.JSON_stringify(
|
|
548
|
+
const lineAfter = safe.JSON_stringify(objAfter);
|
|
509
549
|
linesAfter.push(lineAfter);
|
|
510
550
|
}
|
|
511
551
|
return linesAfter.join(lineSeparator);
|
|
@@ -745,8 +785,8 @@ function safeSelf() {
|
|
|
745
785
|
/******************************************************************************/
|
|
746
786
|
|
|
747
787
|
const scriptletGlobals = {}; // eslint-disable-line
|
|
748
|
-
const argsList = [[".data[?@.category==\"SPONSORED\"].node","","propsToMatch","/graphql"],[".data.viewer.news_feed.edges.*[?@.category==\"SPONSORED\"].node","","propsToMatch","/graphql"]];
|
|
749
|
-
const hostnamesMap = new Map([["web.facebook.com",[0,1]],["www.facebook.com",[0,1]]]);
|
|
788
|
+
const argsList = [[".data[?@.category==\"SPONSORED\"].node","","propsToMatch","/graphql"],[".data.viewer.news_feed.edges.*[?@.category==\"SPONSORED\"].node","","propsToMatch","/graphql"],[".data.viewer.marketplace_feed_stories.edges.*[?@.node.__typename==\"MarketplaceFeedAdStory\"]","/graphql"]];
|
|
789
|
+
const hostnamesMap = new Map([["web.facebook.com",[0,1,2]],["www.facebook.com",[0,1,2]]]);
|
|
750
790
|
const exceptionsMap = new Map([]);
|
|
751
791
|
const hasEntities = false;
|
|
752
792
|
const hasAncestors = false;
|