mirror of
https://github.com/ajayyy/SponsorBlock.git
synced 2025-12-26 09:28:37 +03:00
Compare commits
8 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
faa3259165 | ||
|
|
c96bafb6f7 | ||
|
|
9b7680f0e6 | ||
|
|
16e01b7494 | ||
|
|
6cd697dc32 | ||
|
|
9946bd1af2 | ||
|
|
3b06d72270 | ||
|
|
4bd0556464 |
@@ -1,6 +1,7 @@
|
|||||||
{
|
{
|
||||||
"optional_permissions": [
|
"optional_permissions": [
|
||||||
"declarativeContent"
|
"declarativeContent",
|
||||||
|
"webNavigation"
|
||||||
],
|
],
|
||||||
"background": {
|
"background": {
|
||||||
"persistent": false
|
"persistent": false
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "__MSG_fullName__",
|
"name": "__MSG_fullName__",
|
||||||
"short_name": "SponsorBlock",
|
"short_name": "SponsorBlock",
|
||||||
"version": "5.4.16",
|
"version": "5.4.18",
|
||||||
"default_locale": "en",
|
"default_locale": "en",
|
||||||
"description": "__MSG_Description__",
|
"description": "__MSG_Description__",
|
||||||
"homepage_url": "https://sponsor.ajay.app",
|
"homepage_url": "https://sponsor.ajay.app",
|
||||||
@@ -84,8 +84,7 @@
|
|||||||
"https://sponsor.ajay.app/*"
|
"https://sponsor.ajay.app/*"
|
||||||
],
|
],
|
||||||
"optional_permissions": [
|
"optional_permissions": [
|
||||||
"*://*/*",
|
"*://*/*"
|
||||||
"webNavigation"
|
|
||||||
],
|
],
|
||||||
"browser_action": {
|
"browser_action": {
|
||||||
"default_title": "SponsorBlock",
|
"default_title": "SponsorBlock",
|
||||||
|
|||||||
@@ -4,5 +4,8 @@
|
|||||||
},
|
},
|
||||||
"permissions": [
|
"permissions": [
|
||||||
"scripting"
|
"scripting"
|
||||||
|
],
|
||||||
|
"optional_permissions": [
|
||||||
|
"webNavigation"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
105
package-lock.json
generated
105
package-lock.json
generated
@@ -27,7 +27,7 @@
|
|||||||
],
|
],
|
||||||
"license": "LGPL-3.0-or-later",
|
"license": "LGPL-3.0-or-later",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"content-scripts-register-polyfill": "^4.0.2",
|
"@ajayyy/content-scripts-register-polyfill": "^4.0.2-safari-fix",
|
||||||
"react": "^18.2.0",
|
"react": "^18.2.0",
|
||||||
"react-dom": "^18.2.0"
|
"react-dom": "^18.2.0"
|
||||||
},
|
},
|
||||||
@@ -65,6 +65,34 @@
|
|||||||
"node": ">=16"
|
"node": ">=16"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/@ajayyy/content-scripts-register-polyfill": {
|
||||||
|
"version": "4.0.2-safari-fix",
|
||||||
|
"resolved": "https://registry.npmjs.org/@ajayyy/content-scripts-register-polyfill/-/content-scripts-register-polyfill-4.0.2-safari-fix.tgz",
|
||||||
|
"integrity": "sha512-okyqlFmLUmOZQrkZ6ChUbfcNXadamlaIGqzb6fi5MRnzvr+myoG4sK+whxhCY9hPmU///dqMGtV8FVom8sJpHA==",
|
||||||
|
"dependencies": {
|
||||||
|
"@ajayyy/webext-content-scripts": "^2.5.4-safari-fix",
|
||||||
|
"webext-patterns": "^1.3.0",
|
||||||
|
"webext-polyfill-kinda": "^1.0.0"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"url": "https://github.com/sponsors/fregante"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@ajayyy/webext-content-scripts": {
|
||||||
|
"version": "2.5.4-safari-fix",
|
||||||
|
"resolved": "https://registry.npmjs.org/@ajayyy/webext-content-scripts/-/webext-content-scripts-2.5.4-safari-fix.tgz",
|
||||||
|
"integrity": "sha512-gn1PF4+dfld6whvmjjnYGvB26z9ja0SNIcgHVQl42Bh/lz89hviH8HWqi1p7XXN/p0BsOwJAx8jzqkmb2IAQvQ==",
|
||||||
|
"dependencies": {
|
||||||
|
"webext-patterns": "^1.3.0",
|
||||||
|
"webext-polyfill-kinda": "^1.0.2"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=16"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"url": "https://github.com/sponsors/fregante"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/@ampproject/remapping": {
|
"node_modules/@ampproject/remapping": {
|
||||||
"version": "2.2.0",
|
"version": "2.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz",
|
"resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz",
|
||||||
@@ -4254,19 +4282,6 @@
|
|||||||
"url": "https://github.com/yeoman/configstore?sponsor=1"
|
"url": "https://github.com/yeoman/configstore?sponsor=1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/content-scripts-register-polyfill": {
|
|
||||||
"version": "4.0.2",
|
|
||||||
"resolved": "https://registry.npmjs.org/content-scripts-register-polyfill/-/content-scripts-register-polyfill-4.0.2.tgz",
|
|
||||||
"integrity": "sha512-8hDm+tu3BkxHZP7EUIIIo/495F6QNXF7cI9Lwr4PQaiohw2wWmi9k2SE4W4kNrAaLnFw6RZ2ev8EmrQb+sCoGQ==",
|
|
||||||
"dependencies": {
|
|
||||||
"webext-content-scripts": "^2.5.2",
|
|
||||||
"webext-patterns": "^1.3.0",
|
|
||||||
"webext-polyfill-kinda": "^1.0.0"
|
|
||||||
},
|
|
||||||
"funding": {
|
|
||||||
"url": "https://github.com/sponsors/fregante"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/convert-source-map": {
|
"node_modules/convert-source-map": {
|
||||||
"version": "1.8.0",
|
"version": "1.8.0",
|
||||||
"resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz",
|
"resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz",
|
||||||
@@ -12960,18 +12975,6 @@
|
|||||||
"node": ">= 8"
|
"node": ">= 8"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/webext-content-scripts": {
|
|
||||||
"version": "2.5.2",
|
|
||||||
"resolved": "https://registry.npmjs.org/webext-content-scripts/-/webext-content-scripts-2.5.2.tgz",
|
|
||||||
"integrity": "sha512-N1Xq/E8dx0lVAOyPquuo+2Vj9Fx1GoqCFo79lWeJHbemaBJ53N3BHBmbJJYsQ8FOP1xiwN4bPRQY2dpSjHAD3Q==",
|
|
||||||
"dependencies": {
|
|
||||||
"webext-patterns": "^1.3.0",
|
|
||||||
"webext-polyfill-kinda": "^1.0.0"
|
|
||||||
},
|
|
||||||
"funding": {
|
|
||||||
"url": "https://github.com/sponsors/fregante"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/webext-patterns": {
|
"node_modules/webext-patterns": {
|
||||||
"version": "1.3.0",
|
"version": "1.3.0",
|
||||||
"resolved": "https://registry.npmjs.org/webext-patterns/-/webext-patterns-1.3.0.tgz",
|
"resolved": "https://registry.npmjs.org/webext-patterns/-/webext-patterns-1.3.0.tgz",
|
||||||
@@ -12995,9 +12998,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/webext-polyfill-kinda": {
|
"node_modules/webext-polyfill-kinda": {
|
||||||
"version": "1.0.0",
|
"version": "1.0.2",
|
||||||
"resolved": "https://registry.npmjs.org/webext-polyfill-kinda/-/webext-polyfill-kinda-1.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/webext-polyfill-kinda/-/webext-polyfill-kinda-1.0.2.tgz",
|
||||||
"integrity": "sha512-Py/d3w/bC0KntuO60ePSWHsdrebZ3uYBLeFUjyPkDV3yTEQib0MRFvPh57t8XjImu4ylBoEAsFjzh/r22UtxMw==",
|
"integrity": "sha512-rqQUKeBTOicej0tjDJWDQlOTnDcm9yYJTzgI+7rMdyYV4QHmYMRm+yjkcVgECkg/Wu9MboZ4lYeBPdp1Ep9WgQ==",
|
||||||
"funding": {
|
"funding": {
|
||||||
"url": "https://github.com/sponsors/fregante"
|
"url": "https://github.com/sponsors/fregante"
|
||||||
}
|
}
|
||||||
@@ -13575,6 +13578,25 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
"@ajayyy/content-scripts-register-polyfill": {
|
||||||
|
"version": "4.0.2-safari-fix",
|
||||||
|
"resolved": "https://registry.npmjs.org/@ajayyy/content-scripts-register-polyfill/-/content-scripts-register-polyfill-4.0.2-safari-fix.tgz",
|
||||||
|
"integrity": "sha512-okyqlFmLUmOZQrkZ6ChUbfcNXadamlaIGqzb6fi5MRnzvr+myoG4sK+whxhCY9hPmU///dqMGtV8FVom8sJpHA==",
|
||||||
|
"requires": {
|
||||||
|
"@ajayyy/webext-content-scripts": "^2.5.4-safari-fix",
|
||||||
|
"webext-patterns": "^1.3.0",
|
||||||
|
"webext-polyfill-kinda": "^1.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"@ajayyy/webext-content-scripts": {
|
||||||
|
"version": "2.5.4-safari-fix",
|
||||||
|
"resolved": "https://registry.npmjs.org/@ajayyy/webext-content-scripts/-/webext-content-scripts-2.5.4-safari-fix.tgz",
|
||||||
|
"integrity": "sha512-gn1PF4+dfld6whvmjjnYGvB26z9ja0SNIcgHVQl42Bh/lz89hviH8HWqi1p7XXN/p0BsOwJAx8jzqkmb2IAQvQ==",
|
||||||
|
"requires": {
|
||||||
|
"webext-patterns": "^1.3.0",
|
||||||
|
"webext-polyfill-kinda": "^1.0.2"
|
||||||
|
}
|
||||||
|
},
|
||||||
"@ampproject/remapping": {
|
"@ampproject/remapping": {
|
||||||
"version": "2.2.0",
|
"version": "2.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz",
|
"resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz",
|
||||||
@@ -16734,16 +16756,6 @@
|
|||||||
"xdg-basedir": "^5.0.1"
|
"xdg-basedir": "^5.0.1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"content-scripts-register-polyfill": {
|
|
||||||
"version": "4.0.2",
|
|
||||||
"resolved": "https://registry.npmjs.org/content-scripts-register-polyfill/-/content-scripts-register-polyfill-4.0.2.tgz",
|
|
||||||
"integrity": "sha512-8hDm+tu3BkxHZP7EUIIIo/495F6QNXF7cI9Lwr4PQaiohw2wWmi9k2SE4W4kNrAaLnFw6RZ2ev8EmrQb+sCoGQ==",
|
|
||||||
"requires": {
|
|
||||||
"webext-content-scripts": "^2.5.2",
|
|
||||||
"webext-patterns": "^1.3.0",
|
|
||||||
"webext-polyfill-kinda": "^1.0.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"convert-source-map": {
|
"convert-source-map": {
|
||||||
"version": "1.8.0",
|
"version": "1.8.0",
|
||||||
"resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz",
|
"resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz",
|
||||||
@@ -23095,15 +23107,6 @@
|
|||||||
"integrity": "sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q==",
|
"integrity": "sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"webext-content-scripts": {
|
|
||||||
"version": "2.5.2",
|
|
||||||
"resolved": "https://registry.npmjs.org/webext-content-scripts/-/webext-content-scripts-2.5.2.tgz",
|
|
||||||
"integrity": "sha512-N1Xq/E8dx0lVAOyPquuo+2Vj9Fx1GoqCFo79lWeJHbemaBJ53N3BHBmbJJYsQ8FOP1xiwN4bPRQY2dpSjHAD3Q==",
|
|
||||||
"requires": {
|
|
||||||
"webext-patterns": "^1.3.0",
|
|
||||||
"webext-polyfill-kinda": "^1.0.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"webext-patterns": {
|
"webext-patterns": {
|
||||||
"version": "1.3.0",
|
"version": "1.3.0",
|
||||||
"resolved": "https://registry.npmjs.org/webext-patterns/-/webext-patterns-1.3.0.tgz",
|
"resolved": "https://registry.npmjs.org/webext-patterns/-/webext-patterns-1.3.0.tgz",
|
||||||
@@ -23120,9 +23123,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"webext-polyfill-kinda": {
|
"webext-polyfill-kinda": {
|
||||||
"version": "1.0.0",
|
"version": "1.0.2",
|
||||||
"resolved": "https://registry.npmjs.org/webext-polyfill-kinda/-/webext-polyfill-kinda-1.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/webext-polyfill-kinda/-/webext-polyfill-kinda-1.0.2.tgz",
|
||||||
"integrity": "sha512-Py/d3w/bC0KntuO60ePSWHsdrebZ3uYBLeFUjyPkDV3yTEQib0MRFvPh57t8XjImu4ylBoEAsFjzh/r22UtxMw=="
|
"integrity": "sha512-rqQUKeBTOicej0tjDJWDQlOTnDcm9yYJTzgI+7rMdyYV4QHmYMRm+yjkcVgECkg/Wu9MboZ4lYeBPdp1Ep9WgQ=="
|
||||||
},
|
},
|
||||||
"webidl-conversions": {
|
"webidl-conversions": {
|
||||||
"version": "7.0.0",
|
"version": "7.0.0",
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
"description": "",
|
"description": "",
|
||||||
"main": "background.js",
|
"main": "background.js",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"content-scripts-register-polyfill": "^4.0.2",
|
"@ajayyy/content-scripts-register-polyfill": "^4.0.2-safari-fix",
|
||||||
"react": "^18.2.0",
|
"react": "^18.2.0",
|
||||||
"react-dom": "^18.2.0"
|
"react-dom": "^18.2.0"
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ import * as CompileConfig from "../config.json";
|
|||||||
|
|
||||||
import Config from "./config";
|
import Config from "./config";
|
||||||
import { Registration } from "./types";
|
import { Registration } from "./types";
|
||||||
import "content-scripts-register-polyfill";
|
import "@ajayyy/content-scripts-register-polyfill";
|
||||||
import { sendRealRequestToCustomServer, setupBackgroundRequestProxy } from "../maze-utils/src/background-request-proxy";
|
import { sendRealRequestToCustomServer, setupBackgroundRequestProxy } from "../maze-utils/src/background-request-proxy";
|
||||||
import { setupTabUpdates } from "../maze-utils/src/tab-updates";
|
import { setupTabUpdates } from "../maze-utils/src/tab-updates";
|
||||||
import { generateUserID } from "../maze-utils/src/setup";
|
import { generateUserID } from "../maze-utils/src/setup";
|
||||||
@@ -155,18 +155,9 @@ chrome.runtime.onInstalled.addListener(function () {
|
|||||||
*/
|
*/
|
||||||
async function registerFirefoxContentScript(options: Registration) {
|
async function registerFirefoxContentScript(options: Registration) {
|
||||||
if ("scripting" in chrome && "getRegisteredContentScripts" in chrome.scripting) {
|
if ("scripting" in chrome && "getRegisteredContentScripts" in chrome.scripting) {
|
||||||
// Bug in Firefox where you need to use browser namespace for this call
|
const existingRegistrations = await chromeP.scripting.getRegisteredContentScripts({
|
||||||
const getContentScripts = async (filter: browser.scripting.ContentScriptFilter) => {
|
|
||||||
if (isFirefoxOrSafari()) {
|
|
||||||
return await browser.scripting.getRegisteredContentScripts(filter);
|
|
||||||
} else {
|
|
||||||
return await chrome.scripting.getRegisteredContentScripts(filter);
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
const existingRegistrations = await getContentScripts({
|
|
||||||
ids: [options.id]
|
ids: [options.id]
|
||||||
});
|
}).catch(() => []);
|
||||||
|
|
||||||
if (existingRegistrations.length > 0
|
if (existingRegistrations.length > 0
|
||||||
&& existingRegistrations[0].matches.every((match) => options.matches.includes(match))) {
|
&& existingRegistrations[0].matches.every((match) => options.matches.includes(match))) {
|
||||||
@@ -204,9 +195,13 @@ async function registerFirefoxContentScript(options: Registration) {
|
|||||||
*/
|
*/
|
||||||
async function unregisterFirefoxContentScript(id: string) {
|
async function unregisterFirefoxContentScript(id: string) {
|
||||||
if ("scripting" in chrome && "getRegisteredContentScripts" in chrome.scripting) {
|
if ("scripting" in chrome && "getRegisteredContentScripts" in chrome.scripting) {
|
||||||
|
try {
|
||||||
await chromeP.scripting.unregisterContentScripts({
|
await chromeP.scripting.unregisterContentScripts({
|
||||||
ids: [id]
|
ids: [id]
|
||||||
});
|
});
|
||||||
|
} catch (e) {
|
||||||
|
// Not registered yet
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
if (contentScriptRegistrations[id]) {
|
if (contentScriptRegistrations[id]) {
|
||||||
contentScriptRegistrations[id].unregister();
|
contentScriptRegistrations[id].unregister();
|
||||||
|
|||||||
Reference in New Issue
Block a user