@browserless.io/browserless 2.29.0 → 2.30.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 +8 -2
- package/build/limiter.js +1 -0
- package/build/routes/chrome/http/content.post.body.json +8 -8
- package/build/routes/chrome/http/pdf.post.body.json +8 -8
- package/build/routes/chrome/http/scrape.post.body.json +8 -8
- package/build/routes/chrome/http/screenshot.post.body.json +8 -8
- package/build/routes/chromium/http/content.post.body.json +8 -8
- package/build/routes/chromium/http/pdf.post.body.json +8 -8
- package/build/routes/chromium/http/scrape.post.body.json +8 -8
- package/build/routes/chromium/http/screenshot.post.body.json +8 -8
- package/build/routes/edge/http/content.post.body.json +8 -8
- package/build/routes/edge/http/pdf.post.body.json +8 -8
- package/build/routes/edge/http/scrape.post.body.json +8 -8
- package/build/routes/edge/http/screenshot.post.body.json +8 -8
- package/build/types.d.ts +1 -0
- package/extensions/ublocklite/_locales/es/messages.json +1 -1
- package/extensions/ublocklite/_locales/sv/messages.json +1 -1
- package/extensions/ublocklite/_locales/vi/messages.json +3 -3
- package/extensions/ublocklite/css/filtering-mode.css +3 -2
- package/extensions/ublocklite/css/popup.css +8 -2
- package/extensions/ublocklite/dashboard.html +1 -0
- package/extensions/ublocklite/js/action.js +22 -32
- package/extensions/ublocklite/js/background.js +9 -10
- package/extensions/ublocklite/js/popup.js +6 -3
- package/extensions/ublocklite/js/ruleset-manager.js +13 -5
- package/extensions/ublocklite/js/scripting/css-declarative.js +5 -9
- package/extensions/ublocklite/js/scripting/css-generic.js +5 -5
- package/extensions/ublocklite/js/scripting/css-procedural.js +5 -5
- package/extensions/ublocklite/js/scripting/css-specific.js +5 -11
- package/extensions/ublocklite/{rulesets/scripting/generichigh/irn-0.css → js/scripting/toolbar-icon.js} +7 -7
- package/extensions/ublocklite/js/scripting-manager.js +22 -33
- package/extensions/ublocklite/js/utils.js +14 -0
- package/extensions/ublocklite/manifest.json +2 -9
- package/extensions/ublocklite/matched-rules.html +1 -0
- package/extensions/ublocklite/popup.html +13 -7
- package/extensions/ublocklite/report.html +1 -0
- package/extensions/ublocklite/rulesets/generic-details.json +16 -8
- package/extensions/ublocklite/rulesets/main/annoyances-cookies.json +30 -16
- package/extensions/ublocklite/rulesets/main/annoyances-others.json +1 -0
- package/extensions/ublocklite/rulesets/main/annoyances-overlays.json +4 -3
- package/extensions/ublocklite/rulesets/main/chn-0.json +37 -31
- package/extensions/ublocklite/rulesets/main/cze-0.json +1 -2
- package/extensions/ublocklite/rulesets/main/deu-0.json +8 -4
- package/extensions/ublocklite/rulesets/main/dpollock-0.json +42 -1
- package/extensions/ublocklite/rulesets/main/easylist.json +39 -24
- package/extensions/ublocklite/rulesets/main/easyprivacy.json +152 -13
- package/extensions/ublocklite/rulesets/main/fin-0.json +1 -2
- package/extensions/ublocklite/rulesets/main/fra-0.json +4 -6
- package/extensions/ublocklite/rulesets/main/hun-0.json +46 -29
- package/extensions/ublocklite/rulesets/main/idn-0.json +92 -27
- package/extensions/ublocklite/rulesets/main/irn-0.json +0 -1
- package/extensions/ublocklite/rulesets/main/isr-0.json +0 -10
- package/extensions/ublocklite/rulesets/main/ita-0.json +2 -1
- package/extensions/ublocklite/rulesets/main/jpn-1.json +26 -21
- package/extensions/ublocklite/rulesets/main/kor-1.json +7 -18
- package/extensions/ublocklite/rulesets/main/mkd-0.json +1 -1
- package/extensions/ublocklite/rulesets/main/nld-0.json +0 -2
- package/extensions/ublocklite/rulesets/main/nor-0.json +8 -42
- package/extensions/ublocklite/rulesets/main/pgl.json +7 -14
- package/extensions/ublocklite/rulesets/main/pol-0.json +2 -7
- package/extensions/ublocklite/rulesets/main/pol-3.json +6962 -3617
- package/extensions/ublocklite/rulesets/main/rus-0.json +15 -12
- package/extensions/ublocklite/rulesets/main/rus-1.json +5 -4
- package/extensions/ublocklite/rulesets/main/spa-0.json +3 -1
- package/extensions/ublocklite/rulesets/main/spa-1.json +4 -5
- package/extensions/ublocklite/rulesets/main/stevenblack-hosts.json +9359 -3524
- package/extensions/ublocklite/rulesets/main/swe-1.json +41 -52
- package/extensions/ublocklite/rulesets/main/tur-0.json +23 -9
- package/extensions/ublocklite/rulesets/main/ublock-badware.json +42 -37
- package/extensions/ublocklite/rulesets/main/ublock-filters.json +90 -182
- package/extensions/ublocklite/rulesets/main/ukr-0.json +1420 -372
- package/extensions/ublocklite/rulesets/main/urlhaus-full.json +540 -508
- package/extensions/ublocklite/rulesets/main/vie-1.json +22 -20
- package/extensions/ublocklite/rulesets/modify-headers/chn-0.json +51 -2
- package/extensions/ublocklite/rulesets/modify-headers/rus-0.json +2 -1
- package/extensions/ublocklite/rulesets/modify-headers/ublock-filters.json +1 -2
- package/extensions/ublocklite/rulesets/redirect/annoyances-overlays.json +0 -1
- package/extensions/ublocklite/rulesets/redirect/chn-0.json +18 -11
- package/extensions/ublocklite/rulesets/redirect/easyprivacy.json +3 -3
- package/extensions/ublocklite/rulesets/redirect/fra-0.json +20 -17
- package/extensions/ublocklite/rulesets/redirect/hun-0.json +17 -0
- package/extensions/ublocklite/rulesets/redirect/isr-0.json +4 -4
- package/extensions/ublocklite/rulesets/redirect/jpn-1.json +9 -7
- package/extensions/ublocklite/rulesets/redirect/kor-1.json +1 -1
- package/extensions/ublocklite/rulesets/redirect/nor-0.json +2 -2
- package/extensions/ublocklite/rulesets/redirect/pol-0.json +4 -4
- package/extensions/ublocklite/rulesets/redirect/rou-1.json +20 -2
- package/extensions/ublocklite/rulesets/redirect/rus-0.json +6 -5
- package/extensions/ublocklite/rulesets/redirect/spa-1.json +12 -8
- package/extensions/ublocklite/rulesets/redirect/swe-1.json +19 -19
- package/extensions/ublocklite/rulesets/redirect/tha-0.json +1 -1
- package/extensions/ublocklite/rulesets/redirect/tur-0.json +11 -7
- package/extensions/ublocklite/rulesets/redirect/ublock-filters.json +102 -87
- package/extensions/ublocklite/rulesets/redirect/ukr-0.json +18 -0
- package/extensions/ublocklite/rulesets/redirect/vie-1.json +4 -4
- package/extensions/ublocklite/rulesets/regex/chn-0.json +5 -2
- package/extensions/ublocklite/rulesets/regex/easylist.json +2 -16
- package/extensions/ublocklite/rulesets/regex/isr-0.json +10 -10
- package/extensions/ublocklite/rulesets/regex/jpn-1.json +1 -1
- package/extensions/ublocklite/rulesets/regex/kor-1.json +77 -89
- package/extensions/ublocklite/rulesets/regex/ublock-badware.json +1 -1
- package/extensions/ublocklite/rulesets/regex/ublock-filters.json +4 -3
- package/extensions/ublocklite/rulesets/regex/ukr-0.json +21 -13
- package/extensions/ublocklite/rulesets/removeparam/adguard-spyware-url.json +13 -7
- package/extensions/ublocklite/rulesets/removeparam/ukr-0.json +6 -7
- package/extensions/ublocklite/rulesets/ruleset-details.json +242 -274
- package/extensions/ublocklite/rulesets/scripting/declarative/annoyances-cookies.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/declarative/annoyances-overlays.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/declarative/chn-0.js +1 -1
- package/extensions/ublocklite/rulesets/scripting/declarative/hrv-0.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/declarative/hun-0.js +1 -1
- package/extensions/ublocklite/rulesets/scripting/declarative/irn-0.js +1 -1
- package/extensions/ublocklite/rulesets/scripting/declarative/jpn-1.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/declarative/kor-1.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/declarative/rus-0.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/declarative/rus-1.js +1 -1
- package/extensions/ublocklite/rulesets/scripting/declarative/spa-1.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/declarative/swe-1.js +1 -1
- package/extensions/ublocklite/rulesets/scripting/declarative/tur-0.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/declarative/ublock-filters.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/declarative/ukr-0.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/declarative/vie-1.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/generic/annoyances-cookies.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/generic/annoyances-overlays.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/generic/annoyances-social.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/generic/bgr-0.js +1 -1
- package/extensions/ublocklite/rulesets/scripting/generic/chn-0.js +1 -1
- package/extensions/ublocklite/rulesets/scripting/generic/easylist.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/generic/est-0.js +1 -1
- package/extensions/ublocklite/rulesets/scripting/generic/hun-0.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/generic/idn-0.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/generic/jpn-1.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/generic/kor-1.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/generic/nor-0.js +1 -1
- package/extensions/ublocklite/rulesets/scripting/generic/pol-0.js +1 -1
- package/extensions/ublocklite/rulesets/scripting/generic/rus-0.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/generic/spa-0.js +1 -1
- package/extensions/ublocklite/rulesets/scripting/generic/swe-1.js +1 -1
- package/extensions/ublocklite/rulesets/scripting/generic/tur-0.js +1 -1
- package/extensions/ublocklite/rulesets/scripting/generic/ublock-filters.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/generic/ukr-0.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/generic/vie-1.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/generichigh/chn-0.css +2 -18
- package/extensions/ublocklite/rulesets/scripting/generichigh/easylist.css +3 -0
- package/extensions/ublocklite/rulesets/scripting/generichigh/est-0.css +0 -1
- package/extensions/ublocklite/rulesets/scripting/generichigh/idn-0.css +1 -15
- package/extensions/ublocklite/rulesets/scripting/generichigh/jpn-1.css +0 -1
- package/extensions/ublocklite/rulesets/scripting/generichigh/kor-1.css +1 -2
- package/extensions/ublocklite/rulesets/scripting/generichigh/nor-0.css +0 -17
- package/extensions/ublocklite/rulesets/scripting/generichigh/pol-0.css +0 -8
- package/extensions/ublocklite/rulesets/scripting/generichigh/rou-1.css +0 -1
- package/extensions/ublocklite/rulesets/scripting/generichigh/rus-0.css +0 -103
- package/extensions/ublocklite/rulesets/scripting/generichigh/rus-1.css +0 -3
- package/extensions/ublocklite/rulesets/scripting/generichigh/swe-1.css +0 -1
- package/extensions/ublocklite/rulesets/scripting/generichigh/tur-0.css +0 -7
- package/extensions/ublocklite/rulesets/scripting/generichigh/ublock-filters.css +1 -6
- package/extensions/ublocklite/rulesets/scripting/generichigh/ukr-0.css +25 -7
- package/extensions/ublocklite/rulesets/scripting/generichigh/vie-1.css +0 -1
- package/extensions/ublocklite/rulesets/scripting/procedural/annoyances-cookies.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/procedural/annoyances-overlays.js +1 -1
- package/extensions/ublocklite/rulesets/scripting/procedural/chn-0.js +1 -1
- package/extensions/ublocklite/rulesets/scripting/procedural/easylist.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/procedural/hrv-0.js +1 -1
- package/extensions/ublocklite/rulesets/scripting/procedural/jpn-1.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/procedural/kor-1.js +1 -1
- package/extensions/ublocklite/rulesets/scripting/procedural/rus-0.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/procedural/swe-1.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/procedural/ublock-filters.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/procedural/ukr-0.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.addEventListener-defuser.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.set-constant.js +1 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.set-cookie.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.set-local-storage-item.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.set-session-storage-item.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-cookies.trusted-click-element.js +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.remove-cookie.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.abort-current-script.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.abort-on-property-read.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-setTimeout.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/annoyances-overlays.set-constant.js +1 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/chn-0.abort-on-stack-trace.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/chn-0.adjust-setInterval.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/chn-0.prevent-setTimeout.js +1 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/chn-0.set-constant.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/easyprivacy.abort-current-script.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/easyprivacy.abort-on-stack-trace.js +421 -0
- package/extensions/ublocklite/rulesets/scripting/scriptlet/hun-0.prevent-fetch.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/hun-0.set-constant.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/jpn-1.remove-node-text.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/kor-1.remove-node-text.js +449 -0
- package/extensions/ublocklite/rulesets/scripting/scriptlet/kor-1.set-constant.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.addEventListener-defuser.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.set-attr.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-0.set-constant.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/rus-1.set-constant.js +1 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/spa-1.prevent-xhr.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/swe-1.href-sanitizer.js +1 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/tur-0.abort-on-property-read.js +1 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/tur-0.abort-on-property-write.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/tur-0.prevent-fetch.js +1 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/tur-0.remove-attr.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/tur-0.set-constant.js +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 +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.adjust-setInterval.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.adjust-setTimeout.js +1 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.json-prune-fetch-response.js +1 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.json-prune.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.noeval-if.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.nowebrtc.js +1 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.prevent-fetch.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.prevent-requestAnimationFrame.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.prevent-setInterval.js +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 +3 -3
- package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.prevent-xhr.js +3 -3
- 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-constant.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.set-cookie.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.set-local-storage-item.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.set-session-storage-item.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-prevent-dom-bypass.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-xhr-response.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-set-constant.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/ublock-filters.trusted-suppress-native-method.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/ukr-0.abort-current-script.js +451 -0
- package/extensions/ublocklite/rulesets/scripting/scriptlet/ukr-0.abort-on-property-read.js +369 -0
- package/extensions/ublocklite/rulesets/scripting/scriptlet/ukr-0.abort-on-property-write.js +347 -0
- package/extensions/ublocklite/rulesets/scripting/scriptlet/ukr-0.json-prune.js +506 -0
- package/extensions/ublocklite/rulesets/scripting/scriptlet/ukr-0.prevent-fetch.js +553 -0
- package/extensions/ublocklite/rulesets/scripting/scriptlet/ukr-0.prevent-window-open.js +471 -0
- package/extensions/ublocklite/rulesets/scripting/scriptlet/{vie-1.set-cookie.js → ukr-0.remove-attr.js} +99 -127
- package/extensions/ublocklite/rulesets/scripting/scriptlet/ukr-0.remove-class.js +396 -0
- package/extensions/ublocklite/rulesets/scripting/scriptlet/ukr-0.remove-node-text.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/scriptlet/ukr-0.set-constant.js +541 -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 +1 -1
- package/extensions/ublocklite/rulesets/scripting/scriptlet/vie-1.set-constant.js +2 -2
- package/extensions/ublocklite/rulesets/scripting/specific/annoyances-cookies.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/hrv-0.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/specific/hun-0.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/specific/idn-0.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/specific/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/lva-0.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/specific/nld-0.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/specific/nor-0.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/specific/pol-0.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/specific/rou-1.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/specific/rus-0.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/specific/spa-0.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/specific/spa-1.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/specific/swe-1.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/specific/tur-0.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/specific/ublock-filters.js +3 -3
- package/extensions/ublocklite/rulesets/scripting/specific/ukr-0.js +4 -4
- package/extensions/ublocklite/rulesets/scripting/specific/vie-1.js +3 -3
- package/extensions/ublocklite/rulesets/scriptlet-details.json +450 -190
- package/extensions/ublocklite/rulesets/strictblock/annoyances-cookies.json +6 -0
- package/extensions/ublocklite/rulesets/strictblock/chn-0.json +153 -367
- package/extensions/ublocklite/rulesets/strictblock/dpollock-0.json +42 -1
- package/extensions/ublocklite/rulesets/strictblock/easylist.json +1 -1
- package/extensions/ublocklite/rulesets/strictblock/easyprivacy.json +366 -3
- package/extensions/ublocklite/rulesets/strictblock/fra-0.json +6 -0
- package/extensions/ublocklite/rulesets/strictblock/hun-0.json +36 -2
- package/extensions/ublocklite/rulesets/strictblock/idn-0.json +0 -1
- package/extensions/ublocklite/rulesets/strictblock/jpn-1.json +152 -147
- package/extensions/ublocklite/rulesets/strictblock/mkd-0.json +0 -1
- package/extensions/ublocklite/rulesets/strictblock/nor-0.json +6 -4
- package/extensions/ublocklite/rulesets/strictblock/pgl.json +7 -14
- package/extensions/ublocklite/rulesets/strictblock/pol-0.json +1 -1
- package/extensions/ublocklite/rulesets/strictblock/pol-3.json +6962 -3617
- package/extensions/ublocklite/rulesets/strictblock/spa-0.json +1 -0
- package/extensions/ublocklite/rulesets/strictblock/stevenblack-hosts.json +9359 -3524
- package/extensions/ublocklite/rulesets/strictblock/swe-1.json +3 -6
- package/extensions/ublocklite/rulesets/strictblock/ublock-badware.json +640 -628
- package/extensions/ublocklite/rulesets/strictblock/ublock-filters.json +1 -1
- package/extensions/ublocklite/rulesets/strictblock/ukr-0.json +467 -103
- package/extensions/ublocklite/rulesets/strictblock/urlhaus-full.json +540 -508
- package/extensions/ublocklite/rulesets/urlskip/ublock-filters.json +6 -0
- package/extensions/ublocklite/strictblock.html +1 -0
- package/extensions/ublocklite/ublock.zip +0 -0
- package/package.json +9 -9
- package/scripts/build-open-api.js +0 -1
- package/src/limiter.ts +1 -0
- package/src/types.ts +1 -0
- package/static/docs/swagger.json +1364 -1364
- package/static/docs/swagger.min.json +1363 -1363
- package/static/function/client.js +8 -1
- package/static/function/index.html +8 -1
- package/extensions/ublocklite/rulesets/main/openphish-domains.json +0 -36928
- package/extensions/ublocklite/rulesets/strictblock/openphish-domains.json +0 -36943
|
@@ -553,14 +553,14 @@
|
|
|
553
553
|
"length": {
|
|
554
554
|
"type": "number"
|
|
555
555
|
},
|
|
556
|
-
"__@toStringTag@
|
|
556
|
+
"__@toStringTag@476965": {
|
|
557
557
|
"type": "string",
|
|
558
558
|
"const": "Uint8Array"
|
|
559
559
|
}
|
|
560
560
|
},
|
|
561
561
|
"required": [
|
|
562
562
|
"BYTES_PER_ELEMENT",
|
|
563
|
-
"__@toStringTag@
|
|
563
|
+
"__@toStringTag@476965",
|
|
564
564
|
"buffer",
|
|
565
565
|
"byteLength",
|
|
566
566
|
"byteOffset",
|
|
@@ -595,13 +595,13 @@
|
|
|
595
595
|
"byteLength": {
|
|
596
596
|
"type": "number"
|
|
597
597
|
},
|
|
598
|
-
"__@toStringTag@
|
|
598
|
+
"__@toStringTag@476965": {
|
|
599
599
|
"type": "string"
|
|
600
600
|
}
|
|
601
601
|
},
|
|
602
602
|
"additionalProperties": false,
|
|
603
603
|
"required": [
|
|
604
|
-
"__@toStringTag@
|
|
604
|
+
"__@toStringTag@476965",
|
|
605
605
|
"byteLength"
|
|
606
606
|
]
|
|
607
607
|
},
|
|
@@ -611,18 +611,18 @@
|
|
|
611
611
|
"byteLength": {
|
|
612
612
|
"type": "number"
|
|
613
613
|
},
|
|
614
|
-
"__@species@
|
|
614
|
+
"__@species@477003": {
|
|
615
615
|
"$ref": "#/definitions/SharedArrayBuffer"
|
|
616
616
|
},
|
|
617
|
-
"__@toStringTag@
|
|
617
|
+
"__@toStringTag@476965": {
|
|
618
618
|
"type": "string",
|
|
619
619
|
"const": "SharedArrayBuffer"
|
|
620
620
|
}
|
|
621
621
|
},
|
|
622
622
|
"additionalProperties": false,
|
|
623
623
|
"required": [
|
|
624
|
-
"__@species@
|
|
625
|
-
"__@toStringTag@
|
|
624
|
+
"__@species@477003",
|
|
625
|
+
"__@toStringTag@476965",
|
|
626
626
|
"byteLength"
|
|
627
627
|
]
|
|
628
628
|
},
|
package/build/types.d.ts
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
"description": "extension name."
|
|
5
5
|
},
|
|
6
6
|
"extShortDesc": {
|
|
7
|
-
"message": "Un bloqueador de contenido
|
|
7
|
+
"message": "Un bloqueador de contenido eficiente. Bloquea anuncios, rastreadores, criptomineros y aún más.",
|
|
8
8
|
"description": "this will be in the Chrome web store: must be 132 characters or less"
|
|
9
9
|
},
|
|
10
10
|
"perRulesetStats": {
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
"description": "extension name."
|
|
5
5
|
},
|
|
6
6
|
"extShortDesc": {
|
|
7
|
-
"message": "En
|
|
7
|
+
"message": "En effektiv innehållsblockerare. Blockerar annonser, spårare, miners och mer direkt efter den har installerats.",
|
|
8
8
|
"description": "this will be in the Chrome web store: must be 132 characters or less"
|
|
9
9
|
},
|
|
10
10
|
"perRulesetStats": {
|
|
@@ -112,7 +112,7 @@
|
|
|
112
112
|
"description": "First paragraph of 'Filter issues' section in Support pane"
|
|
113
113
|
},
|
|
114
114
|
"supportS5H": {
|
|
115
|
-
"message": "
|
|
115
|
+
"message": "Thông tin chẩn đoán lỗi",
|
|
116
116
|
"description": "Label of 'Troubleshooting information' section in 'Report a filter issue' page"
|
|
117
117
|
},
|
|
118
118
|
"supportS6P1S1": {
|
|
@@ -276,11 +276,11 @@
|
|
|
276
276
|
"description": "A button to navigate to the blocked page"
|
|
277
277
|
},
|
|
278
278
|
"zapperTipEnter": {
|
|
279
|
-
"message": "
|
|
279
|
+
"message": "Chuyển sang chế độ chặn phần tử tạm thời",
|
|
280
280
|
"description": "Tooltip for the button used to enter zapper mode"
|
|
281
281
|
},
|
|
282
282
|
"zapperTipQuit": {
|
|
283
|
-
"message": "
|
|
283
|
+
"message": "Thoát khỏi chế độ chặn phần tử tạm thời",
|
|
284
284
|
"description": "Tooltip for the button used to exit zapper mode"
|
|
285
285
|
}
|
|
286
286
|
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
.filteringModeSlider {
|
|
2
2
|
align-items: center;
|
|
3
|
+
container-type: size;
|
|
3
4
|
display: flex;
|
|
4
5
|
height: 60px;
|
|
5
6
|
justify-content: center;
|
|
@@ -11,9 +12,9 @@
|
|
|
11
12
|
background-color: var(--surface-1);
|
|
12
13
|
box-sizing: border-box;
|
|
13
14
|
border-radius: 30% 15% / 15% 30%;
|
|
14
|
-
height:
|
|
15
|
+
height: calc(25cqw + 2px);
|
|
15
16
|
position: absolute;
|
|
16
|
-
width: calc(
|
|
17
|
+
width: calc(25cqw + 2px);
|
|
17
18
|
z-index: 10;
|
|
18
19
|
}
|
|
19
20
|
|
|
@@ -70,9 +70,14 @@ body[data-forbid~="dashboard"] #gotoDashboard {
|
|
|
70
70
|
display: none;
|
|
71
71
|
}
|
|
72
72
|
|
|
73
|
+
.lrspacer {
|
|
74
|
+
padding-left: var(--default-gap-small);
|
|
75
|
+
padding-right: var(--default-gap-small);
|
|
76
|
+
}
|
|
77
|
+
|
|
73
78
|
#filteringModeText {
|
|
74
79
|
color: var(--ink-3);
|
|
75
|
-
margin: var(--default-gap-small);
|
|
80
|
+
margin-bottom: var(--default-gap-small);
|
|
76
81
|
margin-top: 0;
|
|
77
82
|
text-align: center;
|
|
78
83
|
text-transform: lowercase;
|
|
@@ -95,7 +100,8 @@ body[data-forbid~="dashboard"] #gotoDashboard {
|
|
|
95
100
|
|
|
96
101
|
.filteringModeSlider {
|
|
97
102
|
align-self: center;
|
|
98
|
-
margin: var(--popup-gap);
|
|
103
|
+
margin-bottom: var(--popup-gap);
|
|
104
|
+
margin-top: var(--popup-gap);
|
|
99
105
|
width: calc(var(--popup-main-min-width) - 1em);
|
|
100
106
|
}
|
|
101
107
|
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
<head>
|
|
4
4
|
<meta charset="utf-8">
|
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1">
|
|
6
|
+
<meta name="color-scheme" content="light dark" />
|
|
6
7
|
<title data-i18n="dashboardName"></title>
|
|
7
8
|
<link rel="stylesheet" href="css/default.css">
|
|
8
9
|
<link rel="stylesheet" href="css/common.css">
|
|
@@ -19,8 +19,8 @@
|
|
|
19
19
|
Home: https://github.com/gorhill/uBlock
|
|
20
20
|
*/
|
|
21
21
|
|
|
22
|
+
import { matchesFromHostnames, strArrayEq } from './utils.js';
|
|
22
23
|
import { browser } from './ext.js';
|
|
23
|
-
import { getFilteringModeDetails } from './mode-manager.js';
|
|
24
24
|
|
|
25
25
|
/******************************************************************************/
|
|
26
26
|
|
|
@@ -28,14 +28,6 @@ let reverseMode = false;
|
|
|
28
28
|
|
|
29
29
|
/******************************************************************************/
|
|
30
30
|
|
|
31
|
-
function toggleToolbarIcon(tabId) {
|
|
32
|
-
if ( reverseMode ) {
|
|
33
|
-
enableToolbarIcon(tabId);
|
|
34
|
-
} else {
|
|
35
|
-
disableToolbarIcon(tabId);
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
|
|
39
31
|
function disableToolbarIcon(tabId) {
|
|
40
32
|
const details = {
|
|
41
33
|
path: {
|
|
@@ -68,9 +60,12 @@ function enableToolbarIcon(tabId) {
|
|
|
68
60
|
|
|
69
61
|
/******************************************************************************/
|
|
70
62
|
|
|
71
|
-
function
|
|
72
|
-
if (
|
|
73
|
-
|
|
63
|
+
export function toggleToolbarIcon(tabId) {
|
|
64
|
+
if ( reverseMode ) {
|
|
65
|
+
enableToolbarIcon(tabId);
|
|
66
|
+
} else {
|
|
67
|
+
disableToolbarIcon(tabId);
|
|
68
|
+
}
|
|
74
69
|
}
|
|
75
70
|
|
|
76
71
|
/******************************************************************************/
|
|
@@ -78,13 +73,8 @@ function toolbarIconListener(details) {
|
|
|
78
73
|
// https://github.com/uBlockOrigin/uBOL-home/issues/198
|
|
79
74
|
// Ensure the toolbar icon reflects the no-filtering mode of "trusted sites"
|
|
80
75
|
|
|
81
|
-
export async function
|
|
82
|
-
const {
|
|
83
|
-
if ( typeof webNavigation !== 'object' ) { return; }
|
|
84
|
-
|
|
85
|
-
webNavigation.onCommitted.removeListener(toolbarIconListener);
|
|
86
|
-
|
|
87
|
-
const { none, basic, optimal, complete } = await getFilteringModeDetails();
|
|
76
|
+
export async function registerToolbarIconToggler(context) {
|
|
77
|
+
const { none, basic, optimal, complete } = context.filteringModeDetails;
|
|
88
78
|
const reverseModeAfter = none.delete('all-urls');
|
|
89
79
|
const toToggle = reverseModeAfter ?
|
|
90
80
|
new Set([ ...basic, ...optimal, ...complete ])
|
|
@@ -101,20 +91,20 @@ export async function syncToolbarIcon(wakeup) {
|
|
|
101
91
|
|
|
102
92
|
if ( toToggle.size === 0 ) { return; }
|
|
103
93
|
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
originAndPathMatches: `^https?://([^.].*\\.)?${a.replaceAll('.', '\\.')}/`
|
|
107
|
-
})),
|
|
108
|
-
});
|
|
94
|
+
const registered = context.before.get('toolbar-icon');
|
|
95
|
+
context.before.delete('toolbar-icon'); // Important!
|
|
109
96
|
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
}
|
|
97
|
+
const directive = {
|
|
98
|
+
id: 'toolbar-icon',
|
|
99
|
+
js: [ '/js/scripting/toolbar-icon.js' ],
|
|
100
|
+
matches: matchesFromHostnames(toToggle),
|
|
101
|
+
runAt: 'document_start',
|
|
102
|
+
};
|
|
116
103
|
|
|
117
|
-
|
|
118
|
-
|
|
104
|
+
if ( registered === undefined ) {
|
|
105
|
+
context.toAdd.push(directive);
|
|
106
|
+
} else if ( strArrayEq(registered.matches, directive.matches) === false ) {
|
|
107
|
+
context.toRemove.push('toolbar-icon');
|
|
108
|
+
context.toAdd.push(directive);
|
|
119
109
|
}
|
|
120
110
|
}
|
|
@@ -21,7 +21,6 @@
|
|
|
21
21
|
|
|
22
22
|
import {
|
|
23
23
|
MODE_BASIC,
|
|
24
|
-
MODE_NONE,
|
|
25
24
|
MODE_OPTIMAL,
|
|
26
25
|
getDefaultFilteringMode,
|
|
27
26
|
getFilteringMode,
|
|
@@ -78,7 +77,7 @@ import {
|
|
|
78
77
|
|
|
79
78
|
import { dnr } from './ext-compat.js';
|
|
80
79
|
import { registerInjectables } from './scripting-manager.js';
|
|
81
|
-
import {
|
|
80
|
+
import { toggleToolbarIcon } from './action.js';
|
|
82
81
|
|
|
83
82
|
/******************************************************************************/
|
|
84
83
|
|
|
@@ -170,6 +169,14 @@ function onMessage(request, sender, callback) {
|
|
|
170
169
|
return false;
|
|
171
170
|
}
|
|
172
171
|
|
|
172
|
+
case 'toggleToolbarIcon': {
|
|
173
|
+
const tabId = sender?.tab?.id ?? false;
|
|
174
|
+
if ( tabId ) {
|
|
175
|
+
toggleToolbarIcon(tabId);
|
|
176
|
+
}
|
|
177
|
+
return false;
|
|
178
|
+
}
|
|
179
|
+
|
|
173
180
|
default:
|
|
174
181
|
break;
|
|
175
182
|
}
|
|
@@ -313,17 +320,11 @@ function onMessage(request, sender, callback) {
|
|
|
313
320
|
break;
|
|
314
321
|
|
|
315
322
|
case 'setFilteringMode': {
|
|
316
|
-
let trustedSitesChanged = false;
|
|
317
323
|
getFilteringMode(request.hostname).then(beforeLevel => {
|
|
318
324
|
if ( request.level === beforeLevel ) { return beforeLevel; }
|
|
319
|
-
trustedSitesChanged = beforeLevel === MODE_NONE;
|
|
320
325
|
return setFilteringMode(request.hostname, request.level);
|
|
321
326
|
}).then(afterLevel => {
|
|
322
327
|
registerInjectables();
|
|
323
|
-
trustedSitesChanged ||= afterLevel === MODE_NONE;
|
|
324
|
-
if ( trustedSitesChanged ) {
|
|
325
|
-
syncToolbarIcon();
|
|
326
|
-
}
|
|
327
328
|
callback(afterLevel);
|
|
328
329
|
});
|
|
329
330
|
return true;
|
|
@@ -357,7 +358,6 @@ function onMessage(request, sender, callback) {
|
|
|
357
358
|
case 'setTrustedSites':
|
|
358
359
|
setTrustedSites(request.hostnames).then(( ) => {
|
|
359
360
|
registerInjectables();
|
|
360
|
-
syncToolbarIcon(true);
|
|
361
361
|
return Promise.all([
|
|
362
362
|
getDefaultFilteringMode(),
|
|
363
363
|
getTrustedSites(),
|
|
@@ -485,7 +485,6 @@ async function start() {
|
|
|
485
485
|
await startSession();
|
|
486
486
|
}
|
|
487
487
|
|
|
488
|
-
syncToolbarIcon(process.wakeupRun);
|
|
489
488
|
toggleDeveloperMode(rulesetConfig.developerMode);
|
|
490
489
|
}
|
|
491
490
|
|
|
@@ -109,10 +109,13 @@ async function commitFilteringMode() {
|
|
|
109
109
|
setFilteringMode(actualLevel);
|
|
110
110
|
}
|
|
111
111
|
if ( actualLevel !== beforeLevel && popupPanelData.autoReload ) {
|
|
112
|
+
const justReload = tabURL.href === currentTab.url;
|
|
112
113
|
self.setTimeout(( ) => {
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
}
|
|
114
|
+
if ( justReload ) {
|
|
115
|
+
browser.tabs.reload(currentTab.id);
|
|
116
|
+
} else {
|
|
117
|
+
browser.tabs.update(currentTab.id, { url: tabURL.href });
|
|
118
|
+
}
|
|
116
119
|
}, 437);
|
|
117
120
|
}
|
|
118
121
|
}
|
|
@@ -49,10 +49,18 @@ let sessionRegexCount = 0;
|
|
|
49
49
|
|
|
50
50
|
const isStrictBlockRule = rule => {
|
|
51
51
|
if ( rule.priority !== STRICTBLOCK_PRIORITY ) { return false; }
|
|
52
|
-
if ( rule.
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
52
|
+
if ( rule.condition?.resourceTypes === undefined ) { return false; }
|
|
53
|
+
if ( rule.condition.resourceTypes.length !== 1 ) { return false; }
|
|
54
|
+
if ( rule.condition.resourceTypes[0] !== 'main_frame' ) { return false; }
|
|
55
|
+
if ( rule.action.type === 'redirect' ) {
|
|
56
|
+
const substitution = rule.action.redirect.regexSubstitution;
|
|
57
|
+
return substitution !== undefined &&
|
|
58
|
+
substitution.includes('/strictblock.');
|
|
59
|
+
}
|
|
60
|
+
if ( rule.action.type === 'allow' ) {
|
|
61
|
+
return Array.isArray(rule.condition?.requestDomains);
|
|
62
|
+
}
|
|
63
|
+
return false;
|
|
56
64
|
};
|
|
57
65
|
|
|
58
66
|
/******************************************************************************/
|
|
@@ -365,7 +373,7 @@ async function updateStrictBlockRules(currentRules, addRules, removeRuleIds) {
|
|
|
365
373
|
|
|
366
374
|
const allExcluded = permanentlyExcluded.concat(temporarilyExcluded);
|
|
367
375
|
if ( allExcluded.length === 0 ) { return; }
|
|
368
|
-
addRules.
|
|
376
|
+
addRules.unshift({
|
|
369
377
|
action: { type: 'allow' },
|
|
370
378
|
condition: {
|
|
371
379
|
requestDomains: allExcluded,
|
|
@@ -103,18 +103,14 @@ for ( const selector of exceptedSelectors ) {
|
|
|
103
103
|
|
|
104
104
|
if ( sheetText.length === 0 ) { return; }
|
|
105
105
|
|
|
106
|
-
(
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
});
|
|
112
|
-
})(sheetText.join('\n'));
|
|
106
|
+
chrome.runtime.sendMessage({
|
|
107
|
+
what: 'insertCSS',
|
|
108
|
+
css: sheetText.join('\n'),
|
|
109
|
+
}).catch(( ) => {
|
|
110
|
+
});
|
|
113
111
|
|
|
114
112
|
/******************************************************************************/
|
|
115
113
|
|
|
116
114
|
})();
|
|
117
115
|
|
|
118
|
-
/******************************************************************************/
|
|
119
|
-
|
|
120
116
|
void 0;
|
|
@@ -214,11 +214,11 @@ const uBOL_processChanges = mutations => {
|
|
|
214
214
|
|
|
215
215
|
/******************************************************************************/
|
|
216
216
|
|
|
217
|
-
const uBOL_injectCSS =
|
|
218
|
-
chrome.runtime.sendMessage({
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
217
|
+
const uBOL_injectCSS = css => {
|
|
218
|
+
chrome.runtime.sendMessage({
|
|
219
|
+
what: 'insertCSS',
|
|
220
|
+
css,
|
|
221
|
+
}).catch(( ) => {
|
|
222
222
|
});
|
|
223
223
|
};
|
|
224
224
|
|
|
@@ -65,11 +65,11 @@ if ( exceptedSelectors.length === 0 ) { return; }
|
|
|
65
65
|
|
|
66
66
|
/******************************************************************************/
|
|
67
67
|
|
|
68
|
-
const uBOL_injectCSS =
|
|
69
|
-
chrome.runtime.sendMessage({
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
68
|
+
const uBOL_injectCSS = css => {
|
|
69
|
+
chrome.runtime.sendMessage({
|
|
70
|
+
what: 'insertCSS',
|
|
71
|
+
css,
|
|
72
|
+
}).catch(( ) => {
|
|
73
73
|
});
|
|
74
74
|
};
|
|
75
75
|
|
|
@@ -63,20 +63,14 @@ const exceptedSelectors = exceptions.length !== 0
|
|
|
63
63
|
: selectors;
|
|
64
64
|
if ( exceptedSelectors.length === 0 ) { return; }
|
|
65
65
|
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
if ( count === 0 ) { return; }
|
|
72
|
-
uBOL_injectCSS(css, count);
|
|
73
|
-
});
|
|
74
|
-
})(`${exceptedSelectors.join(',')}{display:none!important;}`);
|
|
66
|
+
chrome.runtime.sendMessage({
|
|
67
|
+
what: 'insertCSS',
|
|
68
|
+
css: `${exceptedSelectors.join(',')}{display:none!important;}`,
|
|
69
|
+
}).catch(( ) => {
|
|
70
|
+
});
|
|
75
71
|
|
|
76
72
|
/******************************************************************************/
|
|
77
73
|
|
|
78
74
|
})();
|
|
79
75
|
|
|
80
|
-
/******************************************************************************/
|
|
81
|
-
|
|
82
76
|
void 0;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*******************************************************************************
|
|
2
2
|
|
|
3
3
|
uBlock Origin Lite - a comprehensive, MV3-compliant content blocker
|
|
4
|
-
Copyright (C)
|
|
4
|
+
Copyright (C) 2025-present Raymond Hill
|
|
5
5
|
|
|
6
6
|
This program is free software: you can redistribute it and/or modify
|
|
7
7
|
it under the terms of the GNU General Public License as published by
|
|
@@ -19,9 +19,9 @@
|
|
|
19
19
|
Home: https://github.com/gorhill/uBlock
|
|
20
20
|
*/
|
|
21
21
|
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
}
|
|
22
|
+
(function uBOL_toggleToolbarIcon() {
|
|
23
|
+
chrome.runtime.sendMessage({
|
|
24
|
+
what: 'toggleToolbarIcon',
|
|
25
|
+
}).catch(( ) => {
|
|
26
|
+
});
|
|
27
|
+
})();
|
|
@@ -25,6 +25,7 @@ import { browser } from './ext.js';
|
|
|
25
25
|
import { fetchJSON } from './fetch.js';
|
|
26
26
|
import { getEnabledRulesetsDetails } from './ruleset-manager.js';
|
|
27
27
|
import { getFilteringModeDetails } from './mode-manager.js';
|
|
28
|
+
import { registerToolbarIconToggler } from './action.js';
|
|
28
29
|
import { ubolLog } from './debug.js';
|
|
29
30
|
|
|
30
31
|
/******************************************************************************/
|
|
@@ -53,19 +54,6 @@ function getGenericDetails() {
|
|
|
53
54
|
|
|
54
55
|
/******************************************************************************/
|
|
55
56
|
|
|
56
|
-
// Important: We need to sort the arrays for fast comparison
|
|
57
|
-
const arrayEq = (a = [], b = [], sort = true) => {
|
|
58
|
-
const alen = a.length;
|
|
59
|
-
if ( alen !== b.length ) { return false; }
|
|
60
|
-
if ( sort ) { a.sort(); b.sort(); }
|
|
61
|
-
for ( let i = 0; i < alen; i++ ) {
|
|
62
|
-
if ( a[i] !== b[i] ) { return false; }
|
|
63
|
-
}
|
|
64
|
-
return true;
|
|
65
|
-
};
|
|
66
|
-
|
|
67
|
-
/******************************************************************************/
|
|
68
|
-
|
|
69
57
|
const normalizeMatches = matches => {
|
|
70
58
|
if ( matches.length <= 1 ) { return; }
|
|
71
59
|
if ( matches.includes('<all_urls>') === false ) {
|
|
@@ -168,9 +156,9 @@ function registerHighGeneric(context, genericDetails) {
|
|
|
168
156
|
|
|
169
157
|
// update
|
|
170
158
|
if (
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
159
|
+
ut.strArrayEq(registered.css, css, false) === false ||
|
|
160
|
+
ut.strArrayEq(registered.matches, matches) === false ||
|
|
161
|
+
ut.strArrayEq(registered.excludeMatches, excludeMatches) === false
|
|
174
162
|
) {
|
|
175
163
|
context.toRemove.push('css-generichigh');
|
|
176
164
|
context.toAdd.push(directive);
|
|
@@ -231,8 +219,8 @@ function registerGeneric(context, genericDetails) {
|
|
|
231
219
|
if ( registered === undefined ) { // register
|
|
232
220
|
context.toAdd.push(directive);
|
|
233
221
|
} else if ( // update
|
|
234
|
-
|
|
235
|
-
|
|
222
|
+
ut.strArrayEq(registered.js, js, false) === false ||
|
|
223
|
+
ut.strArrayEq(registered.matches, directive.matches) === false
|
|
236
224
|
) {
|
|
237
225
|
context.toRemove.push('css-generic-some');
|
|
238
226
|
context.toAdd.push(directive);
|
|
@@ -257,8 +245,8 @@ function registerGeneric(context, genericDetails) {
|
|
|
257
245
|
if ( registeredAll === undefined ) { // register
|
|
258
246
|
context.toAdd.push(directiveAll);
|
|
259
247
|
} else if ( // update
|
|
260
|
-
|
|
261
|
-
|
|
248
|
+
ut.strArrayEq(registeredAll.js, js, false) === false ||
|
|
249
|
+
ut.strArrayEq(registeredAll.excludeMatches, directiveAll.excludeMatches) === false
|
|
262
250
|
) {
|
|
263
251
|
context.toRemove.push('css-generic-all');
|
|
264
252
|
context.toAdd.push(directiveAll);
|
|
@@ -281,8 +269,8 @@ function registerGeneric(context, genericDetails) {
|
|
|
281
269
|
if ( registeredSome === undefined ) { // register
|
|
282
270
|
context.toAdd.push(directiveSome);
|
|
283
271
|
} else if ( // update
|
|
284
|
-
|
|
285
|
-
|
|
272
|
+
ut.strArrayEq(registeredSome.js, js, false) === false ||
|
|
273
|
+
ut.strArrayEq(registeredSome.matches, directiveSome.matches) === false
|
|
286
274
|
) {
|
|
287
275
|
context.toRemove.push('css-generic-some');
|
|
288
276
|
context.toAdd.push(directiveSome);
|
|
@@ -342,9 +330,9 @@ function registerProcedural(context) {
|
|
|
342
330
|
|
|
343
331
|
// update
|
|
344
332
|
if (
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
333
|
+
ut.strArrayEq(registered.js, js, false) === false ||
|
|
334
|
+
ut.strArrayEq(registered.matches, matches) === false ||
|
|
335
|
+
ut.strArrayEq(registered.excludeMatches, excludeMatches) === false
|
|
348
336
|
) {
|
|
349
337
|
context.toRemove.push('css-procedural');
|
|
350
338
|
context.toAdd.push(directive);
|
|
@@ -404,9 +392,9 @@ function registerDeclarative(context) {
|
|
|
404
392
|
|
|
405
393
|
// update
|
|
406
394
|
if (
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
395
|
+
ut.strArrayEq(registered.js, js, false) === false ||
|
|
396
|
+
ut.strArrayEq(registered.matches, matches) === false ||
|
|
397
|
+
ut.strArrayEq(registered.excludeMatches, excludeMatches) === false
|
|
410
398
|
) {
|
|
411
399
|
context.toRemove.push('css-declarative');
|
|
412
400
|
context.toAdd.push(directive);
|
|
@@ -466,9 +454,9 @@ function registerSpecific(context) {
|
|
|
466
454
|
|
|
467
455
|
// update
|
|
468
456
|
if (
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
457
|
+
ut.strArrayEq(registered.js, js, false) === false ||
|
|
458
|
+
ut.strArrayEq(registered.matches, matches) === false ||
|
|
459
|
+
ut.strArrayEq(registered.excludeMatches, excludeMatches) === false
|
|
472
460
|
) {
|
|
473
461
|
context.toRemove.push('css-specific');
|
|
474
462
|
context.toAdd.push(directive);
|
|
@@ -545,8 +533,8 @@ function registerScriptlet(context, scriptletDetails) {
|
|
|
545
533
|
|
|
546
534
|
// update
|
|
547
535
|
if (
|
|
548
|
-
|
|
549
|
-
|
|
536
|
+
ut.strArrayEq(registered.matches, matches) === false ||
|
|
537
|
+
ut.strArrayEq(registered.excludeMatches, excludeMatches) === false
|
|
550
538
|
) {
|
|
551
539
|
context.toRemove.push(id);
|
|
552
540
|
context.toAdd.push(directive);
|
|
@@ -599,6 +587,7 @@ async function registerInjectables() {
|
|
|
599
587
|
registerSpecific(context);
|
|
600
588
|
registerGeneric(context, genericDetails);
|
|
601
589
|
registerHighGeneric(context, genericDetails);
|
|
590
|
+
registerToolbarIconToggler(context);
|
|
602
591
|
|
|
603
592
|
toRemove.push(...Array.from(before.keys()));
|
|
604
593
|
|
|
@@ -182,6 +182,19 @@ async function gotoURL(url, type) {
|
|
|
182
182
|
|
|
183
183
|
/******************************************************************************/
|
|
184
184
|
|
|
185
|
+
// Important: We need to sort the arrays for fast comparison
|
|
186
|
+
const strArrayEq = (a = [], b = [], sort = true) => {
|
|
187
|
+
const alen = a.length;
|
|
188
|
+
if ( alen !== b.length ) { return false; }
|
|
189
|
+
if ( sort ) { a.sort(); b.sort(); }
|
|
190
|
+
for ( let i = 0; i < alen; i++ ) {
|
|
191
|
+
if ( a[i] !== b[i] ) { return false; }
|
|
192
|
+
}
|
|
193
|
+
return true;
|
|
194
|
+
};
|
|
195
|
+
|
|
196
|
+
/******************************************************************************/
|
|
197
|
+
|
|
185
198
|
export {
|
|
186
199
|
broadcastMessage,
|
|
187
200
|
parsedURLromOrigin,
|
|
@@ -195,4 +208,5 @@ export {
|
|
|
195
208
|
hostnamesFromMatches,
|
|
196
209
|
hasBroadHostPermissions,
|
|
197
210
|
gotoURL,
|
|
211
|
+
strArrayEq,
|
|
198
212
|
};
|