mirror of
https://github.com/ajayyy/SponsorBlock.git
synced 2025-12-07 03:57:09 +03:00
Add invidious instances by default for safari
https://github.com/ajayyy/SponsorBlock/issues/798
This commit is contained in:
@@ -1,7 +1,7 @@
|
|||||||
import * as CompileConfig from "../config.json";
|
import * as CompileConfig from "../config.json";
|
||||||
import * as invidiousList from "../ci/invidiouslist.json";
|
import * as invidiousList from "../ci/invidiouslist.json";
|
||||||
import { Category, CategorySelection, CategorySkipOption, NoticeVisbilityMode, PreviewBarOption, SponsorTime, StorageChangesObject, Keybind, HashedValue, VideoID, SponsorHideType } from "./types";
|
import { Category, CategorySelection, CategorySkipOption, NoticeVisbilityMode, PreviewBarOption, SponsorTime, StorageChangesObject, Keybind, HashedValue, VideoID, SponsorHideType } from "./types";
|
||||||
import { keybindEquals } from "./utils/configUtils";
|
import { isSafari, keybindEquals } from "./utils/configUtils";
|
||||||
|
|
||||||
export interface Permission {
|
export interface Permission {
|
||||||
canSubmit: boolean;
|
canSubmit: boolean;
|
||||||
@@ -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: false,
|
supportInvidious: isSafari(),
|
||||||
serverAddress: CompileConfig.serverAddress,
|
serverAddress: CompileConfig.serverAddress,
|
||||||
minDuration: 0,
|
minDuration: 0,
|
||||||
skipNoticeDuration: 4,
|
skipNoticeDuration: 4,
|
||||||
@@ -550,7 +550,8 @@ function migrateOldSyncFormats(config: SBConfig) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// populate invidiousInstances with new instances if 3p support is **DISABLED**
|
// populate invidiousInstances with new instances if 3p support is **DISABLED**
|
||||||
if (!config["supportInvidious"] && config["invidiousInstances"].length !== invidiousList.length) {
|
// for safari, update it immediately
|
||||||
|
if ((isSafari() || !config["supportInvidious"]) && config["invidiousInstances"].length !== invidiousList.length) {
|
||||||
config["invidiousInstances"] = invidiousList;
|
config["invidiousInstances"] = invidiousList;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ import { CategorySelection, SponsorTime, FetchResponse, BackgroundScriptContaine
|
|||||||
import * as CompileConfig from "../config.json";
|
import * as CompileConfig from "../config.json";
|
||||||
import { findValidElement, findValidElementFromSelector } from "./utils/pageUtils";
|
import { findValidElement, findValidElementFromSelector } from "./utils/pageUtils";
|
||||||
import { waitFor } from "@ajayyy/maze-utils";
|
import { waitFor } from "@ajayyy/maze-utils";
|
||||||
|
import { isSafari } from "./utils/configUtils";
|
||||||
|
|
||||||
export default class Utils {
|
export default class Utils {
|
||||||
|
|
||||||
@@ -236,6 +237,8 @@ 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,6 +3,7 @@
|
|||||||
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');
|
||||||
|
|
||||||
@@ -49,6 +50,11 @@ 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