aboutsummaryrefslogtreecommitdiffstats
path: root/src/assets
diff options
context:
space:
mode:
authorManeraKai <manerakai@protonmail.com>2022-05-04 22:46:21 +0300
committerManeraKai <manerakai@protonmail.com>2022-05-04 22:46:21 +0300
commit6ca48a60514546e972bc66c63c9405b515121a99 (patch)
treec44e72afc4fbcb241bc63ab6be7d627956978762 /src/assets
parentSimplified code. Removed pixivMoe, old.reddit.com #239 (diff)
downloadlibredirect-6ca48a60514546e972bc66c63c9405b515121a99.zip
Removed cloudflare instances & disabled YT Music by default #218
Diffstat (limited to 'src/assets')
-rw-r--r--src/assets/javascripts/helpers/common.js65
-rw-r--r--src/assets/javascripts/helpers/general.js1
-rw-r--r--src/assets/javascripts/helpers/imgur.js48
-rw-r--r--src/assets/javascripts/helpers/instagram.js41
-rw-r--r--src/assets/javascripts/helpers/lbry.js13
-rw-r--r--src/assets/javascripts/helpers/maps.js17
-rw-r--r--src/assets/javascripts/helpers/medium.js19
-rw-r--r--src/assets/javascripts/helpers/peertube.js26
-rw-r--r--src/assets/javascripts/helpers/reddit.js34
-rw-r--r--src/assets/javascripts/helpers/search.js70
-rw-r--r--src/assets/javascripts/helpers/sendTargets.js23
-rw-r--r--src/assets/javascripts/helpers/speedtest.js2
-rw-r--r--src/assets/javascripts/helpers/spotify.js19
-rw-r--r--src/assets/javascripts/helpers/translate/lingva-preferences.js4
-rw-r--r--src/assets/javascripts/helpers/translate/translate.js135
-rw-r--r--src/assets/javascripts/helpers/twitter.js57
-rw-r--r--src/assets/javascripts/helpers/wikipedia.js34
-rw-r--r--src/assets/javascripts/helpers/youtube/youtube.js142
-rw-r--r--src/assets/javascripts/helpers/youtubeMusic.js4
19 files changed, 419 insertions, 335 deletions
diff --git a/src/assets/javascripts/helpers/common.js b/src/assets/javascripts/helpers/common.js
index b2a91b20..5d470cf0 100644
--- a/src/assets/javascripts/helpers/common.js
+++ b/src/assets/javascripts/helpers/common.js
@@ -19,11 +19,12 @@ let cloudflareList = [];
async function initCloudflareList() {
return new Promise(resolve => {
fetch('/instances/cloudflare.json').then(response => response.text()).then(data => {
- cloudflareList = data;
+ cloudflareList = JSON.parse(data);
resolve();
})
});
}
+
async function wholeInit() {
await youtubeHelper.init();
await twitterHelper.init();
@@ -98,9 +99,9 @@ function protocolHost(url) {
}
async function processDefaultCustomInstances(
+ target,
name,
protocol,
- nameHelper,
document,
) {
function camelCase(str) {
@@ -116,9 +117,38 @@ async function processDefaultCustomInstances(
await initCloudflareList();
+
+ let nameDefaultRedirects;
+
+ let redirectsChecks = `${name}${camelCase(protocol)}RedirectsChecks`;
+ let customRedirects = `${name}${camelCase(protocol)}CustomRedirects`;
+ let redirectsKey = `${target}Redirects`;
+
+ let redirects;
+
+ async function getFromStorage() {
+ return new Promise(async resolve => {
+
+ browser.storage.local.get(
+ [
+ redirectsChecks,
+ customRedirects,
+ redirectsKey
+ ],
+ r => {
+ nameDefaultRedirects = r[redirectsChecks];
+ nameCustomInstances = r[customRedirects];
+ redirects = r[redirectsKey];
+ resolve();
+ }
+ )
+ })
+ }
+ await getFromStorage();
+
function calcNameCheckBoxes() {
let isTrue = true;
- for (const item of nameHelper.getRedirects()[name][protocol])
+ for (const item of redirects[name][protocol])
if (!nameDefaultRedirects.includes(item)) {
isTrue = false;
break;
@@ -129,11 +159,6 @@ async function processDefaultCustomInstances(
nameProtocolElement.getElementsByClassName('toogle-all')[0].checked = isTrue;
}
- let nameDefaultRedirects;
-
- let redirectsChecks = `${name}${camelCase(protocol)}RedirectsChecks`;
- let customRedirects = `${name}${camelCase(protocol)}CustomRedirects`;
-
async function setRedirectsChecks(val) {
await browser.storage.local.set({ [redirectsChecks]: val });
}
@@ -142,24 +167,6 @@ async function processDefaultCustomInstances(
await browser.storage.local.set({ [customRedirects]: val });
}
- async function getFromStorage() {
- return new Promise(async resolve => {
- nameHelper.init().then(() =>
- browser.storage.local.get(
- [
- redirectsChecks,
- customRedirects,
- ],
- r => {
- nameDefaultRedirects = r[redirectsChecks];
- nameCustomInstances = r[customRedirects];
- resolve();
- }
- )
- )
- })
- }
- await getFromStorage();
nameCheckListElement.innerHTML =
[
@@ -167,7 +174,7 @@ async function processDefaultCustomInstances(
<x data-localise="__MSG_toggleAll__">Toggle All</x>
<input type="checkbox" class="toogle-all"/>
</div>`,
- ...nameHelper.getRedirects()[name][protocol].map(
+ ...redirects[name][protocol].map(
x => {
let cloudflare = cloudflareList.includes(x) ? ' <span style="color:red;">cloudflare</span>' : '';
@@ -185,7 +192,7 @@ async function processDefaultCustomInstances(
calcNameCheckBoxes();
nameProtocolElement.getElementsByClassName('toogle-all')[0].addEventListener("change", async event => {
if (event.target.checked)
- nameDefaultRedirects = [...nameHelper.getRedirects()[name][protocol]];
+ nameDefaultRedirects = [...redirects[name][protocol]];
else
nameDefaultRedirects = [];
@@ -236,7 +243,7 @@ async function processDefaultCustomInstances(
let nameCustomInstanceInput = nameProtocolElement.getElementsByClassName('custom-instance')[0];
let url = new URL(nameCustomInstanceInput.value);
let protocolHostVar = protocolHost(url);
- if (nameCustomInstanceInput.validity.valid && !nameHelper.getRedirects()[name][protocol].includes(protocolHostVar)) {
+ if (nameCustomInstanceInput.validity.valid && !redirects[name][protocol].includes(protocolHostVar)) {
if (!nameCustomInstances.includes(protocolHostVar)) {
nameCustomInstances.push(protocolHostVar)
setCustom(nameCustomInstances);
diff --git a/src/assets/javascripts/helpers/general.js b/src/assets/javascripts/helpers/general.js
index 4a1681e9..56f76d8b 100644
--- a/src/assets/javascripts/helpers/general.js
+++ b/src/assets/javascripts/helpers/general.js
@@ -74,7 +74,6 @@ async function init() {
popupFrontends = r.popupFrontends ?? [
"youtube",
- "youtubeMusic",
"twitter",
"instagram",
"tikTok",
diff --git a/src/assets/javascripts/helpers/imgur.js b/src/assets/javascripts/helpers/imgur.js
index 7a2daa43..f581a75a 100644
--- a/src/assets/javascripts/helpers/imgur.js
+++ b/src/assets/javascripts/helpers/imgur.js
@@ -21,33 +21,35 @@ function setRedirects(val) {
var index = rimgoNormalRedirectsChecks.indexOf(item);
if (index !== -1) rimgoNormalRedirectsChecks.splice(index, 1);
}
- browser.storage.local.set({rimgoNormalRedirectsChecks});
+ browser.storage.local.set({ rimgoNormalRedirectsChecks });
for (const item of rimgoTorRedirectsChecks)
if (!redirects.rimgo.tor.includes(item)) {
var index = rimgoTorRedirectsChecks.indexOf(item);
if (index !== -1) rimgoTorRedirectsChecks.splice(index, 1);
}
- browser.storage.local.set({rimgoTorRedirectsChecks});
+ browser.storage.local.set({ rimgoTorRedirectsChecks });
for (const item of rimgoI2pRedirectsChecks)
if (!redirects.rimgo.i2p.includes(item)) {
var index = rimgoI2pRedirectsChecks.indexOf(item);
if (index !== -1) rimgoI2pRedirectsChecks.splice(index, 1);
}
- browser.storage.local.set({rimgoI2pRedirectsChecks});
+ browser.storage.local.set({ rimgoI2pRedirectsChecks });
}
-let disable;
-let protocol;
+let
+ disable,
+ protocol;
-let rimgoNormalRedirectsChecks;
-let rimgoTorRedirectsChecks;
-let rimgoI2pRedirectsChecks;
-let rimgoNormalCustomRedirects = [];
-let rimgoTorCustomRedirects = [];
-let rimgoI2pCustomRedirects = [];
+let
+ rimgoNormalRedirectsChecks,
+ rimgoTorRedirectsChecks,
+ rimgoI2pRedirectsChecks,
+ rimgoNormalCustomRedirects,
+ rimgoTorCustomRedirects,
+ rimgoI2pCustomRedirects;
function redirect(url, type, initiator) {
// https://imgur.com/gallery/s4WXQmn
@@ -129,18 +131,23 @@ function switchInstance(url) {
}
async function initDefaults() {
- return new Promise(async resolve => {
- fetch('/instances/data.json').then(response => response.text()).then(async data => {
- let dataJson = JSON.parse(data);
- redirects.rimgo = dataJson.rimgo
+ fetch('/instances/data.json').then(response => response.text()).then(async data => {
+ let dataJson = JSON.parse(data);
+ redirects.rimgo = dataJson.rimgo;
+ browser.storage.local.get('cloudflareList', async r => {
+ rimgoNormalRedirectsChecks = [...redirects.rimgo.normal];
+ for (const instance of r.cloudflareList) {
+ let i;
+
+ i = rimgoNormalRedirectsChecks.indexOf(instance);
+ if (i > -1) rimgoNormalRedirectsChecks.splice(i, 1);
+ }
await browser.storage.local.set({
disableImgur: false,
imgurProtocol: 'normal',
- imgurRedirects: {
- 'rimgo': redirects.rimgo,
- },
+ imgurRedirects: redirects,
- rimgoNormalRedirectsChecks: [...redirects.rimgo.normal],
+ rimgoNormalRedirectsChecks: rimgoNormalRedirectsChecks,
rimgoNormalCustomRedirects: [],
rimgoTorRedirectsChecks: [...redirects.rimgo.tor],
@@ -149,9 +156,8 @@ async function initDefaults() {
rimgoI2pRedirectsChecks: [...redirects.rimgo.i2p],
rimgoI2pCustomRedirects: [],
});
- resolve();
});
- })
+ });
}
async function init() {
diff --git a/src/assets/javascripts/helpers/instagram.js b/src/assets/javascripts/helpers/instagram.js
index 26414070..3277ffda 100644
--- a/src/assets/javascripts/helpers/instagram.js
+++ b/src/assets/javascripts/helpers/instagram.js
@@ -173,27 +173,34 @@ async function initDefaults() {
fetch('/instances/data.json').then(response => response.text()).then(async data => {
let dataJson = JSON.parse(data);
redirects.bibliogram = dataJson.bibliogram;
- await browser.storage.local.set({
- disableInstagram: false,
- instagramRedirects: {
- 'bibliogram': redirects.bibliogram
- },
+ browser.storage.local.get('cloudflareList', async r => {
+ bibliogramNormalRedirectsChecks = [...redirects.bibliogram.normal];
+ for (const instance of r.cloudflareList) {
+ let i;
- theme: 'DEFAULT',
- applyThemeToSites: false,
+ i = bibliogramNormalRedirectsChecks.indexOf(instance);
+ if (i > -1) bibliogramNormalRedirectsChecks.splice(i, 1);
+ }
+ await browser.storage.local.set({
+ disableInstagram: false,
+ instagramRedirects: redirects,
- instancesCookies: [],
+ theme: 'DEFAULT',
+ applyThemeToSites: false,
- bibliogramNormalRedirectsChecks: [...redirects.bibliogram.normal],
- bibliogramTorRedirectsChecks: [],
+ instancesCookies: [],
- bibliogramNormalCustomRedirects: [...redirects.bibliogram.tor],
- bibliogramTorCustomRedirects: [],
- instagramProtocol: "normal",
- })
- resolve();
- }
- )
+ bibliogramNormalRedirectsChecks: bibliogramNormalRedirectsChecks,
+ bibliogramTorRedirectsChecks: [],
+
+ bibliogramNormalCustomRedirects: [...redirects.bibliogram.tor],
+ bibliogramTorCustomRedirects: [],
+ instagramProtocol: "normal",
+ })
+ resolve();
+ }
+ )
+ })
})
}
diff --git a/src/assets/javascripts/helpers/lbry.js b/src/assets/javascripts/helpers/lbry.js
index 8b0f78a7..b82ae9ad 100644
--- a/src/assets/javascripts/helpers/lbry.js
+++ b/src/assets/javascripts/helpers/lbry.js
@@ -93,14 +93,21 @@ function redirect(url, type, initiator) {
}
async function initDefaults() {
- return new Promise(async resolve => {
+ browser.storage.local.get('cloudflareList', async r => {
+ librarianNormalRedirectsChecks = [...redirects.librarian.normal];
+ for (const instance of r.cloudflareList) {
+ let i;
+
+ i = librarianNormalRedirectsChecks.indexOf(instance);
+ if (i > -1) librarianNormalRedirectsChecks.splice(i, 1);
+ }
await browser.storage.local.set({
disableLbryTargets: true,
lbryTargetsRedirects: {
'librarian': redirects.librarian
},
- librarianNormalRedirectsChecks: [...redirects.librarian.normal],
+ librarianNormalRedirectsChecks: librarianNormalRedirectsChecks,
librarianNormalCustomRedirects: [],
librarianTorRedirectsChecks: [...redirects.librarian.tor],
@@ -108,7 +115,6 @@ async function initDefaults() {
lbryTargetsProtocol: "normal",
})
- resolve();
})
}
@@ -129,7 +135,6 @@ async function init() {
"lbryTargetsProtocol"
],
r => {
-
disable = r.disableLbryTargets;
protocol = r.lbryTargetsProtocol;
diff --git a/src/assets/javascripts/helpers/maps.js b/src/assets/javascripts/helpers/maps.js
index 25dcf2c5..86a53b18 100644
--- a/src/assets/javascripts/helpers/maps.js
+++ b/src/assets/javascripts/helpers/maps.js
@@ -17,7 +17,6 @@ let redirects = {
]
}
};
-const getRedirects = () => redirects;
let disable; // disableMaps
let frontend; // mapsFrontend
@@ -187,14 +186,14 @@ function redirect(url, initiator) {
}
async function initDefaults() {
- return new Promise(async resolve => {
- await browser.storage.local.set({
- disableMaps: false,
- mapsFrontend: 'osm',
+ await browser.storage.local.set({
+ disableMaps: false,
+ mapsFrontend: 'osm',
- facilNormalRedirectsChecks: [...redirects.facil.normal],
- facilNormalCustomRedirects: [],
- })
+ mapsRedirects: redirects,
+
+ facilNormalRedirectsChecks: [...redirects.facil.normal],
+ facilNormalCustomRedirects: [],
})
}
@@ -223,8 +222,6 @@ async function init() {
}
export default {
- getRedirects,
-
redirect,
init,
initDefaults,
diff --git a/src/assets/javascripts/helpers/medium.js b/src/assets/javascripts/helpers/medium.js
index beea1a99..99a14cca 100644
--- a/src/assets/javascripts/helpers/medium.js
+++ b/src/assets/javascripts/helpers/medium.js
@@ -123,20 +123,27 @@ function switchInstance(url) {
}
async function initDefaults() {
- return new Promise(async resolve => {
- fetch('/instances/data.json').then(response => response.text()).then(async data => {
- let dataJson = JSON.parse(data);
- redirects.scribe = dataJson.scribe;
+ fetch('/instances/data.json').then(response => response.text()).then(async data => {
+ let dataJson = JSON.parse(data);
+ redirects.scribe = dataJson.scribe;
+ browser.storage.local.get('cloudflareList', async r => {
+ scribeNormalRedirectsChecks = [...redirects.scribe.normal];
+ for (const instance of r.cloudflareList) {
+ let i = scribeNormalRedirectsChecks.indexOf(instance);
+ if (i > -1) scribeNormalRedirectsChecks.splice(i, 1);
+ }
await browser.storage.local.set({
disableMedium: false,
mediumRedirects: redirects,
- scribeNormalRedirectsChecks: [...redirects.scribe.normal],
+
+ scribeNormalRedirectsChecks: scribeNormalRedirectsChecks,
scribeNormalCustomRedirects: [],
+
scribeTorRedirectsChecks: [...redirects.scribe.tor],
scribeTorCustomRedirects: [],
+
mediumProtocol: "normal",
})
- resolve();
})
})
}
diff --git a/src/assets/javascripts/helpers/peertube.js b/src/assets/javascripts/helpers/peertube.js
index 17fada2b..14dda0b1 100644
--- a/src/assets/javascripts/helpers/peertube.js
+++ b/src/assets/javascripts/helpers/peertube.js
@@ -94,21 +94,29 @@ function redirect(url, type, initiator) {
}
async function initDefaults() {
- console.log('init peertube defaults')
fetch('/instances/data.json').then(response => response.text()).then(async data => {
let dataJson = JSON.parse(data);
- await browser.storage.local.set({
- peerTubeTargets: ['https://search.joinpeertube.org', ...dataJson.peertube],
+ browser.storage.local.get('cloudflareList', async r => {
+ simpleertubeNormalRedirectsChecks = [...redirects.simpleertube.normal];
+ for (const instance of r.cloudflareList) {
+ let i = simpleertubeNormalRedirectsChecks.indexOf(instance);
+ if (i > -1) simpleertubeNormalRedirectsChecks.splice(i, 1);
+ }
+ await browser.storage.local.set({
+ peerTubeTargets: ['https://search.joinpeertube.org', ...dataJson.peertube],
- disablePeertubeTargets: true,
+ disablePeertubeTargets: true,
- simpleertubeNormalRedirectsChecks: [...redirects.simpleertube.normal],
- simpleertubeNormalCustomRedirects: [],
+ peertubeRedirects: redirects,
- simpleertubeTorRedirectsChecks: [...redirects.simpleertube.tor],
- simpleertubeTorCustomRedirects: [],
+ simpleertubeNormalRedirectsChecks: simpleertubeNormalRedirectsChecks,
+ simpleertubeNormalCustomRedirects: [],
- peertubeTargetsProtocol: "normal",
+ simpleertubeTorRedirectsChecks: [...redirects.simpleertube.tor],
+ simpleertubeTorCustomRedirects: [],
+
+ peertubeTargetsProtocol: "normal",
+ })
})
})
}
diff --git a/src/assets/javascripts/helpers/reddit.js b/src/assets/javascripts/helpers/reddit.js
index 6e932f6d..7c123797 100644
--- a/src/assets/javascripts/helpers/reddit.js
+++ b/src/assets/javascripts/helpers/reddit.js
@@ -387,12 +387,22 @@ function switchInstance(url) {
}
async function initDefaults() {
- console.log('init redditDefault')
- return new Promise(async resolve => {
- fetch('/instances/data.json').then(response => response.text()).then(async data => {
- let dataJson = JSON.parse(data);
- redirects.teddit = dataJson.teddit;
- redirects.libreddit = dataJson.libreddit;
+ fetch('/instances/data.json').then(response => response.text()).then(async data => {
+ let dataJson = JSON.parse(data);
+ redirects.teddit = dataJson.teddit;
+ redirects.libreddit = dataJson.libreddit;
+ browser.storage.local.get('cloudflareList', async r => {
+ libredditNormalRedirectsChecks = [...redirects.libreddit.normal];
+ tedditNormalRedirectsChecks = [...redirects.teddit.normal]
+ for (const instance of r.cloudflareList) {
+ let i;
+
+ i = libredditNormalRedirectsChecks.indexOf(instance);
+ if (i > -1) libredditNormalRedirectsChecks.splice(i, 1);
+
+ i = tedditNormalRedirectsChecks.indexOf(instance);
+ if (i > -1) tedditNormalRedirectsChecks.splice(i, 1);
+ }
await browser.storage.local.set({
disableReddit: false,
redditProtocol: 'normal',
@@ -401,18 +411,15 @@ async function initDefaults() {
bypassWatchOnReddit: true,
alwaysUsePreferred: false,
- redditRedirects: {
- 'libreddit': redirects.libreddit,
- 'teddit': redirects.teddit,
- },
+ redditRedirects: redirects,
- libredditNormalRedirectsChecks: [...redirects.libreddit.normal],
+ libredditNormalRedirectsChecks: libredditNormalRedirectsChecks,
libredditNormalCustomRedirects: [],
libredditTorRedirectsChecks: [...redirects.libreddit.tor],
libredditTorCustomRedirects: [],
- tedditNormalRedirectsChecks: [...redirects.teddit.normal],
+ tedditNormalRedirectsChecks: tedditNormalRedirectsChecks,
tedditNormalCustomRedirects: [],
tedditTorRedirectsChecks: [...redirects.teddit.tor],
@@ -430,9 +437,8 @@ async function initDefaults() {
redditUseHls: false,
redditHideHlsNotification: false,
});
- resolve();
});
- })
+ });
}
async function init() {
diff --git a/src/assets/javascripts/helpers/search.js b/src/assets/javascripts/helpers/search.js
index e42b05dd..c26eeb29 100644
--- a/src/assets/javascripts/helpers/search.js
+++ b/src/assets/javascripts/helpers/search.js
@@ -27,7 +27,6 @@ let redirects = {
"i2p": []
}
};
-const getRedirects = () => redirects;
function setSearxRedirects(val) {
redirects.searx = val;
@@ -283,42 +282,60 @@ async function initDefaults() {
redirects.searx = dataJson.searx;
redirects.searxng = dataJson.searxng;
redirects.whoogle = dataJson.whoogle;
- await browser.storage.local.set({
- disableSearch: false,
- searchFrontend: 'searxng',
- searchRedirects: redirects,
- whoogleNormalRedirectsChecks: [...redirects.whoogle.normal],
- whoogleNormalCustomRedirects: [],
+ browser.storage.local.get('cloudflareList', async r => {
+ whoogleNormalRedirectsChecks = [...redirects.whoogle.normal];
+ searxNormalRedirectsChecks = [...redirects.searx.normal];
+ searxngNormalRedirectsChecks = [...redirects.searxng.normal];
+ for (const instance of r.cloudflareList) {
+ let i;
- whoogleTorRedirectsChecks: [...redirects.whoogle.tor],
- whoogleTorCustomRedirects: [],
+ i = whoogleNormalRedirectsChecks.indexOf(instance);
+ if (i > -1) whoogleNormalRedirectsChecks.splice(i, 1);
- whoogleI2pRedirectsChecks: [...redirects.whoogle.i2p],
- whoogleI2pCustomRedirects: [],
+ i = searxNormalRedirectsChecks.indexOf(instance);
+ if (i > -1) searxNormalRedirectsChecks.splice(i, 1);
- searxNormalRedirectsChecks: [...redirects.searx.normal],
- searxNormalCustomRedirects: [],
+ i = searxngNormalRedirectsChecks.indexOf(instance);
+ if (i > -1) searxngNormalRedirectsChecks.splice(i, 1);
+ }
+ await browser.storage.local.set({
+ disableSearch: false,
+ searchFrontend: 'searxng',
+ searchRedirects: redirects,
- searxTorRedirectsChecks: [...redirects.searx.tor],
- searxTorCustomRedirects: [],
+ whoogleNormalRedirectsChecks: whoogleNormalRedirectsChecks,
+ whoogleNormalCustomRedirects: [],
- searxI2pRedirectsChecks: [...redirects.searx.i2p],
- searxI2pCustomRedirects: [],
+ whoogleTorRedirectsChecks: [...redirects.whoogle.tor],
+ whoogleTorCustomRedirects: [],
- searxngNormalRedirectsChecks: [...redirects.searxng.normal],
- searxngNormalCustomRedirects: [],
+ whoogleI2pRedirectsChecks: [...redirects.whoogle.i2p],
+ whoogleI2pCustomRedirects: [],
- searxngTorRedirectsChecks: [...redirects.searxng.tor],
- searxngTorCustomRedirects: [],
+ searxNormalRedirectsChecks: searxNormalRedirectsChecks,
+ searxNormalCustomRedirects: [],
- searxngI2pRedirectsChecks: [...redirects.searxng.i2p],
- searxngI2pCustomRedirects: [],
+ searxTorRedirectsChecks: [...redirects.searx.tor],
+ searxTorCustomRedirects: [],
- theme: 'DEFAULT',
- applyThemeToSites: false,
+ searxI2pRedirectsChecks: [...redirects.searx.i2p],
+ searxI2pCustomRedirects: [],
- searchProtocol: 'normal',
+ searxngNormalRedirectsChecks: searxngNormalRedirectsChecks,
+ searxngNormalCustomRedirects: [],
+
+ searxngTorRedirectsChecks: [...redirects.searxng.tor],
+ searxngTorCustomRedirects: [],
+
+ searxngI2pRedirectsChecks: [...redirects.searxng.i2p],
+ searxngI2pCustomRedirects: [],
+
+ theme: 'DEFAULT',
+ applyThemeToSites: false,
+
+ searchProtocol: 'normal',
+ })
})
})
}
@@ -403,7 +420,6 @@ async function init() {
}
export default {
- getRedirects,
setSearxRedirects,
setSearxngRedirects,
diff --git a/src/assets/javascripts/helpers/sendTargets.js b/src/assets/javascripts/helpers/sendTargets.js
index 1ab2b2e8..f131f5c3 100644
--- a/src/assets/javascripts/helpers/sendTargets.js
+++ b/src/assets/javascripts/helpers/sendTargets.js
@@ -92,17 +92,24 @@ async function initDefaults() {
fetch('/instances/data.json').then(response => response.text()).then(async data => {
let dataJson = JSON.parse(data);
redirects.send = dataJson.send;
- await browser.storage.local.set({
- disableSendTarget: false,
- sendTargetsRedirects: redirects,
+ browser.storage.local.get('cloudflareList', async r => {
+ sendNormalRedirectsChecks = [...redirects.send.normal];
+ for (const instance of r.cloudflareList) {
+ let i = sendNormalRedirectsChecks.indexOf(instance);
+ if (i > -1) sendNormalRedirectsChecks.splice(i, 1);
+ }
+ await browser.storage.local.set({
+ disableSendTarget: false,
+ sendTargetsRedirects: redirects,
- sendNormalRedirectsChecks: [...redirects.send.normal],
- sendNormalCustomRedirects: [],
+ sendNormalRedirectsChecks: sendNormalRedirectsChecks,
+ sendNormalCustomRedirects: [],
- sendTorRedirectsChecks: [...redirects.send.tor],
- sendTorCustomRedirects: [],
+ sendTorRedirectsChecks: [...redirects.send.tor],
+ sendTorCustomRedirects: [],
- sendTargetsProtocol: "normal",
+ sendTargetsProtocol: "normal",
+ })
})
})
}
diff --git a/src/assets/javascripts/helpers/speedtest.js b/src/assets/javascripts/helpers/speedtest.js
index 4f59cbb5..00f0a138 100644
--- a/src/assets/javascripts/helpers/speedtest.js
+++ b/src/assets/javascripts/helpers/speedtest.js
@@ -64,6 +64,8 @@ async function initDefaults() {
await browser.storage.local.set({
disableSpeedtest: true,
+ speedtestRedirects: redirects,
+
librespeedNormalRedirectsChecks: [...redirects.librespeed.normal],
librespeedNormalCustomRedirects: [],
diff --git a/src/assets/javascripts/helpers/spotify.js b/src/assets/javascripts/helpers/spotify.js
index 6863c108..9ff2c7d5 100644
--- a/src/assets/javascripts/helpers/spotify.js
+++ b/src/assets/javascripts/helpers/spotify.js
@@ -14,7 +14,6 @@ let redirects = {
}
}
-const getRedirects = () => redirects;
function setRedirects(val) {
redirects.soju = val;
browser.storage.local.set({ spotifyTargetsRedirects: redirects })
@@ -25,20 +24,10 @@ function setRedirects(val) {
if (index !== -1) sojuNormalRedirectsChecks.splice(index, 1);
}
browser.storage.local.set({ sojuNormalRedirectsChecks })
-
- for (const item of sojuTorRedirectsChecks)
- if (!redirects.soju.normal.includes(item)) {
- var index = sojuTorRedirectsChecks.indexOf(item);
- if (index !== -1) sojuTorRedirectsChecks.splice(index, 1);
- }
- browser.storage.local.set({ sojuTorRedirectsChecks })
}
let sojuNormalRedirectsChecks;
-let sojuTorRedirectsChecks;
-let sojuNormalCustomRedirects = [];
-let sojuTorCustomRedirects = [];
-
+let sojuNormalCustomRedirects;
let disable; // disableSpotifyTargets
function switchInstance(url) {
@@ -83,6 +72,8 @@ async function initDefaults() {
await browser.storage.local.set({
disableSpotifyTargets: true,
+ spotifyRedirects: redirects,
+
sojuNormalRedirectsChecks: [...redirects.soju.normal],
sojuNormalCustomRedirects: [],
})
@@ -95,9 +86,6 @@ async function init() {
"sojuNormalRedirectsChecks",
"sojuNormalCustomRedirects",
-
- "sojuTorRedirectsChecks",
- "sojuTorCustomRedirects",
],
r => {
disable = r.disableSpotifyTargets;
@@ -109,7 +97,6 @@ async function init() {
}
export default {
- getRedirects,
setRedirects,
switchInstance,
diff --git a/src/assets/javascripts/helpers/translate/lingva-preferences.js b/src/assets/javascripts/helpers/translate/lingva-preferences.js
index b63e2876..a9652903 100644
--- a/src/assets/javascripts/helpers/translate/lingva-preferences.js
+++ b/src/assets/javascripts/helpers/translate/lingva-preferences.js
@@ -6,8 +6,8 @@ browser.storage.local.get(
"applyThemeToSites",
],
r => {
- let applyThemeToSites = r.applyThemeToSites ?? false;
- let theme = r.theme ?? "DEFAULT";
+ let applyThemeToSites = r.applyThemeToSites;
+ let theme = r.theme;
if (applyThemeToSites && theme != "DEFAULT") localStorage.setItem("chakra-ui-color-mode", r.theme);
}
diff --git a/src/assets/javascripts/helpers/translate/translate.js b/src/assets/javascripts/helpers/translate/translate.js
index 4c4cee79..7ce67433 100644
--- a/src/assets/javascripts/helpers/translate/translate.js
+++ b/src/assets/javascripts/helpers/translate/translate.js
@@ -68,15 +68,13 @@ let lingvaNormalCustomRedirects = [];
let lingvaTorCustomRedirects = [];
-let disable; // translateDisable
-let frontend; // translateFrontend
-let protocol; // translateProtocol
-
-let from; // translateFrom
-let to; // translateTo
-
-
-let simplyTranslateEngine;
+let
+ disable, // translateDisable
+ frontend, // translateFrontend
+ protocol, // translateProtocol
+ from, // translateFrom
+ to, // translateTo
+ simplyTranslateEngine;
function isTranslateRedirects(url, type, frontend) {
let protocolHost = commonHelper.protocolHost(url);
@@ -203,82 +201,91 @@ function switchInstance(url) {
}
async function initDefaults() {
-
fetch('/instances/data.json').then(response => response.text()).then(async data => {
let dataJson = JSON.parse(data);
redirects.simplyTranslate = dataJson.simplyTranslate;
redirects.lingva = dataJson.lingva;
- await browser.storage.local.set({
- translateDisable: false,
- translateFrontend: "simplyTranslate",
- translateProtocol: 'normal',
- translateRedirects: redirects,
+ browser.storage.local.get('cloudflareList', async r => {
+ simplyTranslateNormalRedirectsChecks = [...redirects.simplyTranslate.normal];
+ lingvaNormalRedirectsChecks = [...redirects.lingva.normal]
+ for (const instance of r.cloudflareList) {
+ let i;
+
+ i = simplyTranslateNormalRedirectsChecks.indexOf(instance);
+ if (i > -1) simplyTranslateNormalRedirectsChecks.splice(i, 1);
+
+ i = lingvaNormalRedirectsChecks.indexOf(instance);
+ if (i > -1) lingvaNormalRedirectsChecks.splice(i, 1);
+ }
+ await browser.storage.local.set({
+ translateDisable: false,
+ translateFrontend: "simplyTranslate",
+ translateProtocol: 'normal',
+ translateRedirects: redirects,
- simplyTranslateNormalRedirectsChecks: [...redirects.simplyTranslate.normal],
- simplyTranslateNormalCustomRedirects: [],
- simplyTranslateTorRedirectsChecks: [...redirects.simplyTranslate.tor],
- simplyTranslateTorCustomRedirects: [],
+ simplyTranslateNormalRedirectsChecks: simplyTranslateNormalRedirectsChecks,
+ simplyTranslateNormalCustomRedirects: [],
+ simplyTranslateTorRedirectsChecks: [...redirects.simplyTranslate.tor],
+ simplyTranslateTorCustomRedirects: [],
- lingvaNormalRedirectsChecks: [...redirects.lingva.normal],
- lingvaNormalCustomRedirects: [],
- lingvaTorRedirectsChecks: [...redirects.lingva.tor],
- lingvaTorCustomRedirects: [],
+ lingvaNormalRedirectsChecks: lingvaNormalRedirectsChecks,
+ lingvaNormalCustomRedirects: [],
+ lingvaTorRedirectsChecks: [...redirects.lingva.tor],
+ lingvaTorCustomRedirects: [],
- translateFrom: "auto",
- translateTo: 'en',
- simplyTranslateEngine: 'google',
+ translateFrom: "auto",
+ translateTo: 'en',
+ simplyTranslateEngine: 'google',
+ })
})
})
}
async function init() {
- fetch('/instances/data.json').then(response => response.text()).then(data => {
- let dataJson = JSON.parse(data);
- browser.storage.local.get(
- [
- "translateDisable",
- "translateFrontend",
- "translateProtocol",
- "translateRedirects",
+ browser.storage.local.get(
+ [
+ "translateDisable",
+ "translateFrontend",
+ "translateProtocol",
+ "translateRedirects",
- "simplyTranslateNormalRedirectsChecks",
- "simplyTranslateNormalCustomRedirects",
- "simplyTranslateTorRedirectsChecks",
- "simplyTranslateTorCustomRedirects",
+ "simplyTranslateNormalRedirectsChecks",
+ "simplyTranslateNormalCustomRedirects",
+ "simplyTranslateTorRedirectsChecks",
+ "simplyTranslateTorCustomRedirects",
- "lingvaNormalRedirectsChecks",
- "lingvaNormalCustomRedirects",
- "lingvaTorRedirectsChecks",
- "lingvaTorCustomRedirects",
+ "lingvaNormalRedirectsChecks",
+ "lingvaNormalCustomRedirects",
+ "lingvaTorRedirectsChecks",
+ "lingvaTorCustomRedirects",
- "translateFrom",
- "translateTo",
- "simplyTranslateEngine",
- ],
- result => {
- disable = result.translateDisable;
- frontend = result.translateFrontend;
- protocol = result.translateProtocol;
+ "translateFrom",
+ "translateTo",
+ "simplyTranslateEngine",
+ ],
+ result => {
+ disable = result.translateDisable;
+ frontend = result.translateFrontend;
+ protocol = result.translateProtocol;
- from = result.translateFrom;
- to = result.translateTo;
- simplyTranslateEngine = result.simplyTranslateEngine;
+ from = result.translateFrom;
+ to = result.translateTo;
+ simplyTranslateEngine = result.simplyTranslateEngine;
- redirects = result.translateRedirects;
+ redirects = result.translateRedirects;
- simplyTranslateNormalRedirectsChecks = result.simplyTranslateNormalRedirectsChecks;
- simplyTranslateNormalCustomRedirects = result.simplyTranslateNormalCustomRedirects;
+ simplyTranslateNormalRedirectsChecks = result.simplyTranslateNormalRedirectsChecks;
+ simplyTranslateNormalCustomRedirects = result.simplyTranslateNormalCustomRedirects;
- simplyTranslateTorRedirectsChecks = result.simplyTranslateTorRedirectsChecks;
- simplyTranslateTorCustomRedirects = result.simplyTranslateTorCustomRedirects;
+ simplyTranslateTorRedirectsChecks = result.simplyTranslateTorRedirectsChecks;
+ simplyTranslateTorCustomRedirects = result.simplyTranslateTorCustomRedirects;
- lingvaNormalRedirectsChecks = result.lingvaNormalRedirectsChecks;
- lingvaNormalCustomRedirects = result.lingvaNormalCustomRedirects;
+ lingvaNormalRedirectsChecks = result.lingvaNormalRedirectsChecks;
+ lingvaNormalCustomRedirects = result.lingvaNormalCustomRedirects;
- lingvaTorRedirectsChecks = result.lingvaTorRedirectsChecks;
- lingvaTorCustomRedirects = result.lingvaTorCustomRedirects;
- });
- });
+ lingvaTorRedirectsChecks = result.lingvaTorRedirectsChecks;
+ lingvaTorCustomRedirects = result.lingvaTorCustomRedirects;
+ });
}
export default {
diff --git a/src/assets/javascripts/helpers/twitter.js b/src/assets/javascripts/helpers/twitter.js
index 250b9050..2a213a80 100644
--- a/src/assets/javascripts/helpers/twitter.js
+++ b/src/assets/javascripts/helpers/twitter.js
@@ -219,37 +219,44 @@ async function initDefaults() {
await fetch('/instances/data.json').then(response => response.text()).then(async data => {
let dataJson = JSON.parse(data);
redirects.nitter = dataJson.nitter;
- await browser.storage.local.set({
- disableTwitter: false,
+ browser.storage.local.get('cloudflareList', async r => {
+ nitterNormalRedirectsChecks = [...redirects.nitter.normal];
+ for (const instance of r.cloudflareList) {
+ let i = nitterNormalRedirectsChecks.indexOf(instance);
+ if (i > -1) nitterNormalRedirectsChecks.splice(i, 1);
+ }
+ await browser.storage.local.set({
+ disableTwitter: false,
- enableTwitterCustomSettings: false,
+ enableTwitterCustomSettings: false,
- twitterRedirects: redirects,
- bypassWatchOnTwitter: true,
+ twitterRedirects: redirects,
+ bypassWatchOnTwitter: true,
- nitterNormalRedirectsChecks: [...redirects.nitter.normal],
- nitterNormalCustomRedirects: [],
+ nitterNormalRedirectsChecks: nitterNormalRedirectsChecks,
+ nitterNormalCustomRedirects: [],
- nitterTorRedirectsChecks: [...redirects.nitter.tor],
- nitterTorCustomRedirects: [],
+ nitterTorRedirectsChecks: [...redirects.nitter.tor],
+ nitterTorCustomRedirects: [],
- twitterProtocol: "normal",
- alwaysUsePreferred: false,
+ twitterProtocol: "normal",
+ alwaysUsePreferred: false,
- nitterTheme: 'Auto',
- nitterInfiniteScroll: false,
- nitterStickyProfile: true,
- nitterBidiSupport: false,
- nitterHideTweetStats: false,
- nitterHideBanner: false,
- nitterHidePins: false,
- nitterHideReplies: false,
- nitterSquareAvatars: false,
- nitterMp4Playback: true,
- nitterHlsPlayback: false,
- nitterProxyVideos: true,
- nitterMuteVideos: false,
- nitterAutoplayGifs: true,
+ nitterTheme: 'Auto',
+ nitterInfiniteScroll: false,
+ nitterStickyProfile: true,
+ nitterBidiSupport: false,
+ nitterHideTweetStats: false,
+ nitterHideBanner: false,
+ nitterHidePins: false,
+ nitterHideReplies: false,
+ nitterSquareAvatars: false,
+ nitterMp4Playback: true,
+ nitterHlsPlayback: false,
+ nitterProxyVideos: true,
+ nitterMuteVideos: false,
+ nitterAutoplayGifs: true,
+ })
})
})
}
diff --git a/src/assets/javascripts/helpers/wikipedia.js b/src/assets/javascripts/helpers/wikipedia.js
index 04ba51b9..b11eb1d2 100644
--- a/src/assets/javascripts/helpers/wikipedia.js
+++ b/src/assets/javascripts/helpers/wikipedia.js
@@ -141,21 +141,29 @@ async function initDefaults() {
fetch('/instances/data.json').then(response => response.text()).then(async data => {
let dataJson = JSON.parse(data);
redirects.wikiless = dataJson.wikiless;
- await browser.storage.local.set({
- disableWikipedia: true,
- wikipediaRedirects: redirects,
- wikilessNormalRedirectsChecks: [...redirects.wikiless.normal],
- wikilessTorRedirectsChecks: [...redirects.wikiless.tor],
- wikilessI2pRedirectsChecks: [...redirects.wikiless.i2p],
- wikilessNormalCustomRedirects: [],
- wikilessTorCustomRedirects: [],
- wikilessI2pCustomRedirects: [],
- wikipediaProtocol: "normal",
+ browser.storage.local.get('cloudflareList', async r => {
+ wikilessNormalRedirectsChecks = [...redirects.wikiless.normal];
+ for (const instance of r.cloudflareList) {
+ let i;
- theme: 'DEFAULT',
- applyThemeToSites: false,
- })
+ i = wikilessNormalRedirectsChecks.indexOf(instance);
+ if (i > -1) wikilessNormalRedirectsChecks.splice(i, 1);
+ }
+ await browser.storage.local.set({
+ disableWikipedia: true,
+ wikipediaRedirects: redirects,
+ wikilessNormalRedirectsChecks: wikilessNormalRedirectsChecks,
+ wikilessTorRedirectsChecks: [...redirects.wikiless.tor],
+ wikilessI2pRedirectsChecks: [...redirects.wikiless.i2p],
+ wikilessNormalCustomRedirects: [],
+ wikilessTorCustomRedirects: [],
+ wikilessI2pCustomRedirects: [],
+ wikipediaProtocol: "normal",
+ theme: 'DEFAULT',
+ applyThemeToSites: false,
+ })
+ })
})
}
diff --git a/src/assets/javascripts/helpers/youtube/youtube.js b/src/assets/javascripts/helpers/youtube/youtube.js
index 193a4ec3..7c4ad8c8 100644
--- a/src/assets/javascripts/helpers/youtube/youtube.js
+++ b/src/assets/javascripts/helpers/youtube/youtube.js
@@ -25,21 +25,8 @@ let redirects = {
"tor": []
},
"piped": {
- "normal": [
- "https://piped.kavin.rocks",
- "https://piped.silkky.cloud",
- "https://piped.tokhmi.xyz",
- "https://piped.moomoo.me",
- "https://il.ax",
- "https://piped.syncpundit.com",
- "https://piped.mha.fi",
- "https://piped.mint.lgbt",
- "https://piped.privacy.com.de",
- "https://piped.notyourcomputer.net"
- ],
- "tor": [
- "http://piped2bbch4xslbl2ckr6k62q56kon56ffowxaqzy42ai22a4sash3ad.onion"
- ]
+ "normal": [],
+ "tor": []
},
"pipedMaterial": {
"normal": [
@@ -52,28 +39,32 @@ let redirects = {
const getRedirects = () => redirects;
-let invidiousNormalRedirectsChecks;
-let invidiousNormalCustomRedirects = [];
-let invidiousTorRedirectsChecks;
-let invidiousTorCustomRedirects = [];
+let
+ invidiousNormalRedirectsChecks,
+ invidiousNormalCustomRedirects,
+ invidiousTorRedirectsChecks,
+ invidiousTorCustomRedirects;
-let pipedNormalRedirectsChecks;
-let pipedNormalCustomRedirects = [];
-let pipedTorRedirectsChecks;
-let pipedTorCustomRedirects = [];
+let
+ pipedNormalRedirectsChecks,
+ pipedNormalCustomRedirects,
+ pipedTorRedirectsChecks,
+ pipedTorCustomRedirects;
-let pipedMaterialNormalRedirectsChecks;
-let pipedMaterialNormalCustomRedirects = [];
-let pipedMaterialTorRedirectsChecks;
-let pipedMaterialTorCustomRedirects = [];
+let
+ pipedMaterialNormalRedirectsChecks,
+ pipedMaterialNormalCustomRedirects,
+ pipedMaterialTorRedirectsChecks,
+ pipedMaterialTorCustomRedirects;
-let disable;
-let protocol;
-let OnlyEmbeddedVideo;
-let frontend;
-let youtubeEmbedFrontend;
-let bypassWatchOnYoutube;
-let alwaysUsePreferred;
+let
+ disable,
+ protocol,
+ OnlyEmbeddedVideo,
+ frontend,
+ youtubeEmbedFrontend,
+ bypassWatchOnYoutube,
+ alwaysUsePreferred;
function redirect(url, details, initiator) {
if (disable) return null;
@@ -309,54 +300,69 @@ function isPipedorInvidious(url, type, frontend) {
}
async function initDefaults() {
- console.log('youtube initDefaults')
return new Promise(async resolve => {
fetch('/instances/data.json').then(response => response.text()).then(async data => {
let dataJson = JSON.parse(data);
redirects.invidious = dataJson.invidious;
- await browser.storage.local.set({
- disableYoutube: false,
- enableYoutubeCustomSettings: false,
- OnlyEmbeddedVideo: 'both',
+ redirects.piped = dataJson.piped;
+ browser.storage.local.get('cloudflareList', async r => {
- youtubeRedirects: {
- 'invidious': dataJson.invidious,
- 'piped': redirects.piped,
- 'pipedMaterial': redirects.pipedMaterial
- },
+ invidiousNormalRedirectsChecks = [...redirects.invidious.normal];
+ pipedNormalRedirectsChecks = [...redirects.piped.normal];
+ pipedMaterialNormalRedirectsChecks = [...redirects.pipedMaterial.normal];
- youtubeFrontend: 'invidious',
+ for (const instance of r.cloudflareList) {
+ let i;
- invidiousNormalRedirectsChecks: [...redirects.invidious.normal],
- invidiousNormalCustomRedirects: [],
+ i = invidiousNormalRedirectsChecks.indexOf(instance);
+ if (i > -1) invidiousNormalRedirectsChecks.splice(i, 1);
- invidiousTorRedirectsChecks: [...redirects.invidious.tor],
- invidiousTorCustomRedirects: [],
+ i = pipedNormalRedirectsChecks.indexOf(instance);
+ if (i > -1) pipedNormalRedirectsChecks.splice(i, 1);
- pipedNormalRedirectsChecks: [...redirects.piped.normal],
- pipedNormalCustomRedirects: [],
+ i = pipedMaterialNormalRedirectsChecks.indexOf(instance);
+ if (i > -1) pipedMaterialNormalRedirectsChecks.splice(i, 1);
+ }
- pipedTorRedirectsChecks: [...redirects.piped.tor],
- pipedTorCustomRedirects: [],
+ await browser.storage.local.set({
+ disableYoutube: false,
+ enableYoutubeCustomSettings: false,
+ OnlyEmbeddedVideo: 'both',
- pipedMaterialNormalRedirectsChecks: [...redirects.pipedMaterial.normal],
- pipedMaterialNormalCustomRedirects: [],
+ youtubeRedirects: redirects,
- pipedMaterialTorRedirectsChecks: [...redirects.pipedMaterial.tor],
- pipedMaterialTorCustomRedirects: [],
+ youtubeFrontend: 'invidious',
- alwaysUsePreferred: false,
- youtubeEmbedFrontend: 'invidious',
- youtubeProtocol: 'normal',
- bypassWatchOnYoutube: true,
- })
+ invidiousNormalRedirectsChecks: invidiousNormalRedirectsChecks,
+ invidiousNormalCustomRedirects: [],
- await invidious.initDefaults();
- await piped.initDefaults();
- await pipedMaterial.initDefaults();
- resolve();
- }
- )
+ invidiousTorRedirectsChecks: [...redirects.invidious.tor],
+ invidiousTorCustomRedirects: [],
+
+ pipedNormalRedirectsChecks: pipedNormalRedirectsChecks,
+ pipedNormalCustomRedirects: [],
+
+ pipedTorRedirectsChecks: [...redirects.piped.tor],
+ pipedTorCustomRedirects: [],
+
+ pipedMaterialNormalRedirectsChecks: pipedMaterialNormalRedirectsChecks,
+ pipedMaterialNormalCustomRedirects: [],
+
+ pipedMaterialTorRedirectsChecks: [...redirects.pipedMaterial.tor],
+ pipedMaterialTorCustomRedirects: [],
+
+ alwaysUsePreferred: false,
+ youtubeEmbedFrontend: 'invidious',
+ youtubeProtocol: 'normal',
+ bypassWatchOnYoutube: true,
+ })
+
+ await invidious.initDefaults();
+ await piped.initDefaults();
+ await pipedMaterial.initDefaults();
+ resolve();
+ })
+ })
})
}
diff --git a/src/assets/javascripts/helpers/youtubeMusic.js b/src/assets/javascripts/helpers/youtubeMusic.js
index ef707855..0b06bfa3 100644
--- a/src/assets/javascripts/helpers/youtubeMusic.js
+++ b/src/assets/javascripts/helpers/youtubeMusic.js
@@ -68,7 +68,9 @@ function redirect(url, type) {
async function initDefaults() {
await browser.storage.local.set({
- disableYoutubeMusic: false,
+ disableYoutubeMusic: true,
+
+ youtubeMusicRedirects: redirects,
beatbumpNormalRedirectsChecks: [...redirects.beatbump.normal],
beatbumpNormalCustomRedirects: [],