@browserless.io/browserless 2.34.1 → 2.36.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +25 -3
- package/build/limiter.js +1 -1
- package/build/routes/chrome/http/content.post.body.json +90 -1
- package/build/routes/chrome/http/pdf.post.body.json +90 -1
- package/build/routes/chrome/http/scrape.post.body.json +90 -1
- package/build/routes/chrome/http/scrape.post.response.json +21 -22
- package/build/routes/chrome/http/screenshot.post.body.json +90 -1
- package/build/routes/chromium/http/content.post.body.json +90 -1
- package/build/routes/chromium/http/pdf.post.body.json +90 -1
- package/build/routes/chromium/http/scrape.post.body.json +90 -1
- package/build/routes/chromium/http/scrape.post.response.json +21 -22
- package/build/routes/chromium/http/screenshot.post.body.json +90 -1
- package/build/routes/chromium/tests/scrape.spec.js +41 -0
- package/build/routes/edge/http/content.post.body.json +90 -1
- package/build/routes/edge/http/pdf.post.body.json +90 -1
- package/build/routes/edge/http/scrape.post.body.json +90 -1
- package/build/routes/edge/http/scrape.post.response.json +21 -22
- package/build/routes/edge/http/screenshot.post.body.json +90 -1
- package/build/sdk-utils.js +1 -1
- package/build/shared/scrape.http.js +13 -3
- package/docker/base/Dockerfile +8 -8
- package/docker/chrome/Dockerfile +2 -2
- package/docker/chromium/Dockerfile +2 -2
- package/docker/edge/Dockerfile +2 -2
- package/docker/firefox/Dockerfile +2 -2
- package/docker/multi/Dockerfile +2 -2
- package/docker/sdk/Dockerfile +1 -1
- package/docker/webkit/Dockerfile +2 -2
- package/extensions/ublocklite/_locales/br_FR/messages.json +1 -1
- package/extensions/ublocklite/_locales/he/messages.json +2 -2
- package/extensions/ublocklite/_locales/hu/messages.json +1 -1
- package/extensions/ublocklite/_locales/pt_BR/messages.json +1 -1
- package/extensions/ublocklite/_locales/pt_PT/messages.json +1 -1
- package/extensions/ublocklite/_locales/sk/messages.json +6 -6
- package/extensions/ublocklite/_locales/sq/messages.json +17 -17
- package/extensions/ublocklite/_locales/th/messages.json +1 -1
- package/extensions/ublocklite/_locales/tr/messages.json +1 -1
- package/extensions/ublocklite/_locales/vi/messages.json +1 -1
- package/extensions/ublocklite/css/common.css +5 -3
- package/extensions/ublocklite/css/default.css +10 -0
- package/extensions/ublocklite/js/dnr-parser.js +1 -1
- package/extensions/ublocklite/js/filter-lists.js +1 -4
- package/extensions/ublocklite/js/popup.js +2 -2
- package/extensions/ublocklite/js/ruleset-manager.js +5 -121
- package/extensions/ublocklite/js/rw-dnr-editor.js +8 -4
- package/extensions/ublocklite/js/scripting/tool-overlay.js +1 -0
- package/extensions/ublocklite/js/settings.js +2 -1
- package/extensions/ublocklite/js/static-filtering-parser.js +8 -8
- package/extensions/ublocklite/js/ubo-parser.js +181 -65
- package/extensions/ublocklite/manifest.json +3 -3
- package/extensions/ublocklite/rulesets/generic-details.json +6 -16
- package/extensions/ublocklite/rulesets/main/adguard-mobile.json +25 -4
- package/extensions/ublocklite/rulesets/main/adguard-spyware-url.json +615 -1
- package/extensions/ublocklite/rulesets/main/annoyances-cookies.json +19 -7
- package/extensions/ublocklite/rulesets/main/annoyances-others.json +4 -2
- package/extensions/ublocklite/rulesets/main/annoyances-overlays.json +22 -2
- package/extensions/ublocklite/rulesets/main/annoyances-widgets.json +1 -1
- package/extensions/ublocklite/rulesets/main/chn-0.json +93 -28
- package/extensions/ublocklite/rulesets/main/cze-0.json +6 -1
- package/extensions/ublocklite/rulesets/main/deu-0.json +11 -5
- package/extensions/ublocklite/rulesets/main/dpollock-0.json +2 -0
- package/extensions/ublocklite/rulesets/main/easylist.json +135 -29
- package/extensions/ublocklite/rulesets/main/easyprivacy.json +132 -27
- package/extensions/ublocklite/rulesets/main/est-0.json +1 -1
- package/extensions/ublocklite/rulesets/main/fin-0.json +9 -0
- package/extensions/ublocklite/rulesets/main/fra-0.json +48 -10
- package/extensions/ublocklite/rulesets/main/hun-0.json +4 -1
- package/extensions/ublocklite/rulesets/main/idn-0.json +1 -1
- package/extensions/ublocklite/rulesets/main/ind-0.json +93 -150
- package/extensions/ublocklite/rulesets/main/irn-0.json +33 -7
- package/extensions/ublocklite/rulesets/main/isr-0.json +20 -2
- package/extensions/ublocklite/rulesets/main/ita-0.json +3 -1
- package/extensions/ublocklite/rulesets/main/jpn-1.json +60 -13
- package/extensions/ublocklite/rulesets/main/kor-1.json +38 -6
- package/extensions/ublocklite/rulesets/main/ltu-0.json +3 -1
- package/extensions/ublocklite/rulesets/main/lva-0.json +2 -1
- package/extensions/ublocklite/rulesets/main/nld-0.json +6 -1
- package/extensions/ublocklite/rulesets/main/nor-0.json +13 -4
- package/extensions/ublocklite/rulesets/main/pgl.json +8 -9
- package/extensions/ublocklite/rulesets/main/pol-0.json +13 -1
- package/extensions/ublocklite/rulesets/main/rou-1.json +17 -1
- package/extensions/ublocklite/rulesets/main/rus-0.json +101 -24
- package/extensions/ublocklite/rulesets/main/rus-1.json +112 -4
- package/extensions/ublocklite/rulesets/main/spa-1.json +38 -14
- package/extensions/ublocklite/rulesets/main/stevenblack-hosts.json +13076 -6934
- package/extensions/ublocklite/rulesets/main/swe-1.json +77 -43
- package/extensions/ublocklite/rulesets/main/tha-0.json +7 -1
- package/extensions/ublocklite/rulesets/main/tur-0.json +45 -5
- package/extensions/ublocklite/rulesets/main/ublock-badware.json +76 -102
- package/extensions/ublocklite/rulesets/main/ublock-filters.json +770 -99
- package/extensions/ublocklite/rulesets/main/ubol-tests.json +43 -0
- package/extensions/ublocklite/rulesets/main/ukr-0.json +20 -1
- package/extensions/ublocklite/rulesets/main/urlhaus-full.json +503 -614
- package/extensions/ublocklite/rulesets/main/vie-1.json +61 -52
- package/extensions/ublocklite/rulesets/regex/chn-0.json +6 -3
- package/extensions/ublocklite/rulesets/regex/deu-0.json +0 -1
- package/extensions/ublocklite/rulesets/regex/jpn-1.json +1 -1
- package/extensions/ublocklite/rulesets/regex/kor-1.json +1 -0
- package/extensions/ublocklite/rulesets/regex/pol-0.json +1 -0
- package/extensions/ublocklite/rulesets/regex/rus-0.json +1 -0
- package/extensions/ublocklite/rulesets/regex/rus-1.json +24 -0
- package/extensions/ublocklite/rulesets/regex/tur-0.json +2 -1
- package/extensions/ublocklite/rulesets/regex/ublock-badware.json +10 -8
- package/extensions/ublocklite/rulesets/regex/ublock-filters.json +26 -9
- package/extensions/ublocklite/rulesets/ruleset-details.json +238 -458
- 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-overlays.js +1 -1
- package/extensions/ublocklite/rulesets/scripting/generic/annoyances-social.js +1 -1
- package/extensions/ublocklite/rulesets/scripting/generic/chn-0.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/generic/easylist.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/generic/fra-0.js +1 -1
- package/extensions/ublocklite/rulesets/scripting/generic/idn-0.js +1 -1
- package/extensions/ublocklite/rulesets/scripting/generic/jpn-1.js +1 -1
- package/extensions/ublocklite/rulesets/scripting/generic/nld-0.js +1 -1
- package/extensions/ublocklite/rulesets/scripting/generic/nor-0.js +1 -1
- package/extensions/ublocklite/rulesets/scripting/generic/spa-1.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/generic/swe-1.js +1 -1
- package/extensions/ublocklite/rulesets/scripting/generic/tur-0.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/generic/ublock-filters.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/generic/ukr-0.js +1 -1
- package/extensions/ublocklite/rulesets/scripting/generic/vie-1.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/generichigh/chn-0.css +2 -9
- package/extensions/ublocklite/rulesets/scripting/generichigh/easylist.css +1 -1
- package/extensions/ublocklite/rulesets/scripting/generichigh/idn-0.css +1 -0
- package/extensions/ublocklite/rulesets/scripting/generichigh/ublock-filters.css +0 -2
- 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-notifications.js +3 -3
- 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 +1 -1
- 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/fra-0.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/procedural/idn-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/nld-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-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 +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/adguard-mobile.abort-on-property-read.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/adguard-mobile.set-constant.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/adguard-mobile.set-cookie.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/adguard-mobile.trusted-replace-node-text.js +450 -0
- package/extensions/ublocklite/rulesets/scripting/scriptlet/{jpn-1.abort-on-property-write.js → adguard-mobile.trusted-set-attr.js} +107 -41
- package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.prevent-requestAnimationFrame.js +407 -0
- package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.remove-node-text.js +1 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.set-cookie.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.set-local-storage-item.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.trusted-click-element.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.trusted-replace-node-text.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.trusted-set-cookie.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.trusted-set-local-storage-item.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-others.addEventListener-defuser.js +1 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.abort-current-script.js +1 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.abort-on-stack-trace.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.addEventListener-defuser.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.prevent-fetch.js +9 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.prevent-setInterval.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-xhr.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.remove-cookie.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.set-constant.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/chn-0.abort-current-script.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/chn-0.addEventListener-defuser.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/chn-0.adjust-setTimeout.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/chn-0.json-prune.js +1 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/chn-0.prevent-fetch.js +9 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/chn-0.prevent-setTimeout.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/chn-0.prevent-window-open.js +1 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/chn-0.set-constant.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/{vie-1.m3u-prune.js → chn-0.spoof-css.js} +109 -148
- package/extensions/ublocklite/rulesets/scripting/scriptlet/easyprivacy.abort-current-script.js +1 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/easyprivacy.prevent-fetch.js +7 -0
- package/extensions/ublocklite/rulesets/scripting/scriptlet/easyprivacy.set-constant.js +1 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/fra-0.addEventListener-defuser.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/fra-0.adjust-setTimeout.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/fra-0.prevent-fetch.js +7 -0
- package/extensions/ublocklite/rulesets/scripting/scriptlet/fra-0.prevent-setTimeout.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/fra-0.set-constant.js +1 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/hun-0.set-local-storage-item.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/idn-0.prevent-fetch.js +7 -0
- package/extensions/ublocklite/rulesets/scripting/scriptlet/irn-0.abort-current-script.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/irn-0.prevent-fetch.js +7 -0
- package/extensions/ublocklite/rulesets/scripting/scriptlet/irn-0.set-constant.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.prevent-fetch.js +7 -0
- package/extensions/ublocklite/rulesets/scripting/scriptlet/jpn-1.json-prune.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/jpn-1.prevent-fetch.js +7 -0
- package/extensions/ublocklite/rulesets/scripting/scriptlet/jpn-1.remove-attr.js +1 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/jpn-1.set-cookie.js +442 -0
- package/extensions/ublocklite/rulesets/scripting/scriptlet/{chn-0.json-prune-fetch-response.js → kor-1.json-prune-xhr-response.js} +71 -62
- package/extensions/ublocklite/rulesets/scripting/scriptlet/kor-1.json-prune.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/kor-1.prevent-fetch.js +7 -0
- package/extensions/ublocklite/rulesets/scripting/scriptlet/kor-1.prevent-setTimeout.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/kor-1.set-constant.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/nld-0.prevent-fetch.js +7 -0
- package/extensions/ublocklite/rulesets/scripting/scriptlet/nor-0.prevent-fetch.js +7 -0
- package/extensions/ublocklite/rulesets/scripting/scriptlet/rou-1.abort-current-script.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/rou-1.remove-node-text.js +1 -1
- 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.prevent-fetch.js +10 -3
- package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.prevent-setTimeout.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.prevent-xhr.js +1 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.remove-cookie.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.remove-node-text.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.set-attr.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.set-constant.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.set-local-storage-item.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-1.abort-on-property-read.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-1.addEventListener-defuser.js +1 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-1.json-prune.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-1.prevent-fetch.js +7 -0
- package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-1.remove-cookie.js +4 -4
- 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 +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.abort-on-property-read.js +1 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.addEventListener-defuser.js +1 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.adjust-setInterval.js +1 -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 +1 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.prevent-fetch.js +9 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.prevent-requestAnimationFrame.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.set-constant.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/swe-1.addEventListener-defuser.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/swe-1.href-sanitizer.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/swe-1.prevent-setTimeout.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/tur-0.abort-on-property-read.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/tur-0.abort-on-property-write.js +1 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/tur-0.addEventListener-defuser.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/tur-0.prevent-fetch.js +7 -0
- package/extensions/ublocklite/rulesets/scripting/scriptlet/tur-0.prevent-setTimeout.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.remove-node-text.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-cookie.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/{ublock-filters.evaldata-prune.js → ublock-badware.addEventListener-defuser.js} +103 -173
- package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-experimental.trusted-replace-node-text.js +450 -0
- 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 +3 -3
- package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.adjust-setInterval.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.adjust-setTimeout.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.disable-newtab-links.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-xhr-response.js +851 -0
- package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.json-prune-fetch-response.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.json-prune-xhr-response.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.json-prune.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.m3u-prune.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.noeval-if.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.nowebrtc.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.prevent-fetch.js +9 -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 +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.prevent-setTimeout.js +3 -3
- 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 +2 -2
- 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.spoof-css.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-click-element.js +1 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-create-html.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-override-element-method.js +1 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-prevent-fetch.js +7 -0
- package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-prevent-xhr.js +1 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-replace-argument.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 +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-replace-xhr-response.js +1 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-set-constant.js +1 -1
- 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 +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-suppress-native-method.js +1 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.xml-prune.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/ukr-0.prevent-fetch.js +7 -0
- 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.json-prune.js +1 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/vie-1.prevent-fetch.js +7 -0
- 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/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/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/tha-0.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 +271 -174
- package/extensions/ublocklite/rulesets/strictblock/adguard-mobile.json +3 -2
- package/extensions/ublocklite/rulesets/strictblock/annoyances-cookies.json +1 -0
- package/extensions/ublocklite/rulesets/strictblock/chn-0.json +329 -791
- package/extensions/ublocklite/rulesets/strictblock/dpollock-0.json +2 -0
- package/extensions/ublocklite/rulesets/strictblock/easylist.json +1 -1
- package/extensions/ublocklite/rulesets/strictblock/easyprivacy.json +62 -4
- package/extensions/ublocklite/rulesets/strictblock/fra-0.json +429 -49
- package/extensions/ublocklite/rulesets/strictblock/irn-0.json +2 -0
- package/extensions/ublocklite/rulesets/strictblock/jpn-1.json +183 -176
- package/extensions/ublocklite/rulesets/strictblock/kor-1.json +6 -1
- package/extensions/ublocklite/rulesets/strictblock/nor-0.json +1 -1
- package/extensions/ublocklite/rulesets/strictblock/pgl.json +8 -9
- 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 +0 -2
- package/extensions/ublocklite/rulesets/strictblock/stevenblack-hosts.json +13076 -6934
- package/extensions/ublocklite/rulesets/strictblock/swe-1.json +2 -0
- package/extensions/ublocklite/rulesets/strictblock/tur-0.json +4 -0
- package/extensions/ublocklite/rulesets/strictblock/ublock-badware.json +580 -577
- package/extensions/ublocklite/rulesets/strictblock/ublock-filters.json +3 -2
- package/extensions/ublocklite/rulesets/strictblock/urlhaus-full.json +503 -614
- package/extensions/ublocklite/rulesets/strictblock/vie-1.json +6 -7
- package/extensions/ublocklite/rulesets/urlskip/ublock-filters.json +30 -0
- package/extensions/ublocklite/ublock.zip +0 -0
- package/package.json +23 -21
- package/scripts/install-adblock.js +25 -4
- package/scripts/start.sh +1 -1
- package/scripts/test.sh +2 -2
- package/src/limiter.ts +1 -1
- package/src/routes/chromium/tests/scrape.spec.ts +48 -0
- package/src/sdk-utils.ts +1 -1
- package/src/shared/scrape.http.ts +17 -5
- package/static/docs/swagger.json +330 -102
- package/static/docs/swagger.min.json +329 -101
- package/static/function/client.js +203 -104
- package/static/function/index.html +203 -104
- package/extensions/ublocklite/rulesets/modify-headers/annoyances-overlays.json +0 -108
- package/extensions/ublocklite/rulesets/modify-headers/chn-0.json +0 -316
- package/extensions/ublocklite/rulesets/modify-headers/cze-0.json +0 -25
- package/extensions/ublocklite/rulesets/modify-headers/deu-0.json +0 -24
- package/extensions/ublocklite/rulesets/modify-headers/easylist.json +0 -14
- package/extensions/ublocklite/rulesets/modify-headers/easyprivacy.json +0 -48
- package/extensions/ublocklite/rulesets/modify-headers/fra-0.json +0 -215
- package/extensions/ublocklite/rulesets/modify-headers/irn-0.json +0 -45
- package/extensions/ublocklite/rulesets/modify-headers/isr-0.json +0 -50
- package/extensions/ublocklite/rulesets/modify-headers/rus-0.json +0 -40
- package/extensions/ublocklite/rulesets/modify-headers/rus-1.json +0 -22
- package/extensions/ublocklite/rulesets/modify-headers/swe-1.json +0 -46
- package/extensions/ublocklite/rulesets/modify-headers/ublock-filters.json +0 -54
- package/extensions/ublocklite/rulesets/modify-headers/ubol-tests.json +0 -25
- package/extensions/ublocklite/rulesets/modify-headers/vie-1.json +0 -162
- package/extensions/ublocklite/rulesets/redirect/adguard-mobile.json +0 -20
- package/extensions/ublocklite/rulesets/redirect/annoyances-overlays.json +0 -15
- package/extensions/ublocklite/rulesets/redirect/chn-0.json +0 -40
- package/extensions/ublocklite/rulesets/redirect/cze-0.json +0 -76
- package/extensions/ublocklite/rulesets/redirect/deu-0.json +0 -79
- package/extensions/ublocklite/rulesets/redirect/easylist.json +0 -103
- package/extensions/ublocklite/rulesets/redirect/easyprivacy.json +0 -137
- package/extensions/ublocklite/rulesets/redirect/fin-0.json +0 -121
- package/extensions/ublocklite/rulesets/redirect/fra-0.json +0 -35
- package/extensions/ublocklite/rulesets/redirect/hun-0.json +0 -38
- package/extensions/ublocklite/rulesets/redirect/irn-0.json +0 -73
- package/extensions/ublocklite/rulesets/redirect/isr-0.json +0 -17
- package/extensions/ublocklite/rulesets/redirect/jpn-1.json +0 -29
- package/extensions/ublocklite/rulesets/redirect/kor-1.json +0 -25
- package/extensions/ublocklite/rulesets/redirect/ltu-0.json +0 -33
- package/extensions/ublocklite/rulesets/redirect/nld-0.json +0 -79
- package/extensions/ublocklite/rulesets/redirect/nor-0.json +0 -132
- package/extensions/ublocklite/rulesets/redirect/pol-0.json +0 -15
- package/extensions/ublocklite/rulesets/redirect/rou-1.json +0 -53
- package/extensions/ublocklite/rulesets/redirect/rus-0.json +0 -21
- package/extensions/ublocklite/rulesets/redirect/rus-1.json +0 -118
- package/extensions/ublocklite/rulesets/redirect/spa-1.json +0 -27
- package/extensions/ublocklite/rulesets/redirect/swe-1.json +0 -14
- package/extensions/ublocklite/rulesets/redirect/tha-0.json +0 -78
- package/extensions/ublocklite/rulesets/redirect/tur-0.json +0 -24
- package/extensions/ublocklite/rulesets/redirect/ublock-badware.json +0 -18
- package/extensions/ublocklite/rulesets/redirect/ublock-filters.json +0 -548
- package/extensions/ublocklite/rulesets/redirect/ubol-tests.json +0 -22
- package/extensions/ublocklite/rulesets/redirect/ukr-0.json +0 -18
- package/extensions/ublocklite/rulesets/redirect/vie-1.json +0 -117
- package/extensions/ublocklite/rulesets/removeparam/adguard-spyware-url.json +0 -612
- package/extensions/ublocklite/rulesets/removeparam/annoyances-overlays.json +0 -27
- package/extensions/ublocklite/rulesets/removeparam/chn-0.json +0 -48
- package/extensions/ublocklite/rulesets/removeparam/est-0.json +0 -26
- package/extensions/ublocklite/rulesets/removeparam/fin-0.json +0 -52
- package/extensions/ublocklite/rulesets/removeparam/irn-0.json +0 -18
- package/extensions/ublocklite/rulesets/removeparam/kor-1.json +0 -26
- package/extensions/ublocklite/rulesets/removeparam/rus-0.json +0 -19
- package/extensions/ublocklite/rulesets/removeparam/rus-1.json +0 -99
- package/extensions/ublocklite/rulesets/removeparam/swe-1.json +0 -125
- package/extensions/ublocklite/rulesets/removeparam/ublock-filters.json +0 -64
- package/extensions/ublocklite/rulesets/removeparam/ukr-0.json +0 -49
|
@@ -132,7 +132,20 @@
|
|
|
132
132
|
"type": "string"
|
|
133
133
|
},
|
|
134
134
|
"userAgent": {
|
|
135
|
-
"type": "
|
|
135
|
+
"type": "object",
|
|
136
|
+
"properties": {
|
|
137
|
+
"userAgent": {
|
|
138
|
+
"type": "string"
|
|
139
|
+
},
|
|
140
|
+
"userAgentMetadata": {
|
|
141
|
+
"description": "Used to specify User Agent Client Hints to emulate. See https://wicg.github.io/ua-client-hints\nMissing optional values will be filled in by the target with what it would normally use.",
|
|
142
|
+
"$ref": "#/definitions/Protocol.Emulation.UserAgentMetadata"
|
|
143
|
+
},
|
|
144
|
+
"platform": {
|
|
145
|
+
"type": "string"
|
|
146
|
+
}
|
|
147
|
+
},
|
|
148
|
+
"additionalProperties": false
|
|
136
149
|
},
|
|
137
150
|
"viewport": {
|
|
138
151
|
"anyOf": [
|
|
@@ -497,6 +510,82 @@
|
|
|
497
510
|
"type": "object",
|
|
498
511
|
"additionalProperties": false
|
|
499
512
|
},
|
|
513
|
+
"Protocol.Emulation.UserAgentMetadata": {
|
|
514
|
+
"description": "Used to specify User Agent Client Hints to emulate. See https://wicg.github.io/ua-client-hints\nMissing optional values will be filled in by the target with what it would normally use.",
|
|
515
|
+
"type": "object",
|
|
516
|
+
"properties": {
|
|
517
|
+
"brands": {
|
|
518
|
+
"description": "Brands appearing in Sec-CH-UA.",
|
|
519
|
+
"type": "array",
|
|
520
|
+
"items": {
|
|
521
|
+
"$ref": "#/definitions/Protocol.Emulation.UserAgentBrandVersion"
|
|
522
|
+
}
|
|
523
|
+
},
|
|
524
|
+
"fullVersionList": {
|
|
525
|
+
"description": "Brands appearing in Sec-CH-UA-Full-Version-List.",
|
|
526
|
+
"type": "array",
|
|
527
|
+
"items": {
|
|
528
|
+
"$ref": "#/definitions/Protocol.Emulation.UserAgentBrandVersion"
|
|
529
|
+
}
|
|
530
|
+
},
|
|
531
|
+
"fullVersion": {
|
|
532
|
+
"type": "string"
|
|
533
|
+
},
|
|
534
|
+
"platform": {
|
|
535
|
+
"type": "string"
|
|
536
|
+
},
|
|
537
|
+
"platformVersion": {
|
|
538
|
+
"type": "string"
|
|
539
|
+
},
|
|
540
|
+
"architecture": {
|
|
541
|
+
"type": "string"
|
|
542
|
+
},
|
|
543
|
+
"model": {
|
|
544
|
+
"type": "string"
|
|
545
|
+
},
|
|
546
|
+
"mobile": {
|
|
547
|
+
"type": "boolean"
|
|
548
|
+
},
|
|
549
|
+
"bitness": {
|
|
550
|
+
"type": "string"
|
|
551
|
+
},
|
|
552
|
+
"wow64": {
|
|
553
|
+
"type": "boolean"
|
|
554
|
+
},
|
|
555
|
+
"formFactors": {
|
|
556
|
+
"description": "Used to specify User Agent form-factor values.\nSee https://wicg.github.io/ua-client-hints/#sec-ch-ua-form-factors",
|
|
557
|
+
"type": "array",
|
|
558
|
+
"items": {
|
|
559
|
+
"type": "string"
|
|
560
|
+
}
|
|
561
|
+
}
|
|
562
|
+
},
|
|
563
|
+
"additionalProperties": false,
|
|
564
|
+
"required": [
|
|
565
|
+
"architecture",
|
|
566
|
+
"mobile",
|
|
567
|
+
"model",
|
|
568
|
+
"platform",
|
|
569
|
+
"platformVersion"
|
|
570
|
+
]
|
|
571
|
+
},
|
|
572
|
+
"Protocol.Emulation.UserAgentBrandVersion": {
|
|
573
|
+
"description": "Used to specify User Agent Client Hints to emulate. See https://wicg.github.io/ua-client-hints",
|
|
574
|
+
"type": "object",
|
|
575
|
+
"properties": {
|
|
576
|
+
"brand": {
|
|
577
|
+
"type": "string"
|
|
578
|
+
},
|
|
579
|
+
"version": {
|
|
580
|
+
"type": "string"
|
|
581
|
+
}
|
|
582
|
+
},
|
|
583
|
+
"additionalProperties": false,
|
|
584
|
+
"required": [
|
|
585
|
+
"brand",
|
|
586
|
+
"version"
|
|
587
|
+
]
|
|
588
|
+
},
|
|
500
589
|
"Viewport": {
|
|
501
590
|
"type": "object",
|
|
502
591
|
"properties": {
|
|
@@ -179,18 +179,6 @@
|
|
|
179
179
|
"description": "Represents a cookie object.",
|
|
180
180
|
"type": "object",
|
|
181
181
|
"properties": {
|
|
182
|
-
"name": {
|
|
183
|
-
"description": "Cookie name.",
|
|
184
|
-
"type": "string"
|
|
185
|
-
},
|
|
186
|
-
"value": {
|
|
187
|
-
"description": "Cookie value.",
|
|
188
|
-
"type": "string"
|
|
189
|
-
},
|
|
190
|
-
"domain": {
|
|
191
|
-
"description": "Cookie domain.",
|
|
192
|
-
"type": "string"
|
|
193
|
-
},
|
|
194
182
|
"path": {
|
|
195
183
|
"description": "Cookie path.",
|
|
196
184
|
"type": "string"
|
|
@@ -203,10 +191,6 @@
|
|
|
203
191
|
"description": "Cookie size.",
|
|
204
192
|
"type": "number"
|
|
205
193
|
},
|
|
206
|
-
"httpOnly": {
|
|
207
|
-
"description": "True if cookie is http-only.",
|
|
208
|
-
"type": "boolean"
|
|
209
|
-
},
|
|
210
194
|
"secure": {
|
|
211
195
|
"description": "True if cookie is secure.",
|
|
212
196
|
"type": "boolean"
|
|
@@ -215,6 +199,26 @@
|
|
|
215
199
|
"description": "True in case of session cookie.",
|
|
216
200
|
"type": "boolean"
|
|
217
201
|
},
|
|
202
|
+
"partitionKeyOpaque": {
|
|
203
|
+
"description": "True if cookie partition key is opaque. Supported only in Chrome.",
|
|
204
|
+
"type": "boolean"
|
|
205
|
+
},
|
|
206
|
+
"name": {
|
|
207
|
+
"description": "Cookie name.",
|
|
208
|
+
"type": "string"
|
|
209
|
+
},
|
|
210
|
+
"value": {
|
|
211
|
+
"description": "Cookie value.",
|
|
212
|
+
"type": "string"
|
|
213
|
+
},
|
|
214
|
+
"domain": {
|
|
215
|
+
"description": "Cookie domain.",
|
|
216
|
+
"type": "string"
|
|
217
|
+
},
|
|
218
|
+
"httpOnly": {
|
|
219
|
+
"description": "True if cookie is http-only.",
|
|
220
|
+
"type": "boolean"
|
|
221
|
+
},
|
|
218
222
|
"sameSite": {
|
|
219
223
|
"description": "Cookie SameSite type.",
|
|
220
224
|
"enum": [
|
|
@@ -247,7 +251,7 @@
|
|
|
247
251
|
"type": "string"
|
|
248
252
|
},
|
|
249
253
|
"partitionKey": {
|
|
250
|
-
"description": "Cookie partition key. In Chrome, it
|
|
254
|
+
"description": "Cookie partition key. In Chrome, it matches the top-level site the\npartitioned cookie is available in. In Firefox, it matches the\nsource origin in the\n{@link https://w3c.github.io/webdriver-bidi/#type-storage-PartitionKey PartitionKey}.",
|
|
251
255
|
"anyOf": [
|
|
252
256
|
{
|
|
253
257
|
"$ref": "#/definitions/CookiePartitionKey"
|
|
@@ -256,17 +260,12 @@
|
|
|
256
260
|
"type": "string"
|
|
257
261
|
}
|
|
258
262
|
]
|
|
259
|
-
},
|
|
260
|
-
"partitionKeyOpaque": {
|
|
261
|
-
"description": "True if cookie partition key is opaque. Supported only in Chrome.",
|
|
262
|
-
"type": "boolean"
|
|
263
263
|
}
|
|
264
264
|
},
|
|
265
265
|
"additionalProperties": false,
|
|
266
266
|
"required": [
|
|
267
267
|
"domain",
|
|
268
268
|
"expires",
|
|
269
|
-
"httpOnly",
|
|
270
269
|
"name",
|
|
271
270
|
"path",
|
|
272
271
|
"secure",
|
|
@@ -132,7 +132,20 @@
|
|
|
132
132
|
"type": "string"
|
|
133
133
|
},
|
|
134
134
|
"userAgent": {
|
|
135
|
-
"type": "
|
|
135
|
+
"type": "object",
|
|
136
|
+
"properties": {
|
|
137
|
+
"userAgent": {
|
|
138
|
+
"type": "string"
|
|
139
|
+
},
|
|
140
|
+
"userAgentMetadata": {
|
|
141
|
+
"description": "Used to specify User Agent Client Hints to emulate. See https://wicg.github.io/ua-client-hints\nMissing optional values will be filled in by the target with what it would normally use.",
|
|
142
|
+
"$ref": "#/definitions/Protocol.Emulation.UserAgentMetadata"
|
|
143
|
+
},
|
|
144
|
+
"platform": {
|
|
145
|
+
"type": "string"
|
|
146
|
+
}
|
|
147
|
+
},
|
|
148
|
+
"additionalProperties": false
|
|
136
149
|
},
|
|
137
150
|
"viewport": {
|
|
138
151
|
"anyOf": [
|
|
@@ -553,6 +566,82 @@
|
|
|
553
566
|
"type": "object",
|
|
554
567
|
"additionalProperties": false
|
|
555
568
|
},
|
|
569
|
+
"Protocol.Emulation.UserAgentMetadata": {
|
|
570
|
+
"description": "Used to specify User Agent Client Hints to emulate. See https://wicg.github.io/ua-client-hints\nMissing optional values will be filled in by the target with what it would normally use.",
|
|
571
|
+
"type": "object",
|
|
572
|
+
"properties": {
|
|
573
|
+
"brands": {
|
|
574
|
+
"description": "Brands appearing in Sec-CH-UA.",
|
|
575
|
+
"type": "array",
|
|
576
|
+
"items": {
|
|
577
|
+
"$ref": "#/definitions/Protocol.Emulation.UserAgentBrandVersion"
|
|
578
|
+
}
|
|
579
|
+
},
|
|
580
|
+
"fullVersionList": {
|
|
581
|
+
"description": "Brands appearing in Sec-CH-UA-Full-Version-List.",
|
|
582
|
+
"type": "array",
|
|
583
|
+
"items": {
|
|
584
|
+
"$ref": "#/definitions/Protocol.Emulation.UserAgentBrandVersion"
|
|
585
|
+
}
|
|
586
|
+
},
|
|
587
|
+
"fullVersion": {
|
|
588
|
+
"type": "string"
|
|
589
|
+
},
|
|
590
|
+
"platform": {
|
|
591
|
+
"type": "string"
|
|
592
|
+
},
|
|
593
|
+
"platformVersion": {
|
|
594
|
+
"type": "string"
|
|
595
|
+
},
|
|
596
|
+
"architecture": {
|
|
597
|
+
"type": "string"
|
|
598
|
+
},
|
|
599
|
+
"model": {
|
|
600
|
+
"type": "string"
|
|
601
|
+
},
|
|
602
|
+
"mobile": {
|
|
603
|
+
"type": "boolean"
|
|
604
|
+
},
|
|
605
|
+
"bitness": {
|
|
606
|
+
"type": "string"
|
|
607
|
+
},
|
|
608
|
+
"wow64": {
|
|
609
|
+
"type": "boolean"
|
|
610
|
+
},
|
|
611
|
+
"formFactors": {
|
|
612
|
+
"description": "Used to specify User Agent form-factor values.\nSee https://wicg.github.io/ua-client-hints/#sec-ch-ua-form-factors",
|
|
613
|
+
"type": "array",
|
|
614
|
+
"items": {
|
|
615
|
+
"type": "string"
|
|
616
|
+
}
|
|
617
|
+
}
|
|
618
|
+
},
|
|
619
|
+
"additionalProperties": false,
|
|
620
|
+
"required": [
|
|
621
|
+
"architecture",
|
|
622
|
+
"mobile",
|
|
623
|
+
"model",
|
|
624
|
+
"platform",
|
|
625
|
+
"platformVersion"
|
|
626
|
+
]
|
|
627
|
+
},
|
|
628
|
+
"Protocol.Emulation.UserAgentBrandVersion": {
|
|
629
|
+
"description": "Used to specify User Agent Client Hints to emulate. See https://wicg.github.io/ua-client-hints",
|
|
630
|
+
"type": "object",
|
|
631
|
+
"properties": {
|
|
632
|
+
"brand": {
|
|
633
|
+
"type": "string"
|
|
634
|
+
},
|
|
635
|
+
"version": {
|
|
636
|
+
"type": "string"
|
|
637
|
+
}
|
|
638
|
+
},
|
|
639
|
+
"additionalProperties": false,
|
|
640
|
+
"required": [
|
|
641
|
+
"brand",
|
|
642
|
+
"version"
|
|
643
|
+
]
|
|
644
|
+
},
|
|
556
645
|
"Viewport": {
|
|
557
646
|
"type": "object",
|
|
558
647
|
"properties": {
|
package/build/sdk-utils.js
CHANGED
|
@@ -81,7 +81,7 @@ export const prompt = async (question) => {
|
|
|
81
81
|
};
|
|
82
82
|
// Exceptions are not caught, since any error would result in a crash regardless
|
|
83
83
|
export const installDependencies = async (workingDirectory) => {
|
|
84
|
-
await waitForCommand('npm install', workingDirectory);
|
|
84
|
+
await waitForCommand('npm clean-install', workingDirectory);
|
|
85
85
|
await installBrowsers(workingDirectory);
|
|
86
86
|
};
|
|
87
87
|
export const installBrowsers = async (workingDirectory) => {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { APITags, BadRequest, BrowserHTTPRoute, BrowserlessRoutes, ChromiumCDP, HTTPRoutes, Methods, Timeout, bestAttemptCatch, contentTypes, debugScreenshotOpts, dedent, isBase64Encoded, jsonResponse, noop, sleep, waitForEvent as waitForEvt, waitForFunction as waitForFn, } from '@browserless.io/browserless';
|
|
2
|
-
const scrape = async (elements) => {
|
|
2
|
+
const scrape = async (elements, bestAttempt = false) => {
|
|
3
3
|
const wait = (selector, timeout = 30000) => {
|
|
4
4
|
return new Promise((resolve, reject) => {
|
|
5
5
|
const timeoutId = setTimeout(() => {
|
|
@@ -16,7 +16,17 @@ const scrape = async (elements) => {
|
|
|
16
16
|
}, 100);
|
|
17
17
|
});
|
|
18
18
|
};
|
|
19
|
-
|
|
19
|
+
if (bestAttempt) {
|
|
20
|
+
const results = await Promise.allSettled(elements.map(({ selector, timeout }) => wait(selector, timeout)));
|
|
21
|
+
results.forEach((result, index) => {
|
|
22
|
+
if (result.status === 'rejected') {
|
|
23
|
+
console.warn(`Selector "${elements[index].selector}" failed: ${result.reason.message}`);
|
|
24
|
+
}
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
else {
|
|
28
|
+
await Promise.all(elements.map(({ selector, timeout }) => wait(selector, timeout)));
|
|
29
|
+
}
|
|
20
30
|
return elements.map(({ selector }) => {
|
|
21
31
|
const $els = [...document.querySelectorAll(selector)];
|
|
22
32
|
return {
|
|
@@ -177,7 +187,7 @@ export default class ChromiumScrapePostRoute extends BrowserHTTPRoute {
|
|
|
177
187
|
res.setHeader(key, value);
|
|
178
188
|
}
|
|
179
189
|
}
|
|
180
|
-
const data = await page.evaluate(scrape, elements).catch((e) => {
|
|
190
|
+
const data = await page.evaluate(scrape, elements, bestAttempt).catch((e) => {
|
|
181
191
|
if (e.message.includes('Timed out')) {
|
|
182
192
|
throw new Timeout(e);
|
|
183
193
|
}
|
package/docker/base/Dockerfile
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
FROM ubuntu:
|
|
1
|
+
FROM ubuntu:24.04
|
|
2
2
|
|
|
3
|
-
LABEL org.opencontainers.image.source
|
|
3
|
+
LABEL org.opencontainers.image.source=https://github.com/browserless/browserless
|
|
4
4
|
|
|
5
5
|
ARG DEBIAN_FRONTEND=noninteractive
|
|
6
6
|
ARG TZ=America/Los_Angeles
|
|
7
7
|
ARG BLESS_USER_ID=999
|
|
8
8
|
ARG APP_DIR=/usr/src/app
|
|
9
|
-
ARG NODE_VERSION=v24.
|
|
9
|
+
ARG NODE_VERSION=v24.8.0
|
|
10
10
|
|
|
11
11
|
ENV NODE_VERSION=$NODE_VERSION
|
|
12
|
-
ENV NVM_DIR
|
|
13
|
-
ENV NODE_PATH
|
|
14
|
-
ENV PATH
|
|
12
|
+
ENV NVM_DIR=/usr/src/.nvm
|
|
13
|
+
ENV NODE_PATH=$NVM_DIR/versions/node/$NODE_VERSION/bin
|
|
14
|
+
ENV PATH=$NODE_PATH:$PATH
|
|
15
15
|
ENV APP_DIR=$APP_DIR
|
|
16
16
|
ENV TZ=$TZ
|
|
17
17
|
ENV DEBIAN_FRONTEND=$DEBIAN_FRONTEND
|
|
@@ -59,7 +59,7 @@ RUN curl -sL https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | b
|
|
|
59
59
|
nvm install $NODE_VERSION
|
|
60
60
|
|
|
61
61
|
RUN add-apt-repository universe && apt-get update && \
|
|
62
|
-
apt-get install -y python3
|
|
62
|
+
apt-get install -y python3 python3-pip python3-setuptools && \
|
|
63
63
|
update-alternatives --install /usr/bin/pip pip /usr/bin/pip3 1 && \
|
|
64
64
|
update-alternatives --install /usr/bin/python python /usr/bin/python3 1
|
|
65
65
|
|
|
@@ -67,4 +67,4 @@ RUN groupadd -r blessuser && useradd --uid ${BLESS_USER_ID} -r -g blessuser -G a
|
|
|
67
67
|
mkdir -p /home/blessuser/Downloads && \
|
|
68
68
|
chown -R blessuser:blessuser /home/blessuser
|
|
69
69
|
|
|
70
|
-
RUN npm
|
|
70
|
+
RUN npm clean-install
|
package/docker/chrome/Dockerfile
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
ARG VERSION=latest
|
|
2
2
|
FROM ghcr.io/browserless/base:$VERSION
|
|
3
|
-
LABEL org.opencontainers.image.source
|
|
3
|
+
LABEL org.opencontainers.image.source=https://github.com/browserless/browserless
|
|
4
4
|
|
|
5
5
|
COPY fonts/* /usr/share/fonts/truetype/
|
|
6
6
|
COPY src src/
|
|
@@ -10,7 +10,7 @@ COPY src/routes/chrome src/routes/chrome/
|
|
|
10
10
|
|
|
11
11
|
RUN echo "ttf-mscorefonts-installer msttcorefonts/accepted-mscorefonts-eula select true" | debconf-set-selections && \
|
|
12
12
|
apt-get -y -qq install software-properties-common &&\
|
|
13
|
-
apt-add-repository "deb
|
|
13
|
+
apt-add-repository "deb https://archive.canonical.com/ubuntu $(lsb_release -sc) partner" && \
|
|
14
14
|
apt-get -y -qq --no-install-recommends install \
|
|
15
15
|
fontconfig \
|
|
16
16
|
fonts-freefont-ttf \
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
ARG VERSION=latest
|
|
2
2
|
FROM ghcr.io/browserless/base:$VERSION
|
|
3
|
-
LABEL org.opencontainers.image.source
|
|
3
|
+
LABEL org.opencontainers.image.source=https://github.com/browserless/browserless
|
|
4
4
|
|
|
5
5
|
COPY fonts/* /usr/share/fonts/truetype/
|
|
6
6
|
COPY src src/
|
|
@@ -10,7 +10,7 @@ COPY src/routes/chromium src/routes/chromium/
|
|
|
10
10
|
|
|
11
11
|
RUN echo "ttf-mscorefonts-installer msttcorefonts/accepted-mscorefonts-eula select true" | debconf-set-selections && \
|
|
12
12
|
apt-get -y -qq install software-properties-common &&\
|
|
13
|
-
apt-add-repository "deb
|
|
13
|
+
apt-add-repository "deb https://archive.canonical.com/ubuntu $(lsb_release -sc) partner" && \
|
|
14
14
|
apt-get -y -qq --no-install-recommends install \
|
|
15
15
|
fontconfig \
|
|
16
16
|
fonts-freefont-ttf \
|
package/docker/edge/Dockerfile
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
ARG VERSION=latest
|
|
2
2
|
FROM ghcr.io/browserless/base:$VERSION
|
|
3
|
-
LABEL org.opencontainers.image.source
|
|
3
|
+
LABEL org.opencontainers.image.source=https://github.com/browserless/browserless
|
|
4
4
|
|
|
5
5
|
COPY fonts/* /usr/share/fonts/truetype/
|
|
6
6
|
COPY src src/
|
|
@@ -10,7 +10,7 @@ COPY src/routes/edge src/routes/edge/
|
|
|
10
10
|
|
|
11
11
|
RUN echo "ttf-mscorefonts-installer msttcorefonts/accepted-mscorefonts-eula select true" | debconf-set-selections && \
|
|
12
12
|
apt-get -y -qq install software-properties-common &&\
|
|
13
|
-
apt-add-repository "deb
|
|
13
|
+
apt-add-repository "deb https://archive.canonical.com/ubuntu $(lsb_release -sc) partner" && \
|
|
14
14
|
apt-get -y -qq --no-install-recommends install \
|
|
15
15
|
fontconfig \
|
|
16
16
|
fonts-freefont-ttf \
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
ARG VERSION=latest
|
|
2
2
|
FROM ghcr.io/browserless/base:$VERSION
|
|
3
|
-
LABEL org.opencontainers.image.source
|
|
3
|
+
LABEL org.opencontainers.image.source=https://github.com/browserless/browserless
|
|
4
4
|
|
|
5
5
|
COPY fonts/* /usr/share/fonts/truetype/
|
|
6
6
|
COPY src src/
|
|
@@ -10,7 +10,7 @@ COPY src/routes/firefox src/routes/firefox/
|
|
|
10
10
|
|
|
11
11
|
RUN echo "ttf-mscorefonts-installer msttcorefonts/accepted-mscorefonts-eula select true" | debconf-set-selections && \
|
|
12
12
|
apt-get -y -qq install software-properties-common &&\
|
|
13
|
-
apt-add-repository "deb
|
|
13
|
+
apt-add-repository "deb https://archive.canonical.com/ubuntu $(lsb_release -sc) partner" && \
|
|
14
14
|
apt-get -y -qq --no-install-recommends install \
|
|
15
15
|
fontconfig \
|
|
16
16
|
fonts-freefont-ttf \
|
package/docker/multi/Dockerfile
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
ARG VERSION=latest
|
|
2
2
|
FROM ghcr.io/browserless/base:$VERSION
|
|
3
|
-
LABEL org.opencontainers.image.source
|
|
3
|
+
LABEL org.opencontainers.image.source=https://github.com/browserless/browserless
|
|
4
4
|
|
|
5
5
|
ARG TARGETPLATFORM
|
|
6
6
|
ENV TARGETPLATFORM=${TARGETPLATFORM}
|
|
@@ -10,7 +10,7 @@ COPY src src/
|
|
|
10
10
|
|
|
11
11
|
RUN echo "ttf-mscorefonts-installer msttcorefonts/accepted-mscorefonts-eula select true" | debconf-set-selections &&\
|
|
12
12
|
apt-get -y -qq install software-properties-common &&\
|
|
13
|
-
apt-add-repository "deb
|
|
13
|
+
apt-add-repository "deb https://archive.canonical.com/ubuntu $(lsb_release -sc) partner" &&\
|
|
14
14
|
apt-get -y -qq --no-install-recommends install \
|
|
15
15
|
fontconfig \
|
|
16
16
|
fonts-freefont-ttf \
|
package/docker/sdk/Dockerfile
CHANGED
package/docker/webkit/Dockerfile
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
ARG VERSION=latest
|
|
2
2
|
FROM ghcr.io/browserless/base:$VERSION
|
|
3
|
-
LABEL org.opencontainers.image.source
|
|
3
|
+
LABEL org.opencontainers.image.source=https://github.com/browserless/browserless
|
|
4
4
|
|
|
5
5
|
# Install Fonts
|
|
6
6
|
COPY fonts/* /usr/share/fonts/truetype/
|
|
@@ -11,7 +11,7 @@ COPY src/routes/webkit src/routes/webkit/
|
|
|
11
11
|
|
|
12
12
|
RUN echo "ttf-mscorefonts-installer msttcorefonts/accepted-mscorefonts-eula select true" | debconf-set-selections && \
|
|
13
13
|
apt-get -y -qq install software-properties-common &&\
|
|
14
|
-
apt-add-repository "deb
|
|
14
|
+
apt-add-repository "deb https://archive.canonical.com/ubuntu $(lsb_release -sc) partner" && \
|
|
15
15
|
apt-get -y -qq --no-install-recommends install \
|
|
16
16
|
fontconfig \
|
|
17
17
|
fonts-freefont-ttf \
|
|
@@ -68,7 +68,7 @@
|
|
|
68
68
|
"description": "Header for a ruleset section in 'Filter lists pane'"
|
|
69
69
|
},
|
|
70
70
|
"3pGroupMalware": {
|
|
71
|
-
"message": "
|
|
71
|
+
"message": "Gwarez a-enep ar malware ha surentez",
|
|
72
72
|
"description": "Header for a ruleset section in 'Filter lists pane'"
|
|
73
73
|
},
|
|
74
74
|
"3pGroupAnnoyances": {
|
|
@@ -292,11 +292,11 @@
|
|
|
292
292
|
"description": "A button to navigate to the blocked page"
|
|
293
293
|
},
|
|
294
294
|
"zapperTipEnter": {
|
|
295
|
-
"message": "
|
|
295
|
+
"message": "הסר אלמנט",
|
|
296
296
|
"description": "Tooltip for the button used to enter zapper mode"
|
|
297
297
|
},
|
|
298
298
|
"zapperTipQuit": {
|
|
299
|
-
"message": "
|
|
299
|
+
"message": "צא ממצב מחיקת אלמנטים",
|
|
300
300
|
"description": "Tooltip for the button used to exit zapper mode"
|
|
301
301
|
},
|
|
302
302
|
"pickerTipEnter": {
|
|
@@ -176,7 +176,7 @@
|
|
|
176
176
|
"description": "A checkbox to use for NSFW sites"
|
|
177
177
|
},
|
|
178
178
|
"supportReportSpecificButton": {
|
|
179
|
-
"message": "Új jelentés létrehozása",
|
|
179
|
+
"message": "Új jelentés létrehozása GitHub-ra",
|
|
180
180
|
"description": "Text for button which open an external webpage in Support pane"
|
|
181
181
|
},
|
|
182
182
|
"defaultFilteringModeSectionLabel": {
|
|
@@ -68,7 +68,7 @@
|
|
|
68
68
|
"description": "Header for a ruleset section in 'Filter lists pane'"
|
|
69
69
|
},
|
|
70
70
|
"3pGroupMalware": {
|
|
71
|
-
"message": "
|
|
71
|
+
"message": "Proteção contra malware, segurança",
|
|
72
72
|
"description": "Header for a ruleset section in 'Filter lists pane'"
|
|
73
73
|
},
|
|
74
74
|
"3pGroupAnnoyances": {
|
|
@@ -68,7 +68,7 @@
|
|
|
68
68
|
"description": "Header for a ruleset section in 'Filter lists pane'"
|
|
69
69
|
},
|
|
70
70
|
"3pGroupMalware": {
|
|
71
|
-
"message": "
|
|
71
|
+
"message": "Proteção contra malware, segurança",
|
|
72
72
|
"description": "Header for a ruleset section in 'Filter lists pane'"
|
|
73
73
|
},
|
|
74
74
|
"3pGroupAnnoyances": {
|
|
@@ -40,7 +40,7 @@
|
|
|
40
40
|
"description": "Label in the popup panel for the local tools section"
|
|
41
41
|
},
|
|
42
42
|
"popupTipReport": {
|
|
43
|
-
"message": "Nahlásiť problém
|
|
43
|
+
"message": "Nahlásiť problém",
|
|
44
44
|
"description": "Tooltip used for the 'chat' icon in the panel"
|
|
45
45
|
},
|
|
46
46
|
"popupTipDashboard": {
|
|
@@ -68,7 +68,7 @@
|
|
|
68
68
|
"description": "Header for a ruleset section in 'Filter lists pane'"
|
|
69
69
|
},
|
|
70
70
|
"3pGroupMalware": {
|
|
71
|
-
"message": "
|
|
71
|
+
"message": "Ochrana pred škodlivým softvérom, bezpečnosť",
|
|
72
72
|
"description": "Header for a ruleset section in 'Filter lists pane'"
|
|
73
73
|
},
|
|
74
74
|
"3pGroupAnnoyances": {
|
|
@@ -128,7 +128,7 @@
|
|
|
128
128
|
"description": "A paragraph in the filter issue reporter section"
|
|
129
129
|
},
|
|
130
130
|
"supportFindSpecificButton": {
|
|
131
|
-
"message": "Vyhľadať podobné hlásenia",
|
|
131
|
+
"message": "Vyhľadať podobné hlásenia na Githube",
|
|
132
132
|
"description": "A clickable link in the filter issue reporter section"
|
|
133
133
|
},
|
|
134
134
|
"supportS6URL": {
|
|
@@ -176,7 +176,7 @@
|
|
|
176
176
|
"description": "A checkbox to use for NSFW sites"
|
|
177
177
|
},
|
|
178
178
|
"supportReportSpecificButton": {
|
|
179
|
-
"message": "Vytvoriť nové hlásenie",
|
|
179
|
+
"message": "Vytvoriť nové hlásenie na Githube",
|
|
180
180
|
"description": "Text for button which open an external webpage in Support pane"
|
|
181
181
|
},
|
|
182
182
|
"defaultFilteringModeSectionLabel": {
|
|
@@ -248,7 +248,7 @@
|
|
|
248
248
|
"description": "Label for a checkbox in the options page"
|
|
249
249
|
},
|
|
250
250
|
"developerModeLegend": {
|
|
251
|
-
"message": "
|
|
251
|
+
"message": "Umožňuje prístup k funkciám vhodným pre technických používateľov.",
|
|
252
252
|
"description": "Short description for a checkbox in the options page"
|
|
253
253
|
},
|
|
254
254
|
"findListsPlaceholder": {
|
|
@@ -292,7 +292,7 @@
|
|
|
292
292
|
"description": "A button to navigate to the blocked page"
|
|
293
293
|
},
|
|
294
294
|
"zapperTipEnter": {
|
|
295
|
-
"message": "
|
|
295
|
+
"message": "Odstrániť prvok",
|
|
296
296
|
"description": "Tooltip for the button used to enter zapper mode"
|
|
297
297
|
},
|
|
298
298
|
"zapperTipQuit": {
|