mirror of
https://github.com/ajayyy/SponsorBlock.git
synced 2025-12-08 20:47:11 +03:00
Make invidious instances work on safari
This commit is contained in:
@@ -442,7 +442,7 @@
|
|||||||
|
|
||||||
<div id="advanced" class="option-group hidden">
|
<div id="advanced" class="option-group hidden">
|
||||||
|
|
||||||
<div id="support-invidious" data-type="toggle" data-sync="supportInvidious" data-no-safari="true">
|
<div id="support-invidious" data-type="toggle" data-sync="supportInvidious">
|
||||||
<div class="switch-container">
|
<div class="switch-container">
|
||||||
<label class="switch">
|
<label class="switch">
|
||||||
<input id="supportInvidious" type="checkbox">
|
<input id="supportInvidious" type="checkbox">
|
||||||
@@ -457,7 +457,7 @@
|
|||||||
<div class="small-description">__MSG_supportOtherSitesDescription__ </div>
|
<div class="small-description">__MSG_supportOtherSitesDescription__ </div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div data-type="private-text-change" data-sync="invidiousInstances" data-no-safari="true" data-dependent-on="supportInvidious">
|
<div data-type="private-text-change" data-sync="invidiousInstances" data-dependent-on="supportInvidious">
|
||||||
<div class="option-button trigger-button">
|
<div class="option-button trigger-button">
|
||||||
__MSG_addInvidiousInstance__
|
__MSG_addInvidiousInstance__
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -180,7 +180,7 @@ const Config: SBObject = {
|
|||||||
hideDiscordLaunches: 0,
|
hideDiscordLaunches: 0,
|
||||||
hideDiscordLink: false,
|
hideDiscordLink: false,
|
||||||
invidiousInstances: ["invidious.snopyta.org"], // leave as default
|
invidiousInstances: ["invidious.snopyta.org"], // leave as default
|
||||||
supportInvidious: isSafari(),
|
supportInvidious: false,
|
||||||
serverAddress: CompileConfig.serverAddress,
|
serverAddress: CompileConfig.serverAddress,
|
||||||
minDuration: 0,
|
minDuration: 0,
|
||||||
skipNoticeDuration: 4,
|
skipNoticeDuration: 4,
|
||||||
|
|||||||
@@ -119,8 +119,8 @@ export default class Utils {
|
|||||||
* @param {CallableFunction} callback
|
* @param {CallableFunction} callback
|
||||||
*/
|
*/
|
||||||
setupExtraSitePermissions(callback: (granted: boolean) => void): void {
|
setupExtraSitePermissions(callback: (granted: boolean) => void): void {
|
||||||
// Request permission
|
let permissions = ["webNavigation"];
|
||||||
let permissions = ["declarativeContent", "webNavigation"];
|
if (!isSafari()) permissions.push("declarativeContent");
|
||||||
if (this.isFirefox() && !isSafari()) permissions = [];
|
if (this.isFirefox() && !isSafari()) permissions = [];
|
||||||
|
|
||||||
chrome.permissions.request({
|
chrome.permissions.request({
|
||||||
@@ -213,8 +213,6 @@ export default class Utils {
|
|||||||
}
|
}
|
||||||
|
|
||||||
containsInvidiousPermission(): Promise<boolean> {
|
containsInvidiousPermission(): Promise<boolean> {
|
||||||
if (isSafari()) return Promise.resolve(true);
|
|
||||||
|
|
||||||
return new Promise((resolve) => {
|
return new Promise((resolve) => {
|
||||||
let permissions = ["declarativeContent"];
|
let permissions = ["declarativeContent"];
|
||||||
if (this.isFirefox()) permissions = [];
|
if (this.isFirefox()) permissions = [];
|
||||||
|
|||||||
@@ -3,8 +3,6 @@
|
|||||||
const webpack = require("webpack");
|
const webpack = require("webpack");
|
||||||
const path = require('path');
|
const path = require('path');
|
||||||
const { validate } = require('schema-utils');
|
const { validate } = require('schema-utils');
|
||||||
const invidiousList = require("../ci/invidiouslist.json");
|
|
||||||
|
|
||||||
const fs = require('fs');
|
const fs = require('fs');
|
||||||
|
|
||||||
const manifest = require("../manifest/manifest.json");
|
const manifest = require("../manifest/manifest.json");
|
||||||
@@ -50,11 +48,6 @@ class BuildManifest {
|
|||||||
mergeObjects(manifest, chromeManifestExtra);
|
mergeObjects(manifest, chromeManifestExtra);
|
||||||
} else if (this.options.browser.toLowerCase() === "safari") {
|
} else if (this.options.browser.toLowerCase() === "safari") {
|
||||||
mergeObjects(manifest, safariManifestExtra);
|
mergeObjects(manifest, safariManifestExtra);
|
||||||
|
|
||||||
// Add all invidious instances as options for the content script
|
|
||||||
for (const instance of invidiousList) {
|
|
||||||
manifest.content_scripts[0].matches.push(`*://*.${instance}/*`);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (this.options.stream === "beta") {
|
if (this.options.stream === "beta") {
|
||||||
|
|||||||
Reference in New Issue
Block a user