@browserless.io/browserless 2.36.0 → 2.37.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +16 -2
- package/build/browsers/index.d.ts +1 -0
- package/build/browsers/index.js +18 -2
- package/build/http.d.ts +3 -2
- package/build/http.js +3 -2
- 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/tests/kill-sessions.spec.js +0 -11
- 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.d.ts +7 -0
- package/build/routes/chrome/ws/function-connect.js +6 -0
- package/build/routes/chrome/ws/function-connect.query.json +123 -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.d.ts +1 -0
- package/build/routes/chromium/ws/function-connect.js +1 -0
- package/build/routes/chromium/ws/function-connect.query.json +123 -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.d.ts +7 -0
- package/build/routes/edge/ws/function-connect.js +6 -0
- package/build/routes/edge/ws/function-connect.query.json +123 -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/sdk-utils.js +1 -1
- package/build/server.js +1 -1
- package/build/shared/function-connect.ws.d.ts +15 -0
- package/build/shared/function-connect.ws.js +13 -0
- package/build/shared/utils/function/handler.js +6 -4
- package/build/shim.js +11 -1
- package/build/shim.spec.js +14 -0
- package/build/types.d.ts +8 -0
- package/build/types.js +3 -0
- package/extensions/ublocklite/_locales/ar/messages.json +60 -24
- package/extensions/ublocklite/_locales/az/messages.json +36 -0
- package/extensions/ublocklite/_locales/be/messages.json +36 -0
- package/extensions/ublocklite/_locales/bg/messages.json +36 -0
- package/extensions/ublocklite/_locales/bn/messages.json +36 -0
- package/extensions/ublocklite/_locales/br_FR/messages.json +36 -0
- package/extensions/ublocklite/_locales/bs/messages.json +36 -0
- package/extensions/ublocklite/_locales/ca/messages.json +36 -0
- package/extensions/ublocklite/_locales/cs/messages.json +36 -0
- package/extensions/ublocklite/_locales/cv/messages.json +36 -0
- package/extensions/ublocklite/_locales/cy/messages.json +40 -4
- package/extensions/ublocklite/_locales/da/messages.json +39 -3
- package/extensions/ublocklite/_locales/de/messages.json +36 -0
- package/extensions/ublocklite/_locales/el/messages.json +36 -0
- package/extensions/ublocklite/_locales/en/messages.json +36 -0
- package/extensions/ublocklite/_locales/en_GB/messages.json +36 -0
- package/extensions/ublocklite/_locales/eo/messages.json +36 -0
- package/extensions/ublocklite/_locales/es/messages.json +36 -0
- package/extensions/ublocklite/_locales/et/messages.json +36 -0
- package/extensions/ublocklite/_locales/eu/messages.json +36 -0
- package/extensions/ublocklite/_locales/fa/messages.json +36 -0
- package/extensions/ublocklite/_locales/fi/messages.json +37 -1
- package/extensions/ublocklite/_locales/fil/messages.json +36 -0
- package/extensions/ublocklite/_locales/fr/messages.json +36 -0
- package/extensions/ublocklite/_locales/fy/messages.json +37 -1
- package/extensions/ublocklite/_locales/gl/messages.json +37 -1
- package/extensions/ublocklite/_locales/gu/messages.json +36 -0
- package/extensions/ublocklite/_locales/he/messages.json +36 -0
- package/extensions/ublocklite/_locales/hi/messages.json +36 -0
- package/extensions/ublocklite/_locales/hr/messages.json +36 -0
- package/extensions/ublocklite/_locales/hu/messages.json +36 -0
- package/extensions/ublocklite/_locales/hy/messages.json +36 -0
- package/extensions/ublocklite/_locales/id/messages.json +36 -0
- package/extensions/ublocklite/_locales/it/messages.json +36 -0
- package/extensions/ublocklite/_locales/ja/messages.json +36 -0
- package/extensions/ublocklite/_locales/ka/messages.json +36 -0
- package/extensions/ublocklite/_locales/kk/messages.json +36 -0
- package/extensions/ublocklite/_locales/kn/messages.json +36 -0
- package/extensions/ublocklite/_locales/ko/messages.json +36 -0
- package/extensions/ublocklite/_locales/lt/messages.json +36 -0
- package/extensions/ublocklite/_locales/lv/messages.json +36 -0
- package/extensions/ublocklite/_locales/mk/messages.json +36 -0
- package/extensions/ublocklite/_locales/ml/messages.json +36 -0
- package/extensions/ublocklite/_locales/mr/messages.json +36 -0
- package/extensions/ublocklite/_locales/ms/messages.json +36 -0
- package/extensions/ublocklite/_locales/nb/messages.json +53 -17
- package/extensions/ublocklite/_locales/nl/messages.json +36 -0
- package/extensions/ublocklite/_locales/oc/messages.json +36 -0
- package/extensions/ublocklite/_locales/pa/messages.json +36 -0
- package/extensions/ublocklite/_locales/pl/messages.json +36 -0
- package/extensions/ublocklite/_locales/pt_BR/messages.json +36 -0
- package/extensions/ublocklite/_locales/pt_PT/messages.json +36 -0
- package/extensions/ublocklite/_locales/ro/messages.json +36 -0
- package/extensions/ublocklite/_locales/ru/messages.json +36 -0
- package/extensions/ublocklite/_locales/si/messages.json +36 -0
- package/extensions/ublocklite/_locales/sk/messages.json +36 -0
- package/extensions/ublocklite/_locales/sl/messages.json +36 -0
- package/extensions/ublocklite/_locales/so/messages.json +36 -0
- package/extensions/ublocklite/_locales/sq/messages.json +36 -0
- package/extensions/ublocklite/_locales/sr/messages.json +36 -0
- package/extensions/ublocklite/_locales/sv/messages.json +36 -0
- package/extensions/ublocklite/_locales/sw/messages.json +36 -0
- package/extensions/ublocklite/_locales/ta/messages.json +36 -0
- package/extensions/ublocklite/_locales/te/messages.json +36 -0
- package/extensions/ublocklite/_locales/th/messages.json +36 -0
- package/extensions/ublocklite/_locales/tr/messages.json +36 -0
- package/extensions/ublocklite/_locales/uk/messages.json +36 -0
- package/extensions/ublocklite/_locales/ur/messages.json +36 -0
- package/extensions/ublocklite/_locales/vi/messages.json +36 -0
- package/extensions/ublocklite/_locales/zh_CN/messages.json +36 -0
- package/extensions/ublocklite/_locales/zh_TW/messages.json +36 -0
- package/extensions/ublocklite/css/dashboard-common.css +0 -1
- package/extensions/ublocklite/css/dashboard.css +8 -0
- package/extensions/ublocklite/css/settings.css +107 -1
- package/extensions/ublocklite/css/unpicker-ui.css +1 -0
- package/extensions/ublocklite/dashboard.html +48 -11
- package/extensions/ublocklite/js/background.js +57 -39
- package/extensions/ublocklite/js/backup-restore.js +153 -0
- package/extensions/ublocklite/js/config.js +2 -0
- package/extensions/ublocklite/js/dashboard.js +23 -5
- package/extensions/ublocklite/js/develop.js +2 -11
- package/extensions/ublocklite/js/dom.js +10 -0
- package/extensions/ublocklite/js/filter-lists.js +5 -5
- package/extensions/ublocklite/js/filter-manager-ui.js +486 -0
- package/extensions/ublocklite/js/filter-manager.js +85 -53
- package/extensions/ublocklite/js/jsonpath.js +25 -10
- package/extensions/ublocklite/js/mode-manager.js +8 -1
- package/extensions/ublocklite/js/picker-ui.js +2 -2
- package/extensions/ublocklite/js/popup.js +20 -20
- package/extensions/ublocklite/js/report.js +2 -4
- package/extensions/ublocklite/js/ro-dnr-editor.js +9 -5
- package/extensions/ublocklite/js/ruleset-manager.js +13 -8
- package/extensions/ublocklite/js/scripting/unpicker.js +3 -3
- package/extensions/ublocklite/js/settings.js +51 -0
- package/extensions/ublocklite/js/static-filtering-parser.js +4 -4
- package/extensions/ublocklite/js/troubleshooting.js +30 -18
- package/extensions/ublocklite/js/unpicker-ui.js +5 -5
- package/extensions/ublocklite/js/utils.js +14 -0
- package/extensions/ublocklite/manifest.json +3 -3
- package/extensions/ublocklite/rulesets/generic-details.json +2 -3
- package/extensions/ublocklite/rulesets/main/adguard-mobile.json +3 -2
- package/extensions/ublocklite/rulesets/main/adguard-spyware-url.json +6 -5
- package/extensions/ublocklite/rulesets/main/annoyances-cookies.json +16 -6
- package/extensions/ublocklite/rulesets/main/annoyances-notifications.json +3 -1
- package/extensions/ublocklite/rulesets/main/annoyances-others.json +4 -3
- package/extensions/ublocklite/rulesets/main/annoyances-overlays.json +4 -3
- package/extensions/ublocklite/rulesets/main/annoyances-widgets.json +5 -2
- package/extensions/ublocklite/rulesets/main/block-lan.json +3 -1
- package/extensions/ublocklite/rulesets/main/chn-0.json +28 -17
- package/extensions/ublocklite/rulesets/main/deu-0.json +2 -9
- package/extensions/ublocklite/rulesets/main/easylist.json +31 -73
- package/extensions/ublocklite/rulesets/main/easyprivacy.json +99 -27
- package/extensions/ublocklite/rulesets/main/fin-0.json +5 -2
- package/extensions/ublocklite/rulesets/main/fra-0.json +1 -1
- package/extensions/ublocklite/rulesets/main/hun-0.json +3 -2
- package/extensions/ublocklite/rulesets/main/idn-0.json +22 -8
- package/extensions/ublocklite/rulesets/main/ind-0.json +62 -43
- package/extensions/ublocklite/rulesets/main/irn-0.json +5 -4
- package/extensions/ublocklite/rulesets/main/isr-0.json +2 -3
- package/extensions/ublocklite/rulesets/main/ita-0.json +11 -2
- package/extensions/ublocklite/rulesets/main/jpn-1.json +54 -38
- package/extensions/ublocklite/rulesets/main/kor-1.json +6 -3
- package/extensions/ublocklite/rulesets/main/nld-0.json +4 -1
- package/extensions/ublocklite/rulesets/main/nor-0.json +2 -2
- package/extensions/ublocklite/rulesets/main/pgl.json +30 -6
- package/extensions/ublocklite/rulesets/main/pol-0.json +1 -1
- package/extensions/ublocklite/rulesets/main/rou-1.json +4 -2
- package/extensions/ublocklite/rulesets/main/rus-0.json +18 -11
- package/extensions/ublocklite/rulesets/main/rus-1.json +5 -4
- package/extensions/ublocklite/rulesets/main/spa-1.json +12 -6
- package/extensions/ublocklite/rulesets/main/stevenblack-hosts.json +10500 -90447
- package/extensions/ublocklite/rulesets/main/swe-1.json +39 -30
- package/extensions/ublocklite/rulesets/main/tur-0.json +12 -9
- package/extensions/ublocklite/rulesets/main/ublock-badware.json +39 -13
- package/extensions/ublocklite/rulesets/main/ublock-filters.json +77 -50
- package/extensions/ublocklite/rulesets/main/ubol-tests.json +28 -0
- package/extensions/ublocklite/rulesets/main/ukr-0.json +2 -2
- package/extensions/ublocklite/rulesets/main/urlhaus-full.json +2103 -582
- package/extensions/ublocklite/rulesets/main/vie-1.json +54 -52
- package/extensions/ublocklite/rulesets/regex/chn-0.json +2 -2
- package/extensions/ublocklite/rulesets/regex/easylist.json +1 -6
- package/extensions/ublocklite/rulesets/regex/jpn-1.json +1 -2
- package/extensions/ublocklite/rulesets/regex/swe-1.json +0 -1
- package/extensions/ublocklite/rulesets/regex/ublock-badware.json +8 -3
- package/extensions/ublocklite/rulesets/regex/ublock-filters.json +24 -16
- package/extensions/ublocklite/rulesets/ruleset-details.json +220 -220
- package/extensions/ublocklite/rulesets/scripting/generic/annoyances-cookies.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/generic/annoyances-notifications.js +1 -1
- package/extensions/ublocklite/rulesets/scripting/generic/annoyances-others.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/generic/annoyances-social.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/generic/chn-0.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/generic/easylist.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/generic/ita-0.js +1 -1
- package/extensions/ublocklite/rulesets/scripting/generic/jpn-1.js +1 -1
- package/extensions/ublocklite/rulesets/scripting/generic/rus-1.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/generic/swe-1.js +1 -1
- package/extensions/ublocklite/rulesets/scripting/generic/ublock-filters.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/generichigh/easylist.css +2 -1
- package/extensions/ublocklite/rulesets/scripting/generichigh/idn-0.css +3 -0
- package/extensions/ublocklite/rulesets/scripting/generichigh/jpn-1.css +1 -0
- package/extensions/ublocklite/rulesets/scripting/generichigh/ublock-filters.css +9 -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/annoyances-social.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/procedural/chn-0.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/procedural/deu-0.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/procedural/easylist.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/procedural/fin-0.js +3 -3
- 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/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 +1 -1
- 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 +1 -1
- 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/tur-0.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/procedural/ublock-filters.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 +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/adguard-mobile.addEventListener-defuser.js +7 -3
- package/extensions/ublocklite/rulesets/scripting/scriptlet/adguard-mobile.adjust-setTimeout.js +332 -0
- package/extensions/ublocklite/rulesets/scripting/scriptlet/adguard-mobile.json-prune-fetch-response.js +588 -0
- package/extensions/ublocklite/rulesets/scripting/scriptlet/adguard-mobile.json-prune-xhr-response.js +597 -0
- package/extensions/ublocklite/rulesets/scripting/scriptlet/adguard-mobile.prevent-setTimeout.js +5 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/adguard-mobile.remove-cookie.js +376 -0
- package/extensions/ublocklite/rulesets/scripting/scriptlet/adguard-mobile.set-constant.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/adguard-mobile.set-cookie-reload.js +1 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/adguard-mobile.xml-prune.js +443 -0
- package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.addEventListener-defuser.js +5 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.prevent-requestAnimationFrame.js +6 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.prevent-setTimeout.js +5 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.set-cookie-reload.js +2 -2
- 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.trusted-click-element.js +88 -77
- package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.trusted-set-cookie-reload.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.addEventListener-defuser.js +5 -1
- 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-local-storage-item.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-others.set-session-storage-item.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.addEventListener-defuser.js +5 -1
- 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 +7 -3
- package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.prevent-window-open.js +5 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.remove-class.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.set-constant.js +1 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.trusted-click-element.js +88 -77
- package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.trusted-replace-argument.js +5 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.trusted-replace-outbound-text.js +5 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.trusted-set-local-storage-item.js +2 -2
- 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 +6 -2
- 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 +6 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/chn-0.prevent-setInterval.js +5 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/chn-0.prevent-setTimeout.js +5 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/chn-0.prevent-window-open.js +5 -1
- 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/easyprivacy.set-constant.js +1 -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/fin-0.remove-node-text.js +449 -0
- package/extensions/ublocklite/rulesets/scripting/scriptlet/fin-0.spoof-css.js +422 -0
- 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/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 +7 -3
- package/extensions/ublocklite/rulesets/scripting/scriptlet/irn-0.addEventListener-defuser.js +5 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/irn-0.href-sanitizer.js +2 -2
- 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 +5 -1
- 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.abort-current-script.js +1 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/jpn-1.addEventListener-defuser.js +6 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/jpn-1.href-sanitizer.js +2 -2
- 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 +7 -3
- 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 +5 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/kor-1.json-prune-xhr-response.js +2 -2
- 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 +5 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/kor-1.prevent-window-open.js +475 -0
- package/extensions/ublocklite/rulesets/scripting/scriptlet/kor-1.prevent-xhr.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/kor-1.remove-cookie.js +376 -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-read.js +1 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.abort-on-property-write.js +1 -1
- 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.close-window.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.href-sanitizer.js +1 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.json-prune-fetch-response.js +2 -2
- 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 +7 -3
- 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-1.addEventListener-defuser.js +5 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-1.json-prune-xhr-response.js +597 -0
- 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-constant.js +1 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.abort-current-script.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.addEventListener-defuser.js +5 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.json-prune.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.noeval-if.js +7 -3
- package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.prevent-fetch.js +7 -3
- 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 +5 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.prevent-window-open.js +6 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.set-constant.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 +1 -1
- 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 +7 -3
- package/extensions/ublocklite/rulesets/scripting/scriptlet/tur-0.abort-on-property-read.js +1 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/tur-0.addEventListener-defuser.js +7 -3
- 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 +7 -3
- package/extensions/ublocklite/rulesets/scripting/scriptlet/tur-0.prevent-window-open.js +6 -2
- 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 +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 +5 -1
- 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 +3 -3
- 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 +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 +1 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.href-sanitizer.js +2 -2
- 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 +31 -13
- 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 +1 -1
- 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 +26 -12
- package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.noeval-if.js +6 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.prevent-fetch.js +7 -3
- package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.prevent-requestAnimationFrame.js +8 -4
- 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 +1 -1
- 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-attr.js +2 -2
- 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 +1 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.spoof-css.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-click-element.js +86 -75
- 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-request.js +941 -0
- package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-json-edit-fetch-response.js +31 -13
- package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-json-edit.js +869 -0
- 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 +7 -3
- 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 +7 -3
- 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.addEventListener-defuser.js +5 -1
- 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/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/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/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/ltu-0.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/specific/nld-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-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 +302 -143
- package/extensions/ublocklite/rulesets/strictblock/adguard-mobile.json +6 -0
- package/extensions/ublocklite/rulesets/strictblock/annoyances-others.json +1 -0
- package/extensions/ublocklite/rulesets/strictblock/chn-0.json +289 -2
- package/extensions/ublocklite/rulesets/strictblock/easylist.json +1 -1
- package/extensions/ublocklite/rulesets/strictblock/easyprivacy.json +79 -3
- package/extensions/ublocklite/rulesets/strictblock/idn-0.json +2 -0
- package/extensions/ublocklite/rulesets/strictblock/irn-0.json +4 -1
- package/extensions/ublocklite/rulesets/strictblock/isr-0.json +1 -0
- package/extensions/ublocklite/rulesets/strictblock/ita-0.json +1 -0
- package/extensions/ublocklite/rulesets/strictblock/jpn-1.json +205 -186
- package/extensions/ublocklite/rulesets/strictblock/nor-0.json +1 -1
- package/extensions/ublocklite/rulesets/strictblock/pgl.json +30 -6
- package/extensions/ublocklite/rulesets/strictblock/pol-0.json +4 -0
- package/extensions/ublocklite/rulesets/strictblock/rou-1.json +1 -0
- package/extensions/ublocklite/rulesets/strictblock/stevenblack-hosts.json +10500 -90447
- package/extensions/ublocklite/rulesets/strictblock/swe-1.json +0 -3
- package/extensions/ublocklite/rulesets/strictblock/ublock-badware.json +657 -650
- 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 +2103 -582
- package/extensions/ublocklite/rulesets/strictblock/vie-1.json +0 -3
- package/extensions/ublocklite/rulesets/urlskip/ublock-filters.json +31 -1
- package/extensions/ublocklite/ublock.zip +0 -0
- package/extensions/ublocklite/web_accessible_resources/google-ima.js +14 -7
- package/package.json +15 -14
- package/scripts/install-debugger.js +2 -2
- package/src/browsers/index.ts +25 -4
- package/src/http.ts +3 -2
- package/src/routes/chrome/tests/content.spec.ts +24 -0
- package/src/routes/chrome/tests/json.spec.ts +134 -0
- package/src/routes/chrome/tests/kill-sessions.spec.ts +0 -10
- package/src/routes/chrome/ws/function-connect.ts +12 -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/chromium/ws/function-connect.ts +1 -0
- package/src/routes/edge/tests/content.spec.ts +24 -0
- package/src/routes/edge/tests/json.spec.ts +134 -0
- package/src/routes/edge/ws/function-connect.ts +12 -0
- package/src/routes/management/tests/management.spec.ts +66 -0
- package/src/sdk-utils.ts +1 -1
- package/src/server.ts +1 -1
- package/src/shared/function-connect.ws.ts +38 -0
- package/src/shared/screenshot.http.ts +1 -1
- package/src/shared/utils/function/handler.ts +11 -6
- package/src/shim.spec.ts +18 -0
- package/src/shim.ts +15 -1
- package/src/types.ts +6 -0
- package/static/docs/swagger.json +107 -2
- package/static/docs/swagger.min.json +106 -1
- package/static/function/client.js +99 -111
- package/static/function/index.html +99 -111
- 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
|
@@ -4430,7 +4430,7 @@
|
|
|
4430
4430
|
// node_modules/puppeteer-core/lib/esm/puppeteer/generated/version.js
|
|
4431
4431
|
init_dirname();
|
|
4432
4432
|
init_buffer2();
|
|
4433
|
-
var packageVersion = "24.
|
|
4433
|
+
var packageVersion = "24.23.0";
|
|
4434
4434
|
|
|
4435
4435
|
// node_modules/puppeteer-core/lib/esm/puppeteer/util/assert.js
|
|
4436
4436
|
init_dirname();
|
|
@@ -7407,14 +7407,12 @@
|
|
|
7407
7407
|
* import {KnownDevices} from 'puppeteer';
|
|
7408
7408
|
* const iPhone = KnownDevices['iPhone 15 Pro'];
|
|
7409
7409
|
*
|
|
7410
|
-
*
|
|
7411
|
-
*
|
|
7412
|
-
*
|
|
7413
|
-
*
|
|
7414
|
-
*
|
|
7415
|
-
*
|
|
7416
|
-
* await browser.close();
|
|
7417
|
-
* })();
|
|
7410
|
+
* const browser = await puppeteer.launch();
|
|
7411
|
+
* const page = await browser.newPage();
|
|
7412
|
+
* await page.emulate(iPhone);
|
|
7413
|
+
* await page.goto('https://www.google.com');
|
|
7414
|
+
* // other actions...
|
|
7415
|
+
* await browser.close();
|
|
7418
7416
|
* ```
|
|
7419
7417
|
*/
|
|
7420
7418
|
async emulate(device) {
|
|
@@ -7955,22 +7953,21 @@
|
|
|
7955
7953
|
*
|
|
7956
7954
|
* ```ts
|
|
7957
7955
|
* import puppeteer from 'puppeteer';
|
|
7958
|
-
*
|
|
7959
|
-
*
|
|
7960
|
-
*
|
|
7961
|
-
*
|
|
7962
|
-
*
|
|
7963
|
-
*
|
|
7964
|
-
*
|
|
7965
|
-
*
|
|
7966
|
-
*
|
|
7967
|
-
*
|
|
7968
|
-
*
|
|
7969
|
-
*
|
|
7970
|
-
*
|
|
7971
|
-
*
|
|
7972
|
-
*
|
|
7973
|
-
* })();
|
|
7956
|
+
*
|
|
7957
|
+
* const browser = await puppeteer.launch();
|
|
7958
|
+
* const page = await browser.newPage();
|
|
7959
|
+
* let currentURL;
|
|
7960
|
+
* page
|
|
7961
|
+
* .waitForSelector('img')
|
|
7962
|
+
* .then(() => console.log('First URL with image: ' + currentURL));
|
|
7963
|
+
* for (currentURL of [
|
|
7964
|
+
* 'https://example.com',
|
|
7965
|
+
* 'https://google.com',
|
|
7966
|
+
* 'https://bbc.com',
|
|
7967
|
+
* ]) {
|
|
7968
|
+
* await page.goto(currentURL);
|
|
7969
|
+
* }
|
|
7970
|
+
* await browser.close();
|
|
7974
7971
|
* ```
|
|
7975
7972
|
*
|
|
7976
7973
|
* @param selector -
|
|
@@ -8020,14 +8017,13 @@
|
|
|
8020
8017
|
*
|
|
8021
8018
|
* ```ts
|
|
8022
8019
|
* import puppeteer from 'puppeteer';
|
|
8023
|
-
*
|
|
8024
|
-
*
|
|
8025
|
-
*
|
|
8026
|
-
*
|
|
8027
|
-
*
|
|
8028
|
-
*
|
|
8029
|
-
*
|
|
8030
|
-
* })();
|
|
8020
|
+
*
|
|
8021
|
+
* const browser = await puppeteer.launch();
|
|
8022
|
+
* const page = await browser.newPage();
|
|
8023
|
+
* const watchDog = page.waitForFunction('window.innerWidth < 100');
|
|
8024
|
+
* await page.setViewport({width: 50, height: 50});
|
|
8025
|
+
* await watchDog;
|
|
8026
|
+
* await browser.close();
|
|
8031
8027
|
* ```
|
|
8032
8028
|
*
|
|
8033
8029
|
* @example
|
|
@@ -9941,25 +9937,19 @@
|
|
|
9941
9937
|
};
|
|
9942
9938
|
function stringifyFunction(fn) {
|
|
9943
9939
|
let value = fn.toString();
|
|
9944
|
-
|
|
9945
|
-
|
|
9946
|
-
} catch (err) {
|
|
9947
|
-
if (err.message.includes(`Refused to evaluate a string as JavaScript because 'unsafe-eval' is not an allowed source of script in the following Content Security Policy directive`) || err.message.includes("Evaluating a string as JavaScript violates the following Content Security Policy")) {
|
|
9948
|
-
return value;
|
|
9949
|
-
}
|
|
9950
|
-
let prefix = "function ";
|
|
9951
|
-
if (value.startsWith("async ")) {
|
|
9952
|
-
prefix = `async ${prefix}`;
|
|
9953
|
-
value = value.substring("async ".length);
|
|
9954
|
-
}
|
|
9955
|
-
value = `${prefix}${value}`;
|
|
9956
|
-
try {
|
|
9957
|
-
new Function(`(${value})`);
|
|
9958
|
-
} catch {
|
|
9959
|
-
throw new Error("Passed function cannot be serialized!");
|
|
9960
|
-
}
|
|
9940
|
+
if (value.match(/^(async )*function(\(|\s)/) || value.match(/^(async )*function\s*\*\s*/)) {
|
|
9941
|
+
return value;
|
|
9961
9942
|
}
|
|
9962
|
-
|
|
9943
|
+
const isArrow = value.startsWith("(") || value.match(/^async\s*\(/) || value.match(/^(async)*\s*(?:[$_\p{ID_Start}])(?:[$\u200C\u200D\p{ID_Continue}])*\s*=>/u);
|
|
9944
|
+
if (isArrow) {
|
|
9945
|
+
return value;
|
|
9946
|
+
}
|
|
9947
|
+
let prefix = "function ";
|
|
9948
|
+
if (value.startsWith("async ")) {
|
|
9949
|
+
prefix = `async ${prefix}`;
|
|
9950
|
+
value = value.substring("async ".length);
|
|
9951
|
+
}
|
|
9952
|
+
return `${prefix}${value}`;
|
|
9963
9953
|
}
|
|
9964
9954
|
var interpolateFunction = (fn, replacements) => {
|
|
9965
9955
|
let value = stringifyFunction(fn);
|
|
@@ -10381,7 +10371,7 @@
|
|
|
10381
10371
|
// node_modules/puppeteer-core/lib/esm/puppeteer/generated/injected.js
|
|
10382
10372
|
init_dirname();
|
|
10383
10373
|
init_buffer2();
|
|
10384
|
-
var source = '"use strict";var g=Object.defineProperty;var X=Object.getOwnPropertyDescriptor;var B=Object.getOwnPropertyNames;var
|
|
10374
|
+
var source = '"use strict";var g=Object.defineProperty;var X=Object.getOwnPropertyDescriptor;var B=Object.getOwnPropertyNames;var Y=Object.prototype.hasOwnProperty;var l=(t,e)=>{for(var r in e)g(t,r,{get:e[r],enumerable:!0})},G=(t,e,r,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of B(e))!Y.call(t,s)&&s!==r&&g(t,s,{get:()=>e[s],enumerable:!(o=X(e,s))||o.enumerable});return t};var J=t=>G(g({},"__esModule",{value:!0}),t);var pe={};l(pe,{default:()=>he});module.exports=J(pe);var N=class extends Error{constructor(e,r){super(e,r),this.name=this.constructor.name}get[Symbol.toStringTag](){return this.constructor.name}},p=class extends N{};var c=class t{static create(e){return new t(e)}static async race(e){let r=new Set;try{let o=e.map(s=>s instanceof t?(s.#s&&r.add(s),s.valueOrThrow()):s);return await Promise.race(o)}finally{for(let o of r)o.reject(new Error("Timeout cleared"))}}#e=!1;#r=!1;#o;#t;#a=new Promise(e=>{this.#t=e});#s;#i;constructor(e){e&&e.timeout>0&&(this.#i=new p(e.message),this.#s=setTimeout(()=>{this.reject(this.#i)},e.timeout))}#l(e){clearTimeout(this.#s),this.#o=e,this.#t()}resolve(e){this.#r||this.#e||(this.#e=!0,this.#l(e))}reject(e){this.#r||this.#e||(this.#r=!0,this.#l(e))}resolved(){return this.#e}finished(){return this.#e||this.#r}value(){return this.#o}#n;valueOrThrow(){return this.#n||(this.#n=(async()=>{if(await this.#a,this.#r)throw this.#o;return this.#o})()),this.#n}};var L=new Map,W=t=>{let e=L.get(t);return e||(e=new Function(`return ${t}`)(),L.set(t,e),e)};var b={};l(b,{ariaQuerySelector:()=>z,ariaQuerySelectorAll:()=>x});var z=(t,e)=>globalThis.__ariaQuerySelector(t,e),x=async function*(t,e){yield*await globalThis.__ariaQuerySelectorAll(t,e)};var E={};l(E,{cssQuerySelector:()=>K,cssQuerySelectorAll:()=>Z});var K=(t,e)=>t.querySelector(e),Z=function(t,e){return t.querySelectorAll(e)};var A={};l(A,{customQuerySelectors:()=>P});var v=class{#e=new Map;register(e,r){if(!r.queryOne&&r.queryAll){let o=r.queryAll;r.queryOne=(s,i)=>{for(let n of o(s,i))return n;return null}}else if(r.queryOne&&!r.queryAll){let o=r.queryOne;r.queryAll=(s,i)=>{let n=o(s,i);return n?[n]:[]}}else if(!r.queryOne||!r.queryAll)throw new Error("At least one query method must be defined.");this.#e.set(e,{querySelector:r.queryOne,querySelectorAll:r.queryAll})}unregister(e){this.#e.delete(e)}get(e){return this.#e.get(e)}clear(){this.#e.clear()}},P=new v;var R={};l(R,{pierceQuerySelector:()=>ee,pierceQuerySelectorAll:()=>te});var ee=(t,e)=>{let r=null,o=s=>{let i=document.createTreeWalker(s,NodeFilter.SHOW_ELEMENT);do{let n=i.currentNode;n.shadowRoot&&o(n.shadowRoot),!(n instanceof ShadowRoot)&&n!==s&&!r&&n.matches(e)&&(r=n)}while(!r&&i.nextNode())};return t instanceof Document&&(t=t.documentElement),o(t),r},te=(t,e)=>{let r=[],o=s=>{let i=document.createTreeWalker(s,NodeFilter.SHOW_ELEMENT);do{let n=i.currentNode;n.shadowRoot&&o(n.shadowRoot),!(n instanceof ShadowRoot)&&n!==s&&n.matches(e)&&r.push(n)}while(i.nextNode())};return t instanceof Document&&(t=t.documentElement),o(t),r};var u=(t,e)=>{if(!t)throw new Error(e)};var y=class{#e;#r;#o;#t;constructor(e,r){this.#e=e,this.#r=r}async start(){let e=this.#t=c.create(),r=await this.#e();if(r){e.resolve(r);return}this.#o=new MutationObserver(async()=>{let o=await this.#e();o&&(e.resolve(o),await this.stop())}),this.#o.observe(this.#r,{childList:!0,subtree:!0,attributes:!0})}async stop(){u(this.#t,"Polling never started."),this.#t.finished()||this.#t.reject(new Error("Polling stopped")),this.#o&&(this.#o.disconnect(),this.#o=void 0)}result(){return u(this.#t,"Polling never started."),this.#t.valueOrThrow()}},w=class{#e;#r;constructor(e){this.#e=e}async start(){let e=this.#r=c.create(),r=await this.#e();if(r){e.resolve(r);return}let o=async()=>{if(e.finished())return;let s=await this.#e();if(!s){window.requestAnimationFrame(o);return}e.resolve(s),await this.stop()};window.requestAnimationFrame(o)}async stop(){u(this.#r,"Polling never started."),this.#r.finished()||this.#r.reject(new Error("Polling stopped"))}result(){return u(this.#r,"Polling never started."),this.#r.valueOrThrow()}},T=class{#e;#r;#o;#t;constructor(e,r){this.#e=e,this.#r=r}async start(){let e=this.#t=c.create(),r=await this.#e();if(r){e.resolve(r);return}this.#o=setInterval(async()=>{let o=await this.#e();o&&(e.resolve(o),await this.stop())},this.#r)}async stop(){u(this.#t,"Polling never started."),this.#t.finished()||this.#t.reject(new Error("Polling stopped")),this.#o&&(clearInterval(this.#o),this.#o=void 0)}result(){return u(this.#t,"Polling never started."),this.#t.valueOrThrow()}};var _={};l(_,{PCombinator:()=>H,pQuerySelector:()=>fe,pQuerySelectorAll:()=>$});var a=class{static async*map(e,r){for await(let o of e)yield await r(o)}static async*flatMap(e,r){for await(let o of e)yield*r(o)}static async collect(e){let r=[];for await(let o of e)r.push(o);return r}static async first(e){for await(let r of e)return r}};var C={};l(C,{textQuerySelectorAll:()=>m});var re=new Set(["checkbox","image","radio"]),oe=t=>t instanceof HTMLSelectElement||t instanceof HTMLTextAreaElement||t instanceof HTMLInputElement&&!re.has(t.type),se=new Set(["SCRIPT","STYLE"]),f=t=>!se.has(t.nodeName)&&!document.head?.contains(t),I=new WeakMap,F=t=>{for(;t;)I.delete(t),t instanceof ShadowRoot?t=t.host:t=t.parentNode},j=new WeakSet,ne=new MutationObserver(t=>{for(let e of t)F(e.target)}),d=t=>{let e=I.get(t);if(e||(e={full:"",immediate:[]},!f(t)))return e;let r="";if(oe(t))e.full=t.value,e.immediate.push(t.value),t.addEventListener("input",o=>{F(o.target)},{once:!0,capture:!0});else{for(let o=t.firstChild;o;o=o.nextSibling){if(o.nodeType===Node.TEXT_NODE){e.full+=o.nodeValue??"",r+=o.nodeValue??"";continue}r&&e.immediate.push(r),r="",o.nodeType===Node.ELEMENT_NODE&&(e.full+=d(o).full)}r&&e.immediate.push(r),t instanceof Element&&t.shadowRoot&&(e.full+=d(t.shadowRoot).full),j.has(t)||(ne.observe(t,{childList:!0,characterData:!0,subtree:!0}),j.add(t))}return I.set(t,e),e};var m=function*(t,e){let r=!1;for(let o of t.childNodes)if(o instanceof Element&&f(o)){let s;o.shadowRoot?s=m(o.shadowRoot,e):s=m(o,e);for(let i of s)yield i,r=!0}r||t instanceof Element&&f(t)&&d(t).full.includes(e)&&(yield t)};var k={};l(k,{checkVisibility:()=>le,pierce:()=>S,pierceAll:()=>O});var ie=["hidden","collapse"],le=(t,e)=>{if(!t)return e===!1;if(e===void 0)return t;let r=t.nodeType===Node.TEXT_NODE?t.parentElement:t,o=window.getComputedStyle(r),s=o&&!ie.includes(o.visibility)&&!ae(r);return e===s?t:!1};function ae(t){let e=t.getBoundingClientRect();return e.width===0||e.height===0}var ce=t=>"shadowRoot"in t&&t.shadowRoot instanceof ShadowRoot;function*S(t){ce(t)?yield t.shadowRoot:yield t}function*O(t){t=S(t).next().value,yield t;let e=[document.createTreeWalker(t,NodeFilter.SHOW_ELEMENT)];for(let r of e){let o;for(;o=r.nextNode();)o.shadowRoot&&(yield o.shadowRoot,e.push(document.createTreeWalker(o.shadowRoot,NodeFilter.SHOW_ELEMENT)))}}var D={};l(D,{xpathQuerySelectorAll:()=>q});var q=function*(t,e,r=-1){let s=(t.ownerDocument||document).evaluate(e,t,null,XPathResult.ORDERED_NODE_ITERATOR_TYPE),i=[],n;for(;(n=s.iterateNext())&&(i.push(n),!(r&&i.length===r)););for(let h=0;h<i.length;h++)n=i[h],yield n,delete i[h]};var ue=/[-\\w\\P{ASCII}*]/u,H=(r=>(r.Descendent=">>>",r.Child=">>>>",r))(H||{}),V=t=>"querySelectorAll"in t,Q=class{#e;#r=[];#o=void 0;elements;constructor(e,r){this.elements=[e],this.#e=r,this.#t()}async run(){if(typeof this.#o=="string")switch(this.#o.trimStart()){case":scope":this.#t();break}for(;this.#o!==void 0;this.#t()){let e=this.#o;typeof e=="string"?e[0]&&ue.test(e[0])?this.elements=a.flatMap(this.elements,async function*(r){V(r)&&(yield*r.querySelectorAll(e))}):this.elements=a.flatMap(this.elements,async function*(r){if(!r.parentElement){if(!V(r))return;yield*r.querySelectorAll(e);return}let o=0;for(let s of r.parentElement.children)if(++o,s===r)break;yield*r.parentElement.querySelectorAll(`:scope>:nth-child(${o})${e}`)}):this.elements=a.flatMap(this.elements,async function*(r){switch(e.name){case"text":yield*m(r,e.value);break;case"xpath":yield*q(r,e.value);break;case"aria":yield*x(r,e.value);break;default:let o=P.get(e.name);if(!o)throw new Error(`Unknown selector type: ${e.name}`);yield*o.querySelectorAll(r,e.value)}})}}#t(){if(this.#r.length!==0){this.#o=this.#r.shift();return}if(this.#e.length===0){this.#o=void 0;return}let e=this.#e.shift();switch(e){case">>>>":{this.elements=a.flatMap(this.elements,S),this.#t();break}case">>>":{this.elements=a.flatMap(this.elements,O),this.#t();break}default:this.#r=e,this.#t();break}}},M=class{#e=new WeakMap;calculate(e,r=[]){if(e===null)return r;e instanceof ShadowRoot&&(e=e.host);let o=this.#e.get(e);if(o)return[...o,...r];let s=0;for(let n=e.previousSibling;n;n=n.previousSibling)++s;let i=this.calculate(e.parentNode,[s]);return this.#e.set(e,i),[...i,...r]}},U=(t,e)=>{if(t.length+e.length===0)return 0;let[r=-1,...o]=t,[s=-1,...i]=e;return r===s?U(o,i):r<s?-1:1},de=async function*(t){let e=new Set;for await(let o of t)e.add(o);let r=new M;yield*[...e.values()].map(o=>[o,r.calculate(o)]).sort(([,o],[,s])=>U(o,s)).map(([o])=>o)},$=function(t,e){let r=JSON.parse(e);if(r.some(o=>{let s=0;return o.some(i=>(typeof i=="string"?++s:s=0,s>1))}))throw new Error("Multiple deep combinators found in sequence.");return de(a.flatMap(r,o=>{let s=new Q(t,o);return s.run(),s.elements}))},fe=async function(t,e){for await(let r of $(t,e))return r;return null};var me=Object.freeze({...b,...A,...R,..._,...C,...k,...D,...E,Deferred:c,createFunction:W,createTextContent:d,IntervalPoller:T,isSuitableNodeForTextMatching:f,MutationPoller:y,RAFPoller:w}),he=me;\n';
|
|
10385
10375
|
|
|
10386
10376
|
// node_modules/puppeteer-core/lib/esm/puppeteer/common/ScriptInjector.js
|
|
10387
10377
|
var ScriptInjector = class {
|
|
@@ -11302,24 +11292,22 @@
|
|
|
11302
11292
|
* ```ts
|
|
11303
11293
|
* import puppeteer from 'puppeteer';
|
|
11304
11294
|
*
|
|
11305
|
-
*
|
|
11306
|
-
*
|
|
11307
|
-
*
|
|
11308
|
-
*
|
|
11309
|
-
*
|
|
11310
|
-
*
|
|
11311
|
-
*
|
|
11312
|
-
* .then(() => console.log('First URL with image: ' + currentURL));
|
|
11295
|
+
* const browser = await puppeteer.launch();
|
|
11296
|
+
* const page = await browser.newPage();
|
|
11297
|
+
* let currentURL;
|
|
11298
|
+
* page
|
|
11299
|
+
* .mainFrame()
|
|
11300
|
+
* .waitForSelector('img')
|
|
11301
|
+
* .then(() => console.log('First URL with image: ' + currentURL));
|
|
11313
11302
|
*
|
|
11314
|
-
*
|
|
11315
|
-
*
|
|
11316
|
-
*
|
|
11317
|
-
*
|
|
11318
|
-
*
|
|
11319
|
-
*
|
|
11320
|
-
*
|
|
11321
|
-
*
|
|
11322
|
-
* })();
|
|
11303
|
+
* for (currentURL of [
|
|
11304
|
+
* 'https://example.com',
|
|
11305
|
+
* 'https://google.com',
|
|
11306
|
+
* 'https://bbc.com',
|
|
11307
|
+
* ]) {
|
|
11308
|
+
* await page.goto(currentURL);
|
|
11309
|
+
* }
|
|
11310
|
+
* await browser.close();
|
|
11323
11311
|
* ```
|
|
11324
11312
|
*
|
|
11325
11313
|
* @param selector - The selector to query and wait for.
|
|
@@ -11341,14 +11329,14 @@
|
|
|
11341
11329
|
* ```ts
|
|
11342
11330
|
* import puppeteer from 'puppeteer';
|
|
11343
11331
|
*
|
|
11344
|
-
*
|
|
11345
|
-
*
|
|
11346
|
-
*
|
|
11347
|
-
*
|
|
11348
|
-
*
|
|
11349
|
-
* .
|
|
11350
|
-
*
|
|
11351
|
-
*
|
|
11332
|
+
* const browser = await puppeteer.launch();
|
|
11333
|
+
* const page = await browser.newPage();
|
|
11334
|
+
* const watchDog = page
|
|
11335
|
+
* .mainFrame()
|
|
11336
|
+
* .waitForFunction('window.innerWidth < 100');
|
|
11337
|
+
* page.setViewport({width: 50, height: 50});
|
|
11338
|
+
* await watchDog;
|
|
11339
|
+
* await browser.close();
|
|
11352
11340
|
* ```
|
|
11353
11341
|
*
|
|
11354
11342
|
* To pass arguments from Node.js to the predicate of `page.waitForFunction` function:
|
|
@@ -12378,9 +12366,10 @@
|
|
|
12378
12366
|
*
|
|
12379
12367
|
* ```ts
|
|
12380
12368
|
* const feedHandle = await page.$('.feed');
|
|
12381
|
-
*
|
|
12382
|
-
*
|
|
12383
|
-
*
|
|
12369
|
+
*
|
|
12370
|
+
* const listOfTweets = await feedHandle.$$eval('.tweet', nodes =>
|
|
12371
|
+
* nodes.map(n => n.innerText),
|
|
12372
|
+
* );
|
|
12384
12373
|
* ```
|
|
12385
12374
|
*
|
|
12386
12375
|
* @param selector -
|
|
@@ -12438,24 +12427,22 @@
|
|
|
12438
12427
|
* ```ts
|
|
12439
12428
|
* import puppeteer from 'puppeteer';
|
|
12440
12429
|
*
|
|
12441
|
-
*
|
|
12442
|
-
*
|
|
12443
|
-
*
|
|
12444
|
-
*
|
|
12445
|
-
*
|
|
12446
|
-
*
|
|
12447
|
-
*
|
|
12448
|
-
* .then(() => console.log('First URL with image: ' + currentURL));
|
|
12430
|
+
* const browser = await puppeteer.launch();
|
|
12431
|
+
* const page = await browser.newPage();
|
|
12432
|
+
* let currentURL;
|
|
12433
|
+
* page
|
|
12434
|
+
* .mainFrame()
|
|
12435
|
+
* .waitForSelector('img')
|
|
12436
|
+
* .then(() => console.log('First URL with image: ' + currentURL));
|
|
12449
12437
|
*
|
|
12450
|
-
*
|
|
12451
|
-
*
|
|
12452
|
-
*
|
|
12453
|
-
*
|
|
12454
|
-
*
|
|
12455
|
-
*
|
|
12456
|
-
*
|
|
12457
|
-
*
|
|
12458
|
-
* })();
|
|
12438
|
+
* for (currentURL of [
|
|
12439
|
+
* 'https://example.com',
|
|
12440
|
+
* 'https://google.com',
|
|
12441
|
+
* 'https://bbc.com',
|
|
12442
|
+
* ]) {
|
|
12443
|
+
* await page.goto(currentURL);
|
|
12444
|
+
* }
|
|
12445
|
+
* await browser.close();
|
|
12459
12446
|
* ```
|
|
12460
12447
|
*
|
|
12461
12448
|
* @param selector - The selector to query and wait for.
|
|
@@ -15480,7 +15467,6 @@ ${sourceUrlComment}
|
|
|
15480
15467
|
* `respond()` aren't called).
|
|
15481
15468
|
*/
|
|
15482
15469
|
continueRequestOverrides() {
|
|
15483
|
-
assert(this.interception.enabled, "Request Interception is not enabled!");
|
|
15484
15470
|
return this.interception.requestOverrides;
|
|
15485
15471
|
}
|
|
15486
15472
|
/**
|
|
@@ -15488,14 +15474,12 @@ ${sourceUrlComment}
|
|
|
15488
15474
|
* interception is allowed to respond (ie, `abort()` is not called).
|
|
15489
15475
|
*/
|
|
15490
15476
|
responseForRequest() {
|
|
15491
|
-
assert(this.interception.enabled, "Request Interception is not enabled!");
|
|
15492
15477
|
return this.interception.response;
|
|
15493
15478
|
}
|
|
15494
15479
|
/**
|
|
15495
15480
|
* The most recent reason for aborting the request
|
|
15496
15481
|
*/
|
|
15497
15482
|
abortErrorReason() {
|
|
15498
|
-
assert(this.interception.enabled, "Request Interception is not enabled!");
|
|
15499
15483
|
return this.interception.abortReason;
|
|
15500
15484
|
}
|
|
15501
15485
|
/**
|
|
@@ -15556,8 +15540,12 @@ ${sourceUrlComment}
|
|
|
15556
15540
|
return await this._continue(this.interception.requestOverrides);
|
|
15557
15541
|
}
|
|
15558
15542
|
}
|
|
15559
|
-
|
|
15560
|
-
|
|
15543
|
+
/**
|
|
15544
|
+
* @internal
|
|
15545
|
+
*/
|
|
15546
|
+
verifyInterception() {
|
|
15547
|
+
assert(this.interception.enabled, "Request Interception is not enabled!");
|
|
15548
|
+
assert(!this.interception.handled, "Request is already handled!");
|
|
15561
15549
|
}
|
|
15562
15550
|
/**
|
|
15563
15551
|
* Continues request with optional request overrides.
|
|
@@ -15588,11 +15576,10 @@ ${sourceUrlComment}
|
|
|
15588
15576
|
* Exception is immediately thrown if the request interception is not enabled.
|
|
15589
15577
|
*/
|
|
15590
15578
|
async continue(overrides = {}, priority) {
|
|
15591
|
-
|
|
15579
|
+
this.verifyInterception();
|
|
15580
|
+
if (!this.canBeIntercepted()) {
|
|
15592
15581
|
return;
|
|
15593
15582
|
}
|
|
15594
|
-
assert(this.interception.enabled, "Request Interception is not enabled!");
|
|
15595
|
-
assert(!this.interception.handled, "Request is already handled!");
|
|
15596
15583
|
if (priority === void 0) {
|
|
15597
15584
|
return await this._continue(overrides);
|
|
15598
15585
|
}
|
|
@@ -15645,11 +15632,10 @@ ${sourceUrlComment}
|
|
|
15645
15632
|
* Exception is immediately thrown if the request interception is not enabled.
|
|
15646
15633
|
*/
|
|
15647
15634
|
async respond(response, priority) {
|
|
15648
|
-
|
|
15635
|
+
this.verifyInterception();
|
|
15636
|
+
if (!this.canBeIntercepted()) {
|
|
15649
15637
|
return;
|
|
15650
15638
|
}
|
|
15651
|
-
assert(this.interception.enabled, "Request Interception is not enabled!");
|
|
15652
|
-
assert(!this.interception.handled, "Request is already handled!");
|
|
15653
15639
|
if (priority === void 0) {
|
|
15654
15640
|
return await this._respond(response);
|
|
15655
15641
|
}
|
|
@@ -15683,13 +15669,12 @@ ${sourceUrlComment}
|
|
|
15683
15669
|
* throw an exception immediately.
|
|
15684
15670
|
*/
|
|
15685
15671
|
async abort(errorCode = "failed", priority) {
|
|
15686
|
-
|
|
15672
|
+
this.verifyInterception();
|
|
15673
|
+
if (!this.canBeIntercepted()) {
|
|
15687
15674
|
return;
|
|
15688
15675
|
}
|
|
15689
15676
|
const errorReason = errorReasons[errorCode];
|
|
15690
15677
|
assert(errorReason, "Unknown error code: " + errorCode);
|
|
15691
|
-
assert(this.interception.enabled, "Request Interception is not enabled!");
|
|
15692
|
-
assert(!this.interception.handled, "Request is already handled!");
|
|
15693
15678
|
if (priority === void 0) {
|
|
15694
15679
|
return await this._abort(errorReason);
|
|
15695
15680
|
}
|
|
@@ -15914,6 +15899,9 @@ ${sourceUrlComment}
|
|
|
15914
15899
|
errorText: this._failureText
|
|
15915
15900
|
};
|
|
15916
15901
|
}
|
|
15902
|
+
canBeIntercepted() {
|
|
15903
|
+
return !this.url().startsWith("data:") && !this._fromMemoryCache;
|
|
15904
|
+
}
|
|
15917
15905
|
/**
|
|
15918
15906
|
* @internal
|
|
15919
15907
|
*/
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import { Browserless, Config, Metrics } from '@browserless.io/browserless';
|
|
2
|
-
import { expect } from 'chai';
|
|
3
|
-
describe('/json/version API', function () {
|
|
4
|
-
let browserless;
|
|
5
|
-
const start = ({ config = new Config(), metrics = new Metrics(), } = {}) => {
|
|
6
|
-
browserless = new Browserless({ config, metrics });
|
|
7
|
-
return browserless.start();
|
|
8
|
-
};
|
|
9
|
-
afterEach(async () => {
|
|
10
|
-
await browserless.stop();
|
|
11
|
-
});
|
|
12
|
-
it('allows requests to /json/version', async () => {
|
|
13
|
-
const config = new Config();
|
|
14
|
-
config.setToken('browserless');
|
|
15
|
-
const metrics = new Metrics();
|
|
16
|
-
await start({ config, metrics });
|
|
17
|
-
const res = await fetch('http://localhost:3000/json/version?token=browserless');
|
|
18
|
-
const resJSON = await res.json();
|
|
19
|
-
[
|
|
20
|
-
'Browser',
|
|
21
|
-
'Protocol-Version',
|
|
22
|
-
'User-Agent',
|
|
23
|
-
'V8-Version',
|
|
24
|
-
'WebKit-Version',
|
|
25
|
-
'webSocketDebuggerUrl',
|
|
26
|
-
'Debugger-Version',
|
|
27
|
-
].forEach((k) => expect(resJSON).to.haveOwnProperty(k));
|
|
28
|
-
});
|
|
29
|
-
it('rejects unauthorized requests to /json/version', async () => {
|
|
30
|
-
const config = new Config();
|
|
31
|
-
config.setToken('browserless');
|
|
32
|
-
const metrics = new Metrics();
|
|
33
|
-
await start({ config, metrics });
|
|
34
|
-
const res = await fetch('http://localhost:3000/json/version?token=imabadboi');
|
|
35
|
-
expect(res.status).to.equal(401);
|
|
36
|
-
});
|
|
37
|
-
});
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import { Browserless, Config, Metrics } from '@browserless.io/browserless';
|
|
2
|
-
import { expect } from 'chai';
|
|
3
|
-
describe('/json/version API', function () {
|
|
4
|
-
let browserless;
|
|
5
|
-
const start = ({ config = new Config(), metrics = new Metrics(), } = {}) => {
|
|
6
|
-
browserless = new Browserless({ config, metrics });
|
|
7
|
-
return browserless.start();
|
|
8
|
-
};
|
|
9
|
-
afterEach(async () => {
|
|
10
|
-
await browserless.stop();
|
|
11
|
-
});
|
|
12
|
-
it('allows requests to /json/version', async () => {
|
|
13
|
-
const config = new Config();
|
|
14
|
-
config.setToken('browserless');
|
|
15
|
-
const metrics = new Metrics();
|
|
16
|
-
await start({ config, metrics });
|
|
17
|
-
const res = await fetch('http://localhost:3000/json/version?token=browserless');
|
|
18
|
-
const resJSON = await res.json();
|
|
19
|
-
[
|
|
20
|
-
'Browser',
|
|
21
|
-
'Protocol-Version',
|
|
22
|
-
'User-Agent',
|
|
23
|
-
'V8-Version',
|
|
24
|
-
'WebKit-Version',
|
|
25
|
-
'webSocketDebuggerUrl',
|
|
26
|
-
'Debugger-Version',
|
|
27
|
-
].forEach((k) => expect(resJSON).to.haveOwnProperty(k));
|
|
28
|
-
});
|
|
29
|
-
it('rejects unauthorized requests to /json/version', async () => {
|
|
30
|
-
const config = new Config();
|
|
31
|
-
config.setToken('browserless');
|
|
32
|
-
const metrics = new Metrics();
|
|
33
|
-
await start({ config, metrics });
|
|
34
|
-
const res = await fetch('http://localhost:3000/json/version?token=imabadboi');
|
|
35
|
-
expect(res.status).to.equal(401);
|
|
36
|
-
});
|
|
37
|
-
});
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import { Browserless, Config, Metrics } from '@browserless.io/browserless';
|
|
2
|
-
import { expect } from 'chai';
|
|
3
|
-
describe('/json/version API', function () {
|
|
4
|
-
let browserless;
|
|
5
|
-
const start = ({ config = new Config(), metrics = new Metrics(), } = {}) => {
|
|
6
|
-
browserless = new Browserless({ config, metrics });
|
|
7
|
-
return browserless.start();
|
|
8
|
-
};
|
|
9
|
-
afterEach(async () => {
|
|
10
|
-
await browserless.stop();
|
|
11
|
-
});
|
|
12
|
-
it('allows requests to /json/version', async () => {
|
|
13
|
-
const config = new Config();
|
|
14
|
-
config.setToken('browserless');
|
|
15
|
-
const metrics = new Metrics();
|
|
16
|
-
await start({ config, metrics });
|
|
17
|
-
const res = await fetch('http://localhost:3000/json/version?token=browserless');
|
|
18
|
-
const resJSON = await res.json();
|
|
19
|
-
[
|
|
20
|
-
'Browser',
|
|
21
|
-
'Protocol-Version',
|
|
22
|
-
'User-Agent',
|
|
23
|
-
'V8-Version',
|
|
24
|
-
'WebKit-Version',
|
|
25
|
-
'webSocketDebuggerUrl',
|
|
26
|
-
'Debugger-Version',
|
|
27
|
-
].forEach((k) => expect(resJSON).to.haveOwnProperty(k));
|
|
28
|
-
});
|
|
29
|
-
it('rejects unauthorized requests to /json/version', async () => {
|
|
30
|
-
const config = new Config();
|
|
31
|
-
config.setToken('browserless');
|
|
32
|
-
const metrics = new Metrics();
|
|
33
|
-
await start({ config, metrics });
|
|
34
|
-
const res = await fetch('http://localhost:3000/json/version?token=imabadboi');
|
|
35
|
-
expect(res.status).to.equal(401);
|
|
36
|
-
});
|
|
37
|
-
});
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
import { Browserless, Config, Metrics } from '@browserless.io/browserless';
|
|
2
|
-
import { expect } from 'chai';
|
|
3
|
-
|
|
4
|
-
describe('/json/version API', function () {
|
|
5
|
-
let browserless: Browserless;
|
|
6
|
-
|
|
7
|
-
const start = ({
|
|
8
|
-
config = new Config(),
|
|
9
|
-
metrics = new Metrics(),
|
|
10
|
-
}: { config?: Config; metrics?: Metrics } = {}) => {
|
|
11
|
-
browserless = new Browserless({ config, metrics });
|
|
12
|
-
return browserless.start();
|
|
13
|
-
};
|
|
14
|
-
|
|
15
|
-
afterEach(async () => {
|
|
16
|
-
await browserless.stop();
|
|
17
|
-
});
|
|
18
|
-
|
|
19
|
-
it('allows requests to /json/version', async () => {
|
|
20
|
-
const config = new Config();
|
|
21
|
-
config.setToken('browserless');
|
|
22
|
-
const metrics = new Metrics();
|
|
23
|
-
await start({ config, metrics });
|
|
24
|
-
|
|
25
|
-
const res = await fetch(
|
|
26
|
-
'http://localhost:3000/json/version?token=browserless',
|
|
27
|
-
);
|
|
28
|
-
const resJSON = await res.json();
|
|
29
|
-
|
|
30
|
-
[
|
|
31
|
-
'Browser',
|
|
32
|
-
'Protocol-Version',
|
|
33
|
-
'User-Agent',
|
|
34
|
-
'V8-Version',
|
|
35
|
-
'WebKit-Version',
|
|
36
|
-
'webSocketDebuggerUrl',
|
|
37
|
-
'Debugger-Version',
|
|
38
|
-
].forEach((k) => expect(resJSON).to.haveOwnProperty(k));
|
|
39
|
-
});
|
|
40
|
-
|
|
41
|
-
it('rejects unauthorized requests to /json/version', async () => {
|
|
42
|
-
const config = new Config();
|
|
43
|
-
config.setToken('browserless');
|
|
44
|
-
const metrics = new Metrics();
|
|
45
|
-
await start({ config, metrics });
|
|
46
|
-
|
|
47
|
-
const res = await fetch(
|
|
48
|
-
'http://localhost:3000/json/version?token=imabadboi',
|
|
49
|
-
);
|
|
50
|
-
expect(res.status).to.equal(401);
|
|
51
|
-
});
|
|
52
|
-
});
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
import { Browserless, Config, Metrics } from '@browserless.io/browserless';
|
|
2
|
-
import { expect } from 'chai';
|
|
3
|
-
|
|
4
|
-
describe('/json/version API', function () {
|
|
5
|
-
let browserless: Browserless;
|
|
6
|
-
|
|
7
|
-
const start = ({
|
|
8
|
-
config = new Config(),
|
|
9
|
-
metrics = new Metrics(),
|
|
10
|
-
}: { config?: Config; metrics?: Metrics } = {}) => {
|
|
11
|
-
browserless = new Browserless({ config, metrics });
|
|
12
|
-
return browserless.start();
|
|
13
|
-
};
|
|
14
|
-
|
|
15
|
-
afterEach(async () => {
|
|
16
|
-
await browserless.stop();
|
|
17
|
-
});
|
|
18
|
-
|
|
19
|
-
it('allows requests to /json/version', async () => {
|
|
20
|
-
const config = new Config();
|
|
21
|
-
config.setToken('browserless');
|
|
22
|
-
const metrics = new Metrics();
|
|
23
|
-
await start({ config, metrics });
|
|
24
|
-
|
|
25
|
-
const res = await fetch(
|
|
26
|
-
'http://localhost:3000/json/version?token=browserless',
|
|
27
|
-
);
|
|
28
|
-
const resJSON = await res.json();
|
|
29
|
-
|
|
30
|
-
[
|
|
31
|
-
'Browser',
|
|
32
|
-
'Protocol-Version',
|
|
33
|
-
'User-Agent',
|
|
34
|
-
'V8-Version',
|
|
35
|
-
'WebKit-Version',
|
|
36
|
-
'webSocketDebuggerUrl',
|
|
37
|
-
'Debugger-Version',
|
|
38
|
-
].forEach((k) => expect(resJSON).to.haveOwnProperty(k));
|
|
39
|
-
});
|
|
40
|
-
|
|
41
|
-
it('rejects unauthorized requests to /json/version', async () => {
|
|
42
|
-
const config = new Config();
|
|
43
|
-
config.setToken('browserless');
|
|
44
|
-
const metrics = new Metrics();
|
|
45
|
-
await start({ config, metrics });
|
|
46
|
-
|
|
47
|
-
const res = await fetch(
|
|
48
|
-
'http://localhost:3000/json/version?token=imabadboi',
|
|
49
|
-
);
|
|
50
|
-
expect(res.status).to.equal(401);
|
|
51
|
-
});
|
|
52
|
-
});
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
import { Browserless, Config, Metrics } from '@browserless.io/browserless';
|
|
2
|
-
import { expect } from 'chai';
|
|
3
|
-
|
|
4
|
-
describe('/json/version API', function () {
|
|
5
|
-
let browserless: Browserless;
|
|
6
|
-
|
|
7
|
-
const start = ({
|
|
8
|
-
config = new Config(),
|
|
9
|
-
metrics = new Metrics(),
|
|
10
|
-
}: { config?: Config; metrics?: Metrics } = {}) => {
|
|
11
|
-
browserless = new Browserless({ config, metrics });
|
|
12
|
-
return browserless.start();
|
|
13
|
-
};
|
|
14
|
-
|
|
15
|
-
afterEach(async () => {
|
|
16
|
-
await browserless.stop();
|
|
17
|
-
});
|
|
18
|
-
|
|
19
|
-
it('allows requests to /json/version', async () => {
|
|
20
|
-
const config = new Config();
|
|
21
|
-
config.setToken('browserless');
|
|
22
|
-
const metrics = new Metrics();
|
|
23
|
-
await start({ config, metrics });
|
|
24
|
-
|
|
25
|
-
const res = await fetch(
|
|
26
|
-
'http://localhost:3000/json/version?token=browserless',
|
|
27
|
-
);
|
|
28
|
-
const resJSON = await res.json();
|
|
29
|
-
|
|
30
|
-
[
|
|
31
|
-
'Browser',
|
|
32
|
-
'Protocol-Version',
|
|
33
|
-
'User-Agent',
|
|
34
|
-
'V8-Version',
|
|
35
|
-
'WebKit-Version',
|
|
36
|
-
'webSocketDebuggerUrl',
|
|
37
|
-
'Debugger-Version',
|
|
38
|
-
].forEach((k) => expect(resJSON).to.haveOwnProperty(k));
|
|
39
|
-
});
|
|
40
|
-
|
|
41
|
-
it('rejects unauthorized requests to /json/version', async () => {
|
|
42
|
-
const config = new Config();
|
|
43
|
-
config.setToken('browserless');
|
|
44
|
-
const metrics = new Metrics();
|
|
45
|
-
await start({ config, metrics });
|
|
46
|
-
|
|
47
|
-
const res = await fetch(
|
|
48
|
-
'http://localhost:3000/json/version?token=imabadboi',
|
|
49
|
-
);
|
|
50
|
-
expect(res.status).to.equal(401);
|
|
51
|
-
});
|
|
52
|
-
});
|
|
File without changes
|