aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/assets/javascripts/imdb.js26
-rw-r--r--src/assets/javascripts/imgur.js18
-rw-r--r--src/assets/javascripts/instagram.js24
-rw-r--r--src/assets/javascripts/lbry.js25
-rw-r--r--src/assets/javascripts/maps.js38
-rw-r--r--src/assets/javascripts/medium.js22
-rw-r--r--src/assets/javascripts/peertube.js22
-rw-r--r--src/assets/javascripts/quora.js26
-rw-r--r--src/assets/javascripts/reddit.js104
-rw-r--r--src/assets/javascripts/reuters.js32
-rw-r--r--src/assets/javascripts/search.js91
-rw-r--r--src/assets/javascripts/sendTargets.js22
-rw-r--r--src/assets/javascripts/tiktok.js48
-rw-r--r--src/assets/javascripts/translate/translate.js48
-rw-r--r--src/assets/javascripts/twitter.js30
-rw-r--r--src/assets/javascripts/utils.js4
-rw-r--r--src/assets/javascripts/wikipedia.js24
-rw-r--r--src/assets/javascripts/youtube/youtube.js126
-rw-r--r--src/assets/javascripts/youtubeMusic.js35
19 files changed, 623 insertions, 142 deletions
diff --git a/src/assets/javascripts/imdb.js b/src/assets/javascripts/imdb.js
index de1293af..681f6754 100644
--- a/src/assets/javascripts/imdb.js
+++ b/src/assets/javascripts/imdb.js
@@ -41,7 +41,9 @@ let
libremdbNormalRedirectsChecks,
libremdbNormalCustomRedirects,
libremdbTorRedirectsChecks,
- libremdbTorCustomRedirects;
+ libremdbTorCustomRedirects,
+ libremdbI2pCustomRedirects,
+ libremdbLokiCustomRedirects;
function init() {
return new Promise(async resolve => {
@@ -55,6 +57,8 @@ function init() {
"libremdbNormalCustomRedirects",
"libremdbTorRedirectsChecks",
"libremdbTorCustomRedirects",
+ "libremdbI2pCustomRedirects",
+ "libremdbLokiCustomRedirects"
],
r => {
disableImdb = r.disableImdb;
@@ -65,6 +69,8 @@ function init() {
libremdbNormalCustomRedirects = r.libremdbNormalCustomRedirects;
libremdbTorRedirectsChecks = r.libremdbTorRedirectsChecks;
libremdbTorCustomRedirects = r.libremdbTorCustomRedirects;
+ libremdbI2pCustomRedirects = r.libremdbI2pCustomRedirects;
+ libremdbLokiCustomRedirects = r.libremdbLokiCustomRedirects;
resolve();
}
)
@@ -86,7 +92,9 @@ function redirect(url, type, initiator, disableOverride) {
if (!targets.some(rx => rx.test(url.href))) return;
let instancesList = [];
- if (protocol == 'tor') instancesList = [...libremdbTorRedirectsChecks, ...libremdbTorCustomRedirects];
+ if (protocol == 'loki') instancesList = [...libremdbLokiCustomRedirects];
+ else if (protocol == 'i2p') instancesList = [...libremdbI2pCustomRedirects];
+ else if (protocol == 'tor') instancesList = [...libremdbTorRedirectsChecks, ...libremdbTorCustomRedirects];
if ((instancesList.length === 0 && protocolFallback) || protocol == 'normal') {
instancesList = [...libremdbNormalRedirectsChecks, ...libremdbNormalCustomRedirects];
}
@@ -104,7 +112,9 @@ function reverse(url) {
...imdbRedirects.libremdb.normal,
...imdbRedirects.libremdb.tor,
...libremdbNormalCustomRedirects,
- ...libremdbTorCustomRedirects
+ ...libremdbTorCustomRedirects,
+ ...libremdbI2pCustomRedirects,
+ ...libremdbLokiCustomRedirects
];
if (!all.includes(protocolHost)) { resolve(); return; }
@@ -123,11 +133,15 @@ function switchInstance(url, disableOverride) {
...libremdbNormalCustomRedirects,
...libremdbTorCustomRedirects,
+ ...libremdbI2pCustomRedirects,
+ ...libremdbLokiCustomRedirects
];
if (!all.includes(protocolHost)) { resolve(); return; }
let instancesList = [];
- if (protocol == 'tor') instancesList = [...libremdbTorRedirectsChecks, ...libremdbTorCustomRedirects];
+ if (protocol == 'loki') instancesList = [...libremdbLokiCustomRedirects];
+ else if (protocol == 'i2p') instancesList = [...libremdbI2pCustomRedirects];
+ else if (protocol == 'tor') instancesList = [...libremdbTorRedirectsChecks, ...libremdbTorCustomRedirects];
if ((instancesList.length === 0 && protocolFallback) || protocol == 'normal') {
instancesList = [...libremdbNormalRedirectsChecks, ...libremdbNormalCustomRedirects];
}
@@ -157,6 +171,10 @@ function initDefaults() {
libremdbTorRedirectsChecks: [...redirects.libremdb.tor],
libremdbTorCustomRedirects: [],
+
+ libremdbI2pCustomRedirects: [],
+
+ libremdbLokiCustomRedirects: []
}, () => resolve());
});
})
diff --git a/src/assets/javascripts/imgur.js b/src/assets/javascripts/imgur.js
index dafebb9c..f76679a3 100644
--- a/src/assets/javascripts/imgur.js
+++ b/src/assets/javascripts/imgur.js
@@ -57,7 +57,8 @@ let
rimgoTorRedirectsChecks,
rimgoTorCustomRedirects,
rimgoI2pRedirectsChecks,
- rimgoI2pCustomRedirects;
+ rimgoI2pCustomRedirects,
+ rimgoLokiCustomRedirects;
function init() {
return new Promise(async resolve => {
@@ -73,6 +74,7 @@ function init() {
"rimgoTorCustomRedirects",
"rimgoI2pRedirectsChecks",
"rimgoI2pCustomRedirects",
+ "rimgoLokiCustomRedirects"
],
r => {
disableImgur = r.disableImgur;
@@ -85,6 +87,7 @@ function init() {
rimgoTorCustomRedirects = r.rimgoTorCustomRedirects;
rimgoI2pRedirectsChecks = r.rimgoI2pRedirectsChecks;
rimgoI2pCustomRedirects = r.rimgoI2pCustomRedirects;
+ rimgoLokiCustomRedirects = r.rimgoLokiCustomRedirects;
resolve();
}
)
@@ -108,6 +111,7 @@ function all() {
...rimgoNormalCustomRedirects,
...rimgoTorCustomRedirects,
...rimgoI2pCustomRedirects,
+ ...rimgoLokiCustomRedirects
];
}
@@ -120,8 +124,9 @@ function redirect(url, type, initiator, disableOverride) {
if (url.pathname.includes("delete/")) return;
let instancesList = [];
- if (protocol == 'i2p') instancesList = [...rimgoI2pCustomRedirects, ...rimgoI2pRedirectsChecks];
- if (protocol == 'tor') instancesList = [...rimgoTorRedirectsChecks, ...rimgoTorCustomRedirects];
+ if (protocol == 'loki') instancesList = [...rimgoLokiCustomRedirects];
+ else if (protocol == 'i2p') instancesList = [...rimgoI2pCustomRedirects, ...rimgoI2pRedirectsChecks];
+ else if (protocol == 'tor') instancesList = [...rimgoTorRedirectsChecks, ...rimgoTorCustomRedirects];
if ((instancesList.length === 0 && protocolFallback) || protocol == 'normal') {
instancesList = [...rimgoNormalRedirectsChecks, ...rimgoNormalCustomRedirects];
}
@@ -147,8 +152,9 @@ function switchInstance(url, disableOverride) {
let protocolHost = utils.protocolHost(url);
if (!all().includes(protocolHost)) { resolve(); return; }
let instancesList = [];
- if (protocol == 'i2p') instancesList = [...rimgoI2pCustomRedirects, ...rimgoI2pRedirectsChecks];
- if (protocol == 'tor') instancesList = [...rimgoTorRedirectsChecks, ...rimgoTorCustomRedirects];
+ if (protocol == 'loki') instancesList = [...rimgoLokiCustomRedirects];
+ else if (protocol == 'i2p') instancesList = [...rimgoI2pCustomRedirects, ...rimgoI2pRedirectsChecks];
+ else if (protocol == 'tor') instancesList = [...rimgoTorRedirectsChecks, ...rimgoTorCustomRedirects];
if ((instancesList.length === 0 && protocolFallback) || protocol == 'normal') {
instancesList = [...rimgoNormalRedirectsChecks, ...rimgoNormalCustomRedirects];
}
@@ -187,6 +193,8 @@ function initDefaults() {
rimgoI2pRedirectsChecks: [...redirects.rimgo.i2p],
rimgoI2pCustomRedirects: [],
+
+ rimgoLokiCustomRedirects: []
}, () => resolve());
});
});
diff --git a/src/assets/javascripts/instagram.js b/src/assets/javascripts/instagram.js
index e1c4061b..7c816b4b 100644
--- a/src/assets/javascripts/instagram.js
+++ b/src/assets/javascripts/instagram.js
@@ -41,7 +41,9 @@ let
bibliogramNormalRedirectsChecks,
bibliogramTorRedirectsChecks,
bibliogramNormalCustomRedirects,
- bibliogramTorCustomRedirects;
+ bibliogramTorCustomRedirects,
+ bibliogramI2pCustomRedirects,
+ bibliogramLokiCustomRedirects;
function init() {
return new Promise(async resolve => {
@@ -55,6 +57,8 @@ function init() {
"bibliogramTorRedirectsChecks",
"bibliogramNormalCustomRedirects",
"bibliogramTorCustomRedirects",
+ "bibliogramI2pCustomRedirects",
+ "bibliogramLokiCustomRedirects"
],
r => {
disableInstagram = r.disableInstagram;
@@ -65,6 +69,8 @@ function init() {
bibliogramTorRedirectsChecks = r.bibliogramTorRedirectsChecks;
bibliogramNormalCustomRedirects = r.bibliogramNormalCustomRedirects;
bibliogramTorCustomRedirects = r.bibliogramTorCustomRedirects;
+ bibliogramI2pCustomRedirects = r.bibliogramI2pCustomRedirects;
+ bibliogramLokiCustomRedirects = r.bibliogramLokiCustomRedirects
resolve();
}
)
@@ -80,6 +86,8 @@ function all() {
...instagramRedirects.bibliogram.tor,
...bibliogramNormalCustomRedirects,
...bibliogramTorCustomRedirects,
+ ...bibliogramI2pCustomRedirects,
+ ...bibliogramLokiCustomRedirects
]
}
@@ -93,7 +101,9 @@ function redirect(url, type, initiator, disableOverride) {
if (bypassPaths.some(rx => rx.test(url.pathname))) return;
let instancesList = [];
- if (protocol == 'tor') instancesList = [...bibliogramTorRedirectsChecks, ...bibliogramTorCustomRedirects];
+ if (protocol == 'loki') instancesList = [...bibliogramLokiCustomRedirects];
+ else if (protocol == 'i2p') instancesList = [...bibliogramI2pCustomRedirects];
+ else if (protocol == 'tor') instancesList = [...bibliogramTorRedirectsChecks, ...bibliogramTorCustomRedirects];
if ((instancesList.length === 0 && protocolFallback) || protocol == 'normal') {
instancesList = [...bibliogramNormalRedirectsChecks, ...bibliogramNormalCustomRedirects];
}
@@ -129,7 +139,9 @@ function switchInstance(url, disableOverride) {
if (!all().includes(protocolHost)) { resolve(); return; }
let instancesList = [];
- if (protocol == 'tor') instancesList = [...bibliogramTorRedirectsChecks, ...bibliogramTorCustomRedirects];
+ if (protocol == 'loki') instancesList = [...bibliogramLokiCustomRedirects];
+ else if (protocol == 'i2p') instancesList = [...bibliogramI2pCustomRedirects];
+ else if (protocol == 'tor') instancesList = [...bibliogramTorRedirectsChecks, ...bibliogramTorCustomRedirects];
if ((instancesList.length === 0 && protocolFallback) || protocol == 'normal') {
instancesList = [...bibliogramNormalRedirectsChecks, ...bibliogramNormalCustomRedirects];
}
@@ -164,7 +176,11 @@ function initDefaults() {
bibliogramTorRedirectsChecks: [],
bibliogramNormalCustomRedirects: [...redirects.bibliogram.tor],
- bibliogramTorCustomRedirects: []
+ bibliogramTorCustomRedirects: [],
+
+ bibliogramI2pCustomRedirects: [],
+
+ bibliogramLokiCustomRedirects: []
})
resolve();
}
diff --git a/src/assets/javascripts/lbry.js b/src/assets/javascripts/lbry.js
index 7a298fbe..6e2bd352 100644
--- a/src/assets/javascripts/lbry.js
+++ b/src/assets/javascripts/lbry.js
@@ -34,11 +34,14 @@ function setRedirects(val) {
let
disableLbryTargets,
protocol,
+ protocolFallback,
lbryTargetsRedirects,
librarianNormalRedirectsChecks,
librarianNormalCustomRedirects,
librarianTorRedirectsChecks,
- librarianTorCustomRedirects;
+ librarianTorCustomRedirects,
+ librarianI2pCustomRedirects,
+ librarianLokiCustomRedirects;
function init() {
return new Promise(resolve => {
@@ -46,20 +49,26 @@ function init() {
[
"disableLbryTargets",
"protocol",
+ "protocolFallback",
"lbryTargetsRedirects",
"librarianNormalRedirectsChecks",
"librarianNormalCustomRedirects",
"librarianTorRedirectsChecks",
"librarianTorCustomRedirects",
+ "librarianI2pCustomRedirects",
+ "librarianLokiCustomRedirects"
],
r => {
disableLbryTargets = r.disableLbryTargets;
protocol = r.protocol;
+ protocolFallback = r.protocolFallback;
lbryTargetsRedirects = r.lbryTargetsRedirects;
librarianNormalRedirectsChecks = r.librarianNormalRedirectsChecks;
librarianNormalCustomRedirects = r.librarianNormalCustomRedirects;
librarianTorRedirectsChecks = r.librarianTorRedirectsChecks;
librarianTorCustomRedirects = r.librarianTorCustomRedirects;
+ librarianI2pCustomRedirects = r.librarianI2pCustomRedirects;
+ librarianLokiCustomRedirects = r.librarianLokiCustomRedirects;
resolve();
}
)
@@ -74,6 +83,8 @@ function all() {
...redirects.librarian.tor,
...librarianNormalCustomRedirects,
...librarianTorCustomRedirects,
+ ...librarianI2pCustomRedirects,
+ ...librarianLokiCustomRedirects
];
}
@@ -85,7 +96,9 @@ function switchInstance(url, disableOverride) {
if (!all().includes(protocolHost)) { resolve(); return; }
let instancesList = [];
- if (protocol == 'tor') instancesList = [...librarianTorRedirectsChecks, ...librarianTorCustomRedirects];
+ if (protocol == 'loki') instancesList = [...librarianLokiCustomRedirects];
+ else if (protocol == 'i2p') instancesList = [...librarianI2pCustomRedirects];
+ else if (protocol == 'tor') instancesList = [...librarianTorRedirectsChecks, ...librarianTorCustomRedirects];
if ((instancesList.length === 0 && protocolFallback) || protocol == 'normal') {
instancesList = [...librarianNormalRedirectsChecks, ...librarianNormalCustomRedirects];
}
@@ -106,7 +119,9 @@ function redirect(url, type, initiator, disableOverride) {
if (type != "main_frame") return;
let instancesList = [];
- if (protocol == 'tor') instancesList = [...librarianTorRedirectsChecks, ...librarianTorCustomRedirects];
+ if (protocol == 'loki') instancesList = [...librarianLokiCustomRedirects];
+ else if (protocol == 'i2p') instancesList = [...librarianI2pCustomRedirects];
+ else if (protocol == 'tor') instancesList = [...librarianTorRedirectsChecks, ...librarianTorCustomRedirects];
if ((instancesList.length === 0 && protocolFallback) || protocol == 'normal') {
instancesList = [...librarianNormalRedirectsChecks, ...librarianNormalCustomRedirects];
}
@@ -133,6 +148,10 @@ function initDefaults() {
librarianTorRedirectsChecks: [...redirects.librarian.tor],
librarianTorCustomRedirects: [],
+
+ librarianI2pCustomRedirects: [],
+
+ librarianLokiCustomRedirects: []
}, () => resolve());
});
})
diff --git a/src/assets/javascripts/maps.js b/src/assets/javascripts/maps.js
index 57add6f8..7714e17d 100644
--- a/src/assets/javascripts/maps.js
+++ b/src/assets/javascripts/maps.js
@@ -14,7 +14,10 @@ let redirects = {
'facil': {
"normal": [
"https://facilmap.org"
- ]
+ ],
+ "tor": [],
+ "i2p": [],
+ "loki": []
}
};
@@ -22,22 +25,37 @@ let redirects = {
let
disableMaps,
mapsFrontend,
+ protocol,
+ protocolFallback,
facilNormalRedirectsChecks,
- facilNormalCustomRedirects;
+ facilNormalCustomRedirects,
+ facilTorCustomRedirects,
+ facilI2pCustomRedirects,
+ facilLokiCustomRedirects;
function init() {
browser.storage.local.get(
[
"disableMaps",
"mapsFrontend",
+ "protocol",
+ "protocolFallback",
"facilNormalRedirectsChecks",
"facilNormalCustomRedirects",
+ "facilTorCustomRedirects",
+ "facilI2pCustomRedirects",
+ "facilLokiCustomRedirects"
],
r => {
disableMaps = r.disableMaps;
mapsFrontend = r.mapsFrontend;
+ protocol = r.protocol;
+ protocolFallback = r.protocolFallback;
facilNormalRedirectsChecks = r.facilNormalRedirectsChecks;
facilNormalCustomRedirects = r.facilNormalCustomRedirects;
+ facilTorCustomRedirects = r.facilTorCustomRedirects;
+ facilI2pCustomRedirects = r.facilI2pCustomRedirects;
+ facilLokiCustomRedirects = r.facilLokiCustomRedirects;
}
)
}
@@ -89,7 +107,15 @@ function redirect(url, initiator) {
let randomInstance;
if (mapsFrontend == 'osm') randomInstance = utils.getRandomInstance(redirects.osm.normal);
- if (mapsFrontend == 'facil') randomInstance = utils.getRandomInstance([...facilNormalRedirectsChecks, ...facilNormalCustomRedirects]);
+
+ if (mapsFrontend == 'facil') {
+ if (protocol == 'loki') randomInstance = utils.getRandomInstance(...facilLokiCustomRedirects);
+ else if (protocol == 'i2p') randomInstance = utils.getRandomInstance(...facilI2pCustomRedirects);
+ else if (protocol == 'tor') randomInstance = utils.getRandomInstance(...facilTorCustomRedirects);
+ if ((randomInstance == "" && protocolFallback) || protocol == 'normal') {
+ randomInstance = utils.getRandomInstance([...facilNormalRedirectsChecks, ...facilNormalCustomRedirects]);
+ }
+ }
let mapCentre = "#";
let prefs = {};
@@ -201,6 +227,12 @@ async function initDefaults() {
mapsRedirects: redirects,
facilNormalRedirectsChecks: [...redirects.facil.normal],
facilNormalCustomRedirects: [],
+
+ facilTorCustomRedirects: [],
+
+ facilI2pCustomRedirects: [],
+
+ facilLokiCustomRedirects: []
}, () => resolve())
)
diff --git a/src/assets/javascripts/medium.js b/src/assets/javascripts/medium.js
index 37a8a3db..d4c81ba8 100644
--- a/src/assets/javascripts/medium.js
+++ b/src/assets/javascripts/medium.js
@@ -61,6 +61,8 @@ let
scribeNormalCustomRedirects,
scribeTorRedirectsChecks,
scribeTorCustomRedirects,
+ scribeI2pCustomRedirects,
+ scribeLokiCustomRedirects,
protocol,
protocolFallback;
@@ -74,6 +76,8 @@ function init() {
"scribeNormalCustomRedirects",
"scribeTorRedirectsChecks",
"scribeTorCustomRedirects",
+ "scribeI2pCustomRedirects",
+ "scribeLokiCustomRedirects",
"protocol",
"protocolFallback"
],
@@ -84,6 +88,8 @@ function init() {
scribeNormalCustomRedirects = r.scribeNormalCustomRedirects;
scribeTorRedirectsChecks = r.scribeTorRedirectsChecks;
scribeTorCustomRedirects = r.scribeTorCustomRedirects;
+ scribeI2pCustomRedirects = r.scribeI2pCustomRedirects;
+ scribeLokiCustomRedirects = r.scribeLokiCustomRedirects;
protocol = r.protocol;
protocolFallback = r.protocolFallback;
resolve();
@@ -105,13 +111,17 @@ function redirect(url, type, initiator, disableOverride) {
...mediumRedirects.scribe.tor,
...scribeNormalCustomRedirects,
...scribeTorCustomRedirects,
+ ...scribeI2pCustomRedirects,
+ ...scribeLokiCustomRedirects
].includes(initiator.origin))) return;
if (!targets.some(rx => rx.test(url.host))) return;
if (/^\/(@[a-zA-Z.]{0,}(\/|)$)/.test(url.pathname)) return;
let instancesList = [];
- if (protocol == 'tor') instancesList = [...scribeTorRedirectsChecks, ...scribeTorCustomRedirects];
+ if (protocol == 'loki') instancesList = [...scribeLokiCustomRedirects];
+ else if (protocol == 'i2p') instancesList = [...scribeI2pCustomRedirects];
+ else if (protocol == 'tor') instancesList = [...scribeTorRedirectsChecks, ...scribeTorCustomRedirects];
if ((instancesList.length === 0 && protocolFallback) || protocol == 'normal') {
instancesList = [...scribeNormalRedirectsChecks, ...scribeNormalCustomRedirects];
}
@@ -132,11 +142,15 @@ function switchInstance(url, disableOverride) {
...scribeNormalCustomRedirects,
...scribeTorCustomRedirects,
+ ...scribeI2pCustomRedirects,
+ ...scribeLokiCustomRedirects
];
if (!all.includes(protocolHost)) { resolve(); return; }
let instancesList = [];
- if (protocol == 'tor') instancesList = [...scribeTorRedirectsChecks, ...scribeTorCustomRedirects];
+ if (protocol == 'loki') instancesList = [...scribeLokiCustomRedirects];
+ else if (protocol == 'i2p') instancesList = [...scribeI2pCustomRedirects];
+ else if (protocol == 'tor') instancesList = [...scribeTorRedirectsChecks, ...scribeTorCustomRedirects];
if ((instancesList.length === 0 && protocolFallback) || protocol == 'normal') {
instancesList = [...scribeNormalRedirectsChecks, ...scribeNormalCustomRedirects];
}
@@ -173,6 +187,10 @@ function initDefaults() {
scribeTorRedirectsChecks: [...redirects.scribe.tor],
scribeTorCustomRedirects: [],
+
+ scribeI2pCustomRedirects: [],
+
+ scribeLokiCustomRedirects: []
}, () => resolve())
})
})
diff --git a/src/assets/javascripts/peertube.js b/src/assets/javascripts/peertube.js
index b397f972..82993941 100644
--- a/src/assets/javascripts/peertube.js
+++ b/src/assets/javascripts/peertube.js
@@ -39,6 +39,8 @@ let
simpleertubeNormalCustomRedirects,
simpleertubeTorRedirectsChecks,
simpleertubeTorCustomRedirects,
+ simpleertubeI2pCustomRedirects,
+ simpleertubeLokiCustomRedirects,
peerTubeTargets,
protocol,
protocolFallback;
@@ -53,6 +55,8 @@ function init() {
"simpleertubeNormalCustomRedirects",
"simpleertubeTorRedirectsChecks",
"simpleertubeTorCustomRedirects",
+ "simpleertubeI2pCustomRedirects",
+ "simpleertubeLokiCustomRedirects",
"peerTubeTargets",
"protocol",
"protocolFallback"
@@ -64,6 +68,8 @@ function init() {
simpleertubeNormalCustomRedirects = r.simpleertubeNormalCustomRedirects;
simpleertubeTorRedirectsChecks = r.simpleertubeTorRedirectsChecks;
simpleertubeTorCustomRedirects = r.simpleertubeTorCustomRedirects;
+ simpleertubeI2pCustomRedirects = r.simpleertubeI2pCustomRedirects;
+ simpleertubeLokiCustomRedirects = r.simpleertubeLokiCustomRedirects;
peerTubeTargets = r.peerTubeTargets;
protocol = r.protocol;
protocolFallback = r.protocolFallback;
@@ -82,6 +88,8 @@ function all() {
...redirects.simpleertube.tor,
...simpleertubeNormalCustomRedirects,
...simpleertubeTorCustomRedirects,
+ ...simpleertubeI2pCustomRedirects,
+ ...simpleertubeLokiCustomRedirects
];
}
@@ -93,7 +101,9 @@ function redirect(url, type, initiator, disableOverride) {
if (type != "main_frame") return;
let instancesList = [];
- if (protocol == 'tor') instancesList = [...simpleertubeTorRedirectsChecks, ...simpleertubeTorCustomRedirects];
+ if (protocol == 'loki') instancesList = [...simpleertubeLokiCustomRedirects];
+ else if (protocol == 'i2p') instancesList = [...simpleertubeI2pCustomRedirects];
+ else if (protocol == 'tor') instancesList = [...simpleertubeTorRedirectsChecks, ...simpleertubeTorCustomRedirects];
if ((instancesList.length === 0 && protocolFallback) || protocol == 'normal') {
instancesList = [...simpleertubeNormalRedirectsChecks, ...simpleertubeNormalCustomRedirects];
}
@@ -112,7 +122,9 @@ function switchInstance(url, disableOverride) {
if (!all().includes(protocolHost)) { resolve(); return; }
let instancesList = [];
- if (protocol == 'tor') instancesList = [...simpleertubeTorRedirectsChecks, ...simpleertubeTorCustomRedirects];
+ if (protocol == 'loki') instancesList = [...simpleertubeLokiCustomRedirects];
+ else if (protocol == 'i2p') instancesList = [...simpleertubeI2pCustomRedirects];
+ else if (protocol == 'tor') instancesList = [...simpleertubeTorRedirectsChecks, ...simpleertubeTorCustomRedirects];
if ((instancesList.length === 0 && protocolFallback) || protocol == 'normal') {
instancesList = [...simpleertubeNormalRedirectsChecks, ...simpleertubeNormalCustomRedirects];
}
@@ -145,7 +157,11 @@ function initDefaults() {
simpleertubeNormalCustomRedirects: [],
simpleertubeTorRedirectsChecks: [...redirects.simpleertube.tor],
- simpleertubeTorCustomRedirects: []
+ simpleertubeTorCustomRedirects: [],
+
+ simpleertubeI2pCustomRedirects: [],
+
+ simpleertubeLokiCustomRedirects: []
}, () => resolve());
})
})
diff --git a/src/assets/javascripts/quora.js b/src/assets/javascripts/quora.js
index aa907368..db2cff85 100644
--- a/src/assets/javascripts/quora.js
+++ b/src/assets/javascripts/quora.js
@@ -41,7 +41,9 @@ let
quetreNormalRedirectsChecks,
quetreNormalCustomRedirects,
quetreTorRedirectsChecks,
- quetreTorCustomRedirects;
+ quetreTorCustomRedirects,
+ quetreI2pCustomRedirects,
+ quetreLokiCustomRedirects;
function init() {
return new Promise(async resolve => {
@@ -55,6 +57,8 @@ function init() {
"quetreNormalCustomRedirects",
"quetreTorRedirectsChecks",
"quetreTorCustomRedirects",
+ "quetreI2pCustomRedirects",
+ "quetreLokiCustomRedirects"
],
r => {
disableQuora = r.disableQuora;
@@ -65,6 +69,8 @@ function init() {
quetreNormalCustomRedirects = r.quetreNormalCustomRedirects;
quetreTorRedirectsChecks = r.quetreTorRedirectsChecks;
quetreTorCustomRedirects = r.quetreTorCustomRedirects;
+ quetreI2pCustomRedirects = r.quetreI2pCustomRedirects;
+ quetreLokiCustomRedirects = r.quetreLokiCustomRedirects;
resolve();
}
)
@@ -86,7 +92,9 @@ function redirect(url, type, initiator, disableOverride) {
if (!targets.some(rx => rx.test(url.href))) return;
let instancesList = [];
- if (protocol == 'tor') instancesList = [...quetreTorRedirectsChecks, ...quetreTorCustomRedirects];
+ if (protocol == 'loki') instancesList = [...quetreLokiCustomRedirects];
+ else if (protocol == 'i2p') instancesList = [...quetreI2pCustomRedirects];
+ else if (protocol == 'tor') instancesList = [...quetreTorRedirectsChecks, ...quetreTorCustomRedirects];
if ((instancesList.length === 0 && protocolFallback) || protocol == 'normal') {
instancesList = [...quetreNormalRedirectsChecks, ...quetreNormalCustomRedirects];
}
@@ -104,7 +112,9 @@ function reverse(url) {
...quoraRedirects.quetre.normal,
...quoraRedirects.quetre.tor,
...quetreNormalCustomRedirects,
- ...quetreTorCustomRedirects
+ ...quetreTorCustomRedirects,
+ ...quetreI2pCustomRedirects,
+ ...quetreLokiCustomRedirects
];
if (!all.includes(protocolHost)) { resolve(); return; }
@@ -123,11 +133,15 @@ function switchInstance(url, disableOverride) {
...quetreNormalCustomRedirects,
...quetreTorCustomRedirects,
+ ...quetreI2pCustomRedirects,
+ ...quetreLokiCustomRedirects
];
if (!all.includes(protocolHost)) { resolve(); return; }
let instancesList = [];
- if (protocol == 'tor') instancesList = [...quetreTorRedirectsChecks, ...quetreTorCustomRedirects];
+ if (protocol == 'loki') instancesList = [...quetreLokiCustomRedirects];
+ else if (protocol == 'i2p') instancesList = [...quetreI2pCustomRedirects];
+ else if (protocol == 'tor') instancesList = [...quetreTorRedirectsChecks, ...quetreTorCustomRedirects];
if ((instancesList.length === 0 && protocolFallback) || protocol == 'normal') {
instancesList = [...quetreNormalRedirectsChecks, ...quetreNormalCustomRedirects];
}
@@ -158,6 +172,10 @@ function initDefaults() {
quetreTorRedirectsChecks: [...redirects.quetre.tor],
quetreTorCustomRedirects: [],
+
+ quetreI2pCustomRedirects: [],
+
+ quetreLokiCustomRedirects: []
}, () => resolve());
});
})
diff --git a/src/assets/javascripts/reddit.js b/src/assets/javascripts/reddit.js
index f43d88dd..510ec469 100644
--- a/src/assets/javascripts/reddit.js
+++ b/src/assets/javascripts/reddit.js
@@ -43,14 +43,19 @@ let
redditFrontend,
redditRedirects,
protocol,
+ protocolFallback,
libredditNormalRedirectsChecks,
libredditNormalCustomRedirects,
libredditTorRedirectsChecks,
libredditTorCustomRedirects,
+ libredditI2pCustomRedirects,
+ libredditLokiCustomRedirects,
tedditNormalRedirectsChecks,
tedditNormalCustomRedirects,
tedditTorRedirectsChecks,
- tedditTorCustomRedirects;
+ tedditTorCustomRedirects,
+ tedditI2pCustomRedirects,
+ tedditLokiCustomRedirects;
function init() {
return new Promise(resolve => {
@@ -60,28 +65,38 @@ function init() {
"redditFrontend",
"redditRedirects",
"protocol",
+ "protocolFallback",
"libredditNormalRedirectsChecks",
"libredditNormalCustomRedirects",
"libredditTorRedirectsChecks",
"libredditTorCustomRedirects",
+ "libredditI2pCustomRedirects",
+ "libredditLokiCustomRedirects",
"tedditNormalRedirectsChecks",
"tedditNormalCustomRedirects",
"tedditTorRedirectsChecks",
"tedditTorCustomRedirects",
+ "tedditI2pCustomRedirects",
+ "tedditLokiCustomRedirects"
],
r => {
disableReddit = r.disableReddit;
redditFrontend = r.redditFrontend;
redditRedirects = r.redditRedirects;
protocol = r.protocol;
+ protocolFallback = r.protocolFallback;
libredditNormalRedirectsChecks = r.libredditNormalRedirectsChecks;
libredditNormalCustomRedirects = r.libredditNormalCustomRedirects;
libredditTorRedirectsChecks = r.libredditTorRedirectsChecks;
libredditTorCustomRedirects = r.libredditTorCustomRedirects;
+ libredditI2pCustomRedirects = r.libredditI2pCustomRedirects;
+ libredditLokiCustomRedirects = r.libredditLokiCustomRedirects;
tedditNormalRedirectsChecks = r.tedditNormalRedirectsChecks;
tedditNormalCustomRedirects = r.tedditNormalCustomRedirects;
tedditTorRedirectsChecks = r.tedditTorRedirectsChecks;
tedditTorCustomRedirects = r.tedditTorCustomRedirects;
+ tedditI2pCustomRedirects = r.tedditI2pCustomRedirects;
+ tedditLokiCustomRedirects = r.tedditLokiCustomRedirects;
resolve();
}
)
@@ -100,12 +115,18 @@ function initLibredditCookies(test, from) {
...libredditTorRedirectsChecks,
...libredditNormalCustomRedirects,
...libredditTorCustomRedirects,
+ ...libredditI2pCustomRedirects,
+ ...libredditLokiCustomRedirects
].includes(protocolHost)) { resolve(); return; }
if (!test) {
- let checkedInstances;
- if (protocol == 'normal') checkedInstances = [...libredditNormalRedirectsChecks, ...libredditNormalCustomRedirects];
+ let checkedInstances = [];
+ if (protocol == 'loki') checkedInstances = [...libredditLokiCustomRedirects];
+ else if (protocol == 'i2p') checkedInstances = [...libredditI2pCustomRedirects];
else if (protocol == 'tor') checkedInstances = [...libredditTorRedirectsChecks, ...libredditTorCustomRedirects];
+ if ((checkedInstances.length === 0 && protocolFallback) || protocol == 'normal') {
+ checkedInstances = [...libredditNormalRedirectsChecks, ...libredditNormalCustomRedirects];
+ }
await utils.copyCookie('libreddit', from, checkedInstances, "theme");
await utils.copyCookie('libreddit', from, checkedInstances, "front_page");
await utils.copyCookie('libreddit', from, checkedInstances, "layout");
@@ -127,9 +148,13 @@ function pasteLibredditCookies() {
return new Promise(async resolve => {
await init();
if (disableReddit || redditFrontend != 'libreddit' || protocol === undefined) { resolve(); return; }
- let checkedInstances;
- if (protocol == 'normal') checkedInstances = [...libredditNormalRedirectsChecks, ...libredditNormalCustomRedirects]
- else if (protocol == 'tor') checkedInstances = [...libredditTorRedirectsChecks, ...libredditTorCustomRedirects]
+ let checkedInstances = [];
+ if (protocol == 'loki') checkedInstances = [...libredditLokiCustomRedirects];
+ else if (protocol == 'i2p') checkedInstances = [...libredditI2pCustomRedirects];
+ else if (protocol == 'tor') checkedInstances = [...libredditTorRedirectsChecks, ...libredditTorCustomRedirects];
+ if ((checkedInstances.length === 0 && protocolFallback) || protocol == 'normal') {
+ checkedInstances = [...libredditNormalRedirectsChecks, ...libredditNormalCustomRedirects];
+ }
utils.getCookiesFromStorage('libreddit', checkedInstances, "theme");
utils.getCookiesFromStorage('libreddit', checkedInstances, "front_page");
utils.getCookiesFromStorage('libreddit', checkedInstances, "layout");
@@ -155,12 +180,19 @@ function initTedditCookies(test, from) {
...tedditTorRedirectsChecks,
...tedditNormalCustomRedirects,
...tedditTorCustomRedirects,
+ ...tedditI2pCustomRedirects,
+ ...tedditI2pCustomRedirects
+
].includes(protocolHost)) resolve();
if (!test) {
- let checkedInstances;
- if (protocol == 'normal') checkedInstances = [...tedditNormalRedirectsChecks, ...tedditNormalCustomRedirects]
- else if (protocol == 'tor') checkedInstances = [...tedditTorRedirectsChecks, ...tedditTorCustomRedirects]
+ let checkedInstances = [];
+ if (protocol == 'loki') checkedInstances = [...tedditLokiCustomRedirects];
+ else if (protocol == 'i2p') checkedInstances = [...tedditI2pCustomRedirects];
+ else if (protocol == 'tor') checkedInstances = [...tedditTorRedirectsChecks, ...tedditTorCustomRedirects];
+ if ((checkedInstances.length === 0 && protocolFallback) || protocol == 'normal') {
+ checkedInstances = [...tedditNormalRedirectsChecks, ...tedditNormalCustomRedirects];
+ }
await utils.copyCookie('teddit', from, checkedInstances, 'collapse_child_comments')
await utils.copyCookie('teddit', from, checkedInstances, 'domain_instagram')
await utils.copyCookie('teddit', from, checkedInstances, 'domain_twitter')
@@ -182,9 +214,13 @@ function pasteTedditCookies() {
return new Promise(async resolve => {
await init();
if (disableReddit || redditFrontend != 'teddit' || protocol === undefined) { resolve(); return; }
- let checkedInstances;
- if (protocol == 'normal') checkedInstances = [...tedditNormalRedirectsChecks, ...tedditNormalCustomRedirects]
- else if (protocol == 'tor') checkedInstances = [...tedditTorRedirectsChecks, ...tedditTorCustomRedirects]
+ let checkedInstances = [];
+ if (protocol == 'loki') checkedInstances = [...tedditLokiCustomRedirects];
+ else if (protocol == 'i2p') checkedInstances = [...tedditI2pCustomRedirects];
+ else if (protocol == 'tor') checkedInstances = [...tedditTorRedirectsChecks, ...tedditTorCustomRedirects];
+ if ((checkedInstances.length === 0 && protocolFallback) || protocol == 'normal') {
+ checkedInstances = [...tedditNormalRedirectsChecks, ...tedditNormalCustomRedirects];
+ }
utils.getCookiesFromStorage('teddit', checkedInstances, 'collapse_child_comments')
utils.getCookiesFromStorage('teddit', checkedInstances, 'domain_instagram')
utils.getCookiesFromStorage('teddit', checkedInstances, 'domain_twitter')
@@ -209,8 +245,12 @@ function all() {
...redditRedirects.teddit.tor,
...libredditNormalCustomRedirects,
...libredditTorCustomRedirects,
+ ...libredditI2pCustomRedirects,
+ ...libredditLokiCustomRedirects,
...tedditNormalCustomRedirects,
...tedditTorCustomRedirects,
+ ...tedditI2pCustomRedirects,
+ ...tedditLokiCustomRedirects
];
}
@@ -235,14 +275,22 @@ function redirect(url, type, initiator, disableOverride) {
let libredditInstancesList = [];
let tedditInstancesList = [];
- if (protocol == 'tor') {
- libredditInstancesList = [...libredditTorRedirectsChecks, ...libredditTorCustomRedirects];
- tedditInstancesList = [...tedditTorRedirectsChecks, ...tedditTorCustomRedirects];
- }
- if ((instancesList.length === 0 && protocolFallback) || protocol == 'normal') {
- libredditInstancesList = [...libredditNormalRedirectsChecks, ...libredditNormalCustomRedirects];
- tedditInstancesList = [...tedditNormalRedirectsChecks, ...tedditNormalCustomRedirects];
- }
+ if (protocol == 'loki') {
+ libredditInstancesList = [...libredditLokiCustomRedirects];
+ tedditInstancesList = [...tedditLokiCustomRedirects];
+ }
+ else if (protocol == 'i2p') {
+ libredditInstancesList = [...libredditI2pCustomRedirects];
+ tedditInstancesList = [...tedditI2pCustomRedirects];
+ }
+ else if (protocol == 'tor') {
+ libredditInstancesList = [...libredditTorRedirectsChecks, ...libredditTorCustomRedirects];
+ tedditInstancesList = [...tedditTorRedirectsChecks, ...tedditTorCustomRedirects];
+ }
+ if ((instancesList.length === 0 && protocolFallback) || protocol == 'normal') {
+ libredditInstancesList = [...libredditNormalRedirectsChecks, ...libredditNormalCustomRedirects];
+ tedditInstancesList = [...tedditNormalRedirectsChecks, ...tedditNormalCustomRedirects];
+ }
if (url.host === "i.redd.it") {
if (redditFrontend == 'teddit') {
@@ -299,7 +347,9 @@ function switchInstance(url, disableOverride) {
if (!all().includes(protocolHost)) { resolve(); return; }
let instancesList = [];
if (redditFrontend == 'libreddit') {
- if (protocol == 'tor') instancesList = [...libredditTorRedirectsChecks, ...libredditTorCustomRedirects];
+ if (protocol == 'loki') instancesList = [...libredditLokiCustomRedirects];
+ else if (protocol == 'i2p') instancesList = [...libredditI2pCustomRedirects];
+ else if (protocol == 'tor') instancesList = [...libredditTorRedirectsChecks, ...libredditTorCustomRedirects];
if ((instancesList.length === 0 && protocolFallback) || protocol == 'normal') {
instancesList = [...libredditNormalRedirectsChecks, ...libredditNormalCustomRedirects];
}
@@ -309,7 +359,9 @@ function switchInstance(url, disableOverride) {
].includes(protocolHost)) url.pathname = url.pathname.replace("/pics/w:null_", "/img/");
}
else if (redditFrontend == 'teddit') {
- if (protocol == 'tor') instancesList = [...tedditTorRedirectsChecks, ...tedditTorCustomRedirects];
+ if (protocol == 'loki') instancesList = [...tedditLokiCustomRedirects];
+ else if (protocol == 'i2p') instancesList = [...tedditI2pCustomRedirects];
+ else if (protocol == 'tor') instancesList = [...tedditTorRedirectsChecks, ...tedditTorCustomRedirects];
if ((instancesList.length === 0 && protocolFallback) || protocol == 'normal') {
instancesList = [...tedditNormalRedirectsChecks, ...tedditNormalCustomRedirects];
}
@@ -359,11 +411,19 @@ function initDefaults() {
libredditTorRedirectsChecks: [...redirects.libreddit.tor],
libredditTorCustomRedirects: [],
+ libredditI2pCustomRedirects: [],
+
+ libredditLokiCustomRedirects: [],
+
tedditNormalRedirectsChecks: tedditNormalRedirectsChecks,
tedditNormalCustomRedirects: [],
tedditTorRedirectsChecks: [...redirects.teddit.tor],
tedditTorCustomRedirects: [],
+
+ tedditI2pCustomRedirects: [],
+
+ tedditLokiCustomRedirects: []
}, () => resolve());
});
});
diff --git a/src/assets/javascripts/reuters.js b/src/assets/javascripts/reuters.js
index ee4f227c..aaae5d17 100644
--- a/src/assets/javascripts/reuters.js
+++ b/src/assets/javascripts/reuters.js
@@ -18,6 +18,21 @@ for (let i = 0; i < frontends.length; i++) {
}
}
+function setRedirects(val) {
+ browser.storage.local.get('cloudflareBlackList', r => {
+ redirects.neuters = val;
+ neutersNormalRedirectsChecks = [...redirects.neuters.normal];
+ for (const instance of r.cloudflareBlackList) {
+ const a = neutersNormalRedirectsChecks.indexOf(instance);
+ if (a > -1) neutersNormalRedirectsChecks.splice(a, 1);
+ }
+ browser.storage.local.set({
+ neutersRedirects: redirects,
+ neutersNormalRedirectsChecks
+ })
+ })
+}
+
let
disableReuters,
protocol,
@@ -26,7 +41,9 @@ let
neutersNormalRedirectsChecks,
neutersNormalCustomRedirects,
neutersTorRedirectsChecks,
- neutersTorCustomRedirects;
+ neutersTorCustomRedirects,
+ neutersI2pCustomRedirects,
+ neutersLokiCustomRedirects;
function init() {
return new Promise(async resolve => {
@@ -40,6 +57,8 @@ function init() {
"neutersNormalCustomRedirects",
"neutersTorRedirectsChecks",
"neutersTorCustomRedirects",
+ "neutersI2pCustomRedirects",
+ "neutersLokiCustomRedirects"
],
r => {
disableReuters = r.disableReuters;
@@ -50,6 +69,8 @@ function init() {
neutersNormalCustomRedirects = r.neutersNormalCustomRedirects;
neutersTorRedirectsChecks = r.neutersTorRedirectsChecks;
neutersTorCustomRedirects = r.neutersTorCustomRedirects;
+ neutersI2pCustomRedirects = r.neutersI2pCustomRedirects;
+ neutersLokiCustomRedirects = r.neutersLokiCustomRedirects;
resolve();
}
)
@@ -70,7 +91,9 @@ function redirect(url, type, initiator, disableOverride) {
if (!targets.some(rx => rx.test(url.href))) return;
let instancesList = [];
- if (protocol == 'tor') instancesList = [...neutersTorRedirectsChecks, ...neutersTorCustomRedirects];
+ if (protocol == 'loki') instancesList = [...neutersLokiCustomRedirects];
+ else if (protocol == 'i2p') instancesList = [...neutersI2pCustomRedirects];
+ else if (protocol == 'tor') instancesList = [...neutersTorRedirectsChecks, ...neutersTorCustomRedirects];
if ((instancesList.length === 0 && protocolFallback) || protocol == 'normal') {
instancesList = [...neutersNormalRedirectsChecks, ...neutersNormalCustomRedirects];
}
@@ -103,11 +126,16 @@ function initDefaults() {
neutersTorRedirectsChecks: [...redirects.neuters.tor],
neutersTorCustomRedirects: [],
+
+ neutersI2pCustomRedirects: [],
+
+ neutersLokiCustomRedirects: []
}, () => resolve());
});
}
export default {
+ setRedirects,
redirect,
initDefaults
};
diff --git a/src/assets/javascripts/search.js b/src/assets/javascripts/search.js
index 6653d2bd..571df3c1 100644
--- a/src/assets/javascripts/search.js
+++ b/src/assets/javascripts/search.js
@@ -90,24 +90,28 @@ let
whoogleTorCustomRedirects,
whoogleI2pRedirectsChecks,
whoogleI2pCustomRedirects,
+ whoogleLokiCustomRedirects,
searxNormalRedirectsChecks,
searxNormalCustomRedirects,
searxTorRedirectsChecks,
searxTorCustomRedirects,
searxI2pRedirectsChecks,
searxI2pCustomRedirects,
+ searxLokiCustomRedirects,
searxngNormalRedirectsChecks,
searxngNormalCustomRedirects,
searxngTorRedirectsChecks,
searxngTorCustomRedirects,
searxngI2pRedirectsChecks,
searxngI2pCustomRedirects,
+ searxngLokiCustomRedirects,
librexNormalRedirectsChecks,
librexNormalCustomRedirects,
librexTorRedirectsChecks,
librexTorCustomRedirects,
librexI2pRedirectsChecks,
- librexI2pCustomRedirects;
+ librexI2pCustomRedirects,
+ librexLokiCustomRedirects;
function init() {
return new Promise(async resolve => {
@@ -124,24 +128,28 @@ function init() {
"whoogleTorCustomRedirects",
"whoogleI2pRedirectsChecks",
"whoogleI2pCustomRedirects",
+ "whoogleLokiCustomRedirects",
"searxNormalRedirectsChecks",
"searxNormalCustomRedirects",
"searxTorRedirectsChecks",
"searxTorCustomRedirects",
"searxI2pRedirectsChecks",
"searxI2pCustomRedirects",
+ "searxLokiCustomRedirects",
"searxngNormalRedirectsChecks",
"searxngNormalCustomRedirects",
"searxngTorRedirectsChecks",
"searxngTorCustomRedirects",
"searxngI2pRedirectsChecks",
"searxngI2pCustomRedirects",
+ "searxngLokiCustomRedirects",
"librexNormalRedirectsChecks",
"librexNormalCustomRedirects",
"librexTorRedirectsChecks",
"librexTorCustomRedirects",
"librexI2pRedirectsChecks",
- "librexI2pCustomRedirects"
+ "librexI2pCustomRedirects",
+ "librexLokiCustomRedirects"
],
r => {
disableSearch = r.disableSearch;
@@ -155,24 +163,28 @@ function init() {
whoogleTorCustomRedirects = r.whoogleTorCustomRedirects;
whoogleI2pRedirectsChecks = r.whoogleI2pRedirectsChecks;
whoogleI2pCustomRedirects = r.whoogleI2pCustomRedirects;
+ whoogleLokiCustomRedirects = r.whoogleLokiCustomRedirects;
searxNormalRedirectsChecks = r.searxNormalRedirectsChecks;
searxNormalCustomRedirects = r.searxNormalCustomRedirects;
searxTorRedirectsChecks = r.searxTorRedirectsChecks;
searxTorCustomRedirects = r.searxTorCustomRedirects;
searxI2pRedirectsChecks = r.searxI2pRedirectsChecks;
searxI2pCustomRedirects = r.searxI2pCustomRedirects;
+ searxLokiCustomRedirects = r.searxLokiCustomRedirects;
searxngNormalRedirectsChecks = r.searxngNormalRedirectsChecks;
searxngNormalCustomRedirects = r.searxngNormalCustomRedirects;
searxngTorRedirectsChecks = r.searxngTorRedirectsChecks;
searxngTorCustomRedirects = r.searxngTorCustomRedirects;
searxngI2pRedirectsChecks = r.searxngI2pRedirectsChecks;
searxngI2pCustomRedirects = r.searxngI2pCustomRedirects;
+ searxngLokiCustomRedirects = r.searxngLokiCustomRedirects;
librexNormalRedirectsChecks = r.librexNormalRedirectsChecks;
librexNormalCustomRedirects = r.librexNormalCustomRedirects;
librexTorRedirectsChecks = r.librexTorRedirectsChecks;
librexTorCustomRedirects = r.librexTorCustomRedirects;
librexI2pRedirectsChecks = r.librexI2pRedirectsChecks;
librexI2pCustomRedirects = r.librexI2pCustomRedirects;
+ librexLokiCustomRedirects = r.librexLokiCustomRedirects;
resolve();
}
)
@@ -193,12 +205,14 @@ function initSearxCookies(test, from) {
...searxTorCustomRedirects,
...searxI2pRedirectsChecks,
...searxI2pCustomRedirects,
+ ...searxLokiCustomRedirects
].includes(protocolHost)) { resolve(); return; }
if (!test) {
let checkedInstances = [];
- if (protocol == 'i2p') checkedInstances = [...searxI2pCustomRedirects, ...searxI2pRedirectsChecks];
- if (protocol == 'tor') checkedInstances = [...searxTorRedirectsChecks, ...searxTorCustomRedirects];
+ if (protocol == 'loki') checkedInstances = [...searxLokiCustomRedirects];
+ else if (protocol == 'i2p') checkedInstances = [...searxI2pCustomRedirects, ...searxI2pRedirectsChecks];
+ else if (protocol == 'tor') checkedInstances = [...searxTorRedirectsChecks, ...searxTorCustomRedirects];
if ((checkedInstances.length === 0 && protocolFallback) || protocol == 'normal') {
checkedInstances = [...searxNormalRedirectsChecks, ...searxNormalCustomRedirects];
}
@@ -229,8 +243,9 @@ function pasteSearxCookies() {
await init();
if (disableSearch || searchFrontend != 'searx') { resolve(); return; }
let checkedInstances = [];
- if (protocol == 'i2p') checkedInstances = [...searxI2pCustomRedirects, ...searxI2pRedirectsChecks];
- if (protocol == 'tor') checkedInstances = [...searxTorRedirectsChecks, ...searxTorCustomRedirects];
+ if (protocol == 'loki') checkedInstances = [...searxLokiCustomRedirects];
+ else if (protocol == 'i2p') checkedInstances = [...searxI2pCustomRedirects, ...searxI2pRedirectsChecks];
+ else if (protocol == 'tor') checkedInstances = [...searxTorRedirectsChecks, ...searxTorCustomRedirects];
if ((checkedInstances.length === 0 && protocolFallback) || protocol == 'normal') {
checkedInstances = [...searxNormalRedirectsChecks, ...searxNormalCustomRedirects];
}
@@ -266,12 +281,14 @@ function initSearxngCookies(test, from) {
...searxngTorCustomRedirects,
...searxngI2pRedirectsChecks,
...searxngI2pCustomRedirects,
+ ...searxngLokiCustomRedirects,
].includes(protocolHost)) { resolve(); return; }
if (!test) {
let checkedInstances = [];
- if (protocol == 'i2p') checkedInstances = [...searxngI2pCustomRedirects, ...searxngI2pRedirectsChecks];
- if (protocol == 'tor') checkedInstances = [...searxngTorRedirectsChecks, ...searxngTorCustomRedirects];
+ if (protocol == 'loki') checkedInstances = [...searxngLokiCustomRedirects];
+ else if (protocol == 'i2p') checkedInstances = [...searxngI2pCustomRedirects, ...searxngI2pRedirectsChecks];
+ else if (protocol == 'tor') checkedInstances = [...searxngTorRedirectsChecks, ...searxngTorCustomRedirects];
if ((checkedInstances.length === 0 && protocolFallback) || protocol == 'normal') {
checkedInstances = [...searxngNormalRedirectsChecks, ...searxngNormalCustomRedirects];
}
@@ -304,8 +321,9 @@ function pasteSearxngCookies() {
await init();
if (disableSearch || searchFrontend != 'searxng', protocol === undefined) { resolve(); return; }
let checkedInstances = [];
- if (protocol == 'i2p') checkedInstances = [...searxngI2pCustomRedirects, ...searxngI2pRedirectsChecks];
- if (protocol == 'tor') checkedInstances = [...searxngTorRedirectsChecks, ...searxngTorCustomRedirects];
+ if (protocol == 'loki') checkedInstances = [...searxngLokiCustomRedirects];
+ else if (protocol == 'i2p') checkedInstances = [...searxngI2pCustomRedirects, ...searxngI2pRedirectsChecks];
+ else if (protocol == 'tor') checkedInstances = [...searxngTorRedirectsChecks, ...searxngTorCustomRedirects];
if ((checkedInstances.length === 0 && protocolFallback) || protocol == 'normal') {
checkedInstances = [...searxngNormalRedirectsChecks, ...searxngNormalCustomRedirects];
}
@@ -343,12 +361,14 @@ function initLibrexCookies(test, from) {
...librexTorCustomRedirects,
...librexI2pRedirectsChecks,
...librexI2pCustomRedirects,
+ ...librexLokiCustomRedirects
].includes(protocolHost)) { resolve(); return; }
if(!test) {
let checkedInstances = [];
- if (protocol == 'i2p') checkedInstances = [...librexI2pCustomRedirects, ...librexI2pRedirectsChecks];
- if (protocol == 'tor') checkedInstances = [...librexTorRedirectsChecks, ...librexTorCustomRedirects];
+ if (protocol == 'loki') checkedInstances = [...librexLokiCustomRedirects];
+ else if (protocol == 'i2p') checkedInstances = [...librexI2pCustomRedirects, ...librexI2pRedirectsChecks];
+ else if (protocol == 'tor') checkedInstances = [...librexTorRedirectsChecks, ...librexTorCustomRedirects];
if ((checkedInstances.length === 0 && protocolFallback) || protocol == 'normal') {
checkedInstances = [...librexNormalRedirectsChecks, ...librexNormalCustomRedirects];
}
@@ -370,8 +390,9 @@ function pasteLibrexCookies() {
await init();
if (disableSearch || searchFrontend != 'librex', protocol === undefined) { resolve(); return; }
let checkedInstances = [];
- if (protocol == 'i2p') checkedInstances = [...librexI2pCustomRedirects, ...librexI2pRedirectsChecks];
- if (protocol == 'tor') checkedInstances = [...librexTorRedirectsChecks, ...librexTorCustomRedirects];
+ if (protocol == 'loki') checkedInstances = [...librexLokiCustomRedirects];
+ else if (protocol == 'i2p') checkedInstances = [...librexI2pCustomRedirects, ...librexI2pRedirectsChecks];
+ else if (protocol == 'tor') checkedInstances = [...librexTorRedirectsChecks, ...librexTorCustomRedirects];
if ((checkedInstances.length === 0 && protocolFallback) || protocol == 'normal') {
checkedInstances = [...librexNormalRedirectsChecks, ...librexNormalCustomRedirects];
}
@@ -396,8 +417,9 @@ function redirect(url, disableOverride) {
let path;
if (searchFrontend == 'searx') {
let instancesList = [];
- if (protocol == 'i2p') instancesList = [...searxI2pCustomRedirects, ...searxI2pRedirectsChecks];
- if (protocol == 'tor') instancesList = [...searxTorRedirectsChecks, ...searxTorCustomRedirects];
+ if (protocol == 'loki') instancesList = [...searxLokiCustomRedirects];
+ else if (protocol == 'i2p') instancesList = [...searxI2pCustomRedirects, ...searxI2pRedirectsChecks];
+ else if (protocol == 'tor') instancesList = [...searxTorRedirectsChecks, ...searxTorCustomRedirects];
if ((instancesList.length === 0 && protocolFallback) || protocol == 'normal') {
instancesList = [...searxNormalRedirectsChecks, ...searxNormalCustomRedirects];
}
@@ -408,8 +430,9 @@ function redirect(url, disableOverride) {
}
else if (searchFrontend == 'searxng') {
let instancesList = [];
- if (protocol == 'i2p') instancesList = [...searxngI2pCustomRedirects, ...searxngI2pRedirectsChecks];
- if (protocol == 'tor') instancesList = [...searxngTorRedirectsChecks, ...searxngTorCustomRedirects];
+ if (protocol == 'loki') instancesList = [...searxngLokiCustomRedirects];
+ else if (protocol == 'i2p') instancesList = [...searxngI2pCustomRedirects, ...searxngI2pRedirectsChecks];
+ else if (protocol == 'tor') instancesList = [...searxngTorRedirectsChecks, ...searxngTorCustomRedirects];
if ((instancesList.length === 0 && protocolFallback) || protocol == 'normal') {
instancesList = [...searxngNormalRedirectsChecks, ...searxngNormalCustomRedirects];
}
@@ -420,8 +443,9 @@ function redirect(url, disableOverride) {
}
else if (searchFrontend == 'whoogle') {
let instancesList = [];
- if (protocol == 'i2p') instancesList = [...whoogleI2pCustomRedirects, ...whoogleI2pRedirectsChecks];
- if (protocol == 'tor') instancesList = [...whoogleTorRedirectsChecks, ...whoogleTorCustomRedirects];
+ if (protocol == 'loki') instancesList = [...whoogleLokiCustomRedirects];
+ else if (protocol == 'i2p') instancesList = [...whoogleI2pCustomRedirects, ...whoogleI2pRedirectsChecks];
+ else if (protocol == 'tor') instancesList = [...whoogleTorRedirectsChecks, ...whoogleTorCustomRedirects];
if ((instancesList.length === 0 && protocolFallback) || protocol == 'normal') {
instancesList = [...whoogleNormalRedirectsChecks, ...whoogleNormalCustomRedirects];
}
@@ -432,8 +456,9 @@ function redirect(url, disableOverride) {
}
else if (searchFrontend == 'librex') {
let instancesList = [];
- if (protocol == 'i2p') instancesList = [...librexI2pCustomRedirects, ...librexI2pRedirectsChecks];
- if (protocol == 'tor') instancesList = [...librexTorRedirectsChecks, ...librexTorCustomRedirects];
+ if (protocol == 'loki') instancesList = [...librexLokiCustomRedirects];
+ else if (protocol == 'i2p') instancesList = [...librexI2pCustomRedirects, ...librexI2pRedirectsChecks];
+ else if (protocol == 'tor') instancesList = [...librexTorRedirectsChecks, ...librexTorCustomRedirects];
if ((instancesList.length === 0 && protocolFallback) || protocol == 'normal') {
instancesList = [...librexNormalRedirectsChecks, ...librexNormalCustomRedirects];
}
@@ -487,23 +512,33 @@ function switchInstance(url, disableOverride) {
...searxNormalCustomRedirects,
...searxTorCustomRedirects,
...searxI2pCustomRedirects,
+ ...searxLokiCustomRedirects,
...searxngNormalCustomRedirects,
...searxngTorCustomRedirects,
...searxngI2pCustomRedirects,
+ ...searxngLokiCustomRedirects,
...whoogleNormalCustomRedirects,
...whoogleTorCustomRedirects,
...whoogleI2pCustomRedirects,
+ ...whoogleLokiCustomRedirects,
...librexNormalCustomRedirects,
...librexTorCustomRedirects,
...librexI2pCustomRedirects,
+ ...librexLokiCustomRedirects
].includes(protocolHost)) { resolve(); return; }
let instancesList;
- if (protocol == 'tor') {
+ if (protocol == 'loki') {
+ if (searchFrontend == 'searx') instancesList = [...searxLokiCustomRedirects];
+ else if (searchFrontend == 'searxng') instancesList = [...searxngLokiCustomRedirects];
+ else if (searchFrontend == 'whoogle') instancesList = [...whoogleLokiCustomRedirects];
+ else if (searchFrontend == 'librex') instancesList = [...librexLokiCustomRedirects];
+ }
+ else if (protocol == 'tor') {
if (searchFrontend == 'searx') instancesList = [...searxTorRedirectsChecks, ...searxTorCustomRedirects];
else if (searchFrontend == 'searxng') instancesList = [...searxngTorRedirectsChecks, ...searxngTorCustomRedirects];
else if (searchFrontend == 'whoogle') instancesList = [...whoogleTorRedirectsChecks, ...whoogleTorCustomRedirects];
@@ -578,6 +613,8 @@ function initDefaults() {
whoogleI2pRedirectsChecks: [...redirects.whoogle.i2p],
whoogleI2pCustomRedirects: [],
+ whoogleLokiCustomRedirects: [],
+
searxNormalRedirectsChecks: searxNormalRedirectsChecks,
searxNormalCustomRedirects: [],
@@ -588,6 +625,8 @@ function initDefaults() {
searxI2pRedirectsChecks: [...redirects.searx.i2p],
searxI2pCustomRedirects: [],
+ searxLokiCustomRedirects: [],
+
searxngNormalRedirectsChecks: searxngNormalRedirectsChecks,
searxngNormalCustomRedirects: [],
@@ -598,6 +637,8 @@ function initDefaults() {
searxngI2pRedirectsChecks: [...redirects.searxng.i2p],
searxngI2pCustomRedirects: [],
+ searxngLokiCustomRedirects: [],
+
librexNormalRedirectsChecks: librexNormalRedirectsChecks,
librexNormalCustomRedirects: [],
@@ -606,7 +647,9 @@ function initDefaults() {
librexTorCustomRedirects: [],
librexI2pRedirectsChecks: [...redirects.librex.i2p],
- librexI2pCustomRedirects: []
+ librexI2pCustomRedirects: [],
+
+ librexLokiCustomRedirects: []
}, () => resolve())
})
})
diff --git a/src/assets/javascripts/sendTargets.js b/src/assets/javascripts/sendTargets.js
index cc5b348c..e414298a 100644
--- a/src/assets/javascripts/sendTargets.js
+++ b/src/assets/javascripts/sendTargets.js
@@ -42,6 +42,8 @@ let
sendNormalCustomRedirects,
sendTorRedirectsChecks,
sendTorCustomRedirects,
+ sendI2pCustomRedirects,
+ sendLokiCustomRedirects,
protocol,
protocolFallback;
@@ -57,6 +59,8 @@ function init() {
"sendNormalCustomRedirects",
"sendTorRedirectsChecks",
"sendTorCustomRedirects",
+ "sendI2pCustomRedirects",
+ "sendLokiCustomRedirects"
],
r => {
disableSendTarget = r.disableSendTarget;
@@ -65,6 +69,8 @@ function init() {
sendNormalCustomRedirects = r.sendNormalCustomRedirects;
sendTorRedirectsChecks = r.sendTorRedirectsChecks;
sendTorCustomRedirects = r.sendTorCustomRedirects;
+ sendI2pCustomRedirects = r.sendI2pCustomRedirects;
+ sendLokiCustomRedirects = r.sendLokiCustomRedirects;
protocol = r.protocol;
protocolFallback = r.protocolFallback;
resolve();
@@ -83,6 +89,8 @@ function all() {
...sendNormalCustomRedirects,
...sendTorRedirectsChecks,
...sendTorCustomRedirects,
+ ...sendI2pCustomRedirects,
+ ...sendLokiCustomRedirects
];
}
@@ -95,7 +103,9 @@ function switchInstance(url, disableOverride) {
if (url.pathname != '/') { resolve(); return; }
let instancesList = [];
- if (protocol == 'tor') instancesList = [...sendTorRedirectsChecks, ...sendTorCustomRedirects];
+ if (protocol == 'loki') instancesList = [...sendLokiCustomRedirects];
+ else if (protocol == 'i2p') instancesList = [...sendI2pCustomRedirects];
+ else if (protocol == 'tor') instancesList = [...sendTorRedirectsChecks, ...sendTorCustomRedirects];
if ((instancesList.length === 0 && protocolFallback) || protocol == 'normal') {
instancesList = [...sendNormalRedirectsChecks, ...sendNormalCustomRedirects];
}
@@ -116,7 +126,9 @@ function redirect(url, type, initiator, disableOverride) {
if (!targets.some(rx => rx.test(url.href))) return;
let instancesList = [];
- if (protocol == 'tor') instancesList = [...sendTorRedirectsChecks, ...sendTorCustomRedirects];
+ if (protocol == 'loki') instancesList = [...sendLokiCustomRedirects];
+ else if (protocol == 'i2p') instancesList = [...sendI2pCustomRedirects];
+ else if (protocol == 'tor') instancesList = [...sendTorRedirectsChecks, ...sendTorCustomRedirects];
if ((instancesList.length === 0 && protocolFallback) || protocol == 'normal') {
instancesList = [...sendNormalRedirectsChecks, ...sendNormalCustomRedirects];
}
@@ -147,7 +159,11 @@ function initDefaults() {
sendNormalCustomRedirects: [],
sendTorRedirectsChecks: [...redirects.send.tor],
- sendTorCustomRedirects: []
+ sendTorCustomRedirects: [],
+
+ sendI2pCustomRedirects: [],
+
+ sendLokiCustomRedirects: []
}, () => resolve())
})
})
diff --git a/src/assets/javascripts/tiktok.js b/src/assets/javascripts/tiktok.js
index 0bf6d592..ac35910d 100644
--- a/src/assets/javascripts/tiktok.js
+++ b/src/assets/javascripts/tiktok.js
@@ -42,13 +42,17 @@ function initProxiTokCookies(test, from) {
...proxiTokNormalCustomRedirects,
...proxiTokTorRedirectsChecks,
...proxiTokTorCustomRedirects,
+ ...proxiTokI2pCustomRedirects,
+ ...proxiTokLokiCustomRedirects,
].includes(protocolHost)) resolve();
if (!test) {
- let instancesList = [];
- if (protocol == 'tor') instancesList = [...proxiTokTorRedirectsChecks, ...proxiTokTorCustomRedirects];
- if ((instancesList.length === 0 && protocolFallback) || protocol == 'normal') {
- instancesList = [...proxiTokNormalRedirectsChecks, ...proxiTokNormalCustomRedirects];
+ let checkedInstances = [];
+ if (protocol == 'loki') checkedInstances = [...proxiTokI2pCustomRedirects];
+ else if (protocol == 'i2p') checkedInstances = [...proxiTokLokiCustomRedirects];
+ else if (protocol == 'tor') checkedInstances = [...proxiTokTorRedirectsChecks, ...proxiTokTorCustomRedirects];
+ if ((checkedInstances.length === 0 && protocolFallback) || protocol == 'normal') {
+ checkedInstances = [...proxiTokNormalRedirectsChecks, ...proxiTokNormalCustomRedirects];
}
await utils.copyCookie('proxitok', from, checkedInstances, 'theme');
await utils.copyCookie('proxitok', from, checkedInstances, 'api-legacy');
@@ -61,10 +65,12 @@ function pasteProxiTokCookies() {
return new Promise(async resolve => {
await init();
if (disableTiktok || protocol === undefined) { resolve(); return; }
- let instancesList = [];
- if (protocol == 'tor') instancesList = [...proxiTokTorRedirectsChecks, ...proxiTokTorCustomRedirects];
- if ((instancesList.length === 0 && protocolFallback) || protocol == 'normal') {
- instancesList = [...proxiTokNormalRedirectsChecks, ...proxiTokNormalCustomRedirects];
+ let checkedInstances = [];
+ if (protocol == 'loki') checkedInstances = [...proxiTokI2pCustomRedirects];
+ else if (protocol == 'i2p') checkedInstances = [...proxiTokLokiCustomRedirects];
+ else if (protocol == 'tor') checkedInstances = [...proxiTokTorRedirectsChecks, ...proxiTokTorCustomRedirects];
+ if ((checkedInstances.length === 0 && protocolFallback) || protocol == 'normal') {
+ checkedInstances = [...proxiTokNormalRedirectsChecks, ...proxiTokNormalCustomRedirects];
}
utils.getCookiesFromStorage('proxitok', checkedInstances, 'theme');
utils.getCookiesFromStorage('proxitok', checkedInstances, 'api-legacy');
@@ -80,7 +86,9 @@ let
proxiTokNormalRedirectsChecks,
proxiTokNormalCustomRedirects,
proxiTokTorRedirectsChecks,
- proxiTokTorCustomRedirects;
+ proxiTokTorCustomRedirects,
+ proxiTokI2pCustomRedirects,
+ proxiTokLokiCustomRedirects;
function init() {
return new Promise(async resolve => {
@@ -94,6 +102,8 @@ function init() {
"proxiTokNormalCustomRedirects",
"proxiTokTorRedirectsChecks",
"proxiTokTorCustomRedirects",
+ "proxiTokI2pCustomRedirects",
+ "proxiTokLokiCustomRedirects"
],
r => {
disableTiktok = r.disableTiktok;
@@ -104,6 +114,8 @@ function init() {
proxiTokNormalCustomRedirects = r.proxiTokNormalCustomRedirects;
proxiTokTorRedirectsChecks = r.proxiTokTorRedirectsChecks;
proxiTokTorCustomRedirects = r.proxiTokTorCustomRedirects;
+ proxiTokI2pCustomRedirects = r.proxiTokI2pCustomRedirects;
+ proxiTokLokiCustomRedirects = r.proxiTokLokiCustomRedirects;
resolve();
}
)
@@ -126,7 +138,9 @@ function redirect(url, type, initiator, disableOverride) {
if (!targets.some(rx => rx.test(url.href))) return;
let instancesList = [];
- if (protocol == 'tor') instancesList = [...proxiTokTorRedirectsChecks, ...proxiTokTorCustomRedirects];
+ if (protocol == 'loki') instancesList = [...proxiTokI2pCustomRedirects];
+ else if (protocol == 'i2p') instancesList = [...proxiTokLokiCustomRedirects];
+ else if (protocol == 'tor') instancesList = [...proxiTokTorRedirectsChecks, ...proxiTokTorCustomRedirects];
if ((instancesList.length === 0 && protocolFallback) || protocol == 'normal') {
instancesList = [...proxiTokNormalRedirectsChecks, ...proxiTokNormalCustomRedirects];
}
@@ -144,7 +158,9 @@ function reverse(url) {
...tiktokRedirects.proxiTok.normal,
...tiktokRedirects.proxiTok.tor,
...proxiTokNormalCustomRedirects,
- ...proxiTokTorCustomRedirects
+ ...proxiTokTorCustomRedirects,
+ ...proxiTokI2pCustomRedirects,
+ ...proxiTokLokiCustomRedirects
];
if (!all.includes(protocolHost)) { resolve(); return; }
@@ -163,11 +179,15 @@ function switchInstance(url, disableOverride) {
...proxiTokNormalCustomRedirects,
...proxiTokTorCustomRedirects,
+ ...proxiTokI2pCustomRedirects,
+ ...proxiTokLokiCustomRedirects
];
if (!all.includes(protocolHost)) { resolve(); return; }
let instancesList = [];
- if (protocol == 'tor') instancesList = [...proxiTokTorRedirectsChecks, ...proxiTokTorCustomRedirects];
+ if (protocol == 'loki') instancesList = [...proxiTokI2pCustomRedirects];
+ else if (protocol == 'i2p') instancesList = [...proxiTokLokiCustomRedirects];
+ else if (protocol == 'tor') instancesList = [...proxiTokTorRedirectsChecks, ...proxiTokTorCustomRedirects];
if ((instancesList.length === 0 && protocolFallback) || protocol == 'normal') {
instancesList = [...proxiTokNormalRedirectsChecks, ...proxiTokNormalCustomRedirects];
}
@@ -198,6 +218,10 @@ function initDefaults() {
proxiTokTorRedirectsChecks: [...redirects.proxiTok.tor],
proxiTokTorCustomRedirects: [],
+
+ proxiTokI2pCustomRedirects: [],
+
+ proxiTokLokiCustomRedirects: []
}, () => resolve());
});
})
diff --git a/src/assets/javascripts/translate/translate.js b/src/assets/javascripts/translate/translate.js
index ae64f127..0dc0f73b 100644
--- a/src/assets/javascripts/translate/translate.js
+++ b/src/assets/javascripts/translate/translate.js
@@ -31,11 +31,13 @@ let
simplyTranslateI2pRedirectsChecks,
simplyTranslateI2pCustomRedirects,
simplyTranslateLokiRedirectsChecks,
- simplyTranslateLokiCustomReidrects,
+ simplyTranslateLokiCustomRedirects,
lingvaNormalRedirectsChecks,
lingvaNormalCustomRedirects,
lingvaTorRedirectsChecks,
- lingvaTorCustomRedirects;
+ lingvaTorCustomRedirects,
+ lingvaI2pCustomRedirects,
+ lingvaLokiCustomRedirects
function init() {
return new Promise(resolve => {
@@ -53,12 +55,14 @@ function init() {
"simplyTranslateI2pRedirectsChecks",
"simplyTranslateI2pCustomRedirects",
"simplyTranslateLokiRedirectsChecks",
- "simplyTranslateLokiCustomReidrects",
+ "simplyTranslateLokiCustomRedirects",
"lingvaNormalRedirectsChecks",
"lingvaNormalCustomRedirects",
"lingvaTorRedirectsChecks",
"lingvaTorCustomRedirects",
+ "lingvaI2pCustomRedirects",
+ "lingvaLokiCustomRedirects"
],
r => {
translateDisable = r.translateDisable;
@@ -73,11 +77,13 @@ function init() {
simplyTranslateI2pRedirectsChecks = r.simplyTranslateI2pRedirectsChecks;
simplyTranslateI2pCustomRedirects = r.simplyTranslateI2pCustomRedirects;
simplyTranslateLokiRedirectsChecks = r.simplyTranslateLokiRedirectsChecks;
- simplyTranslateLokiCustomReidrects = r.simplyTranslateLokiCustomReidrects;
+ simplyTranslateLokiCustomRedirects = r.simplyTranslateLokiCustomRedirects;
lingvaNormalRedirectsChecks = r.lingvaNormalRedirectsChecks;
lingvaNormalCustomRedirects = r.lingvaNormalCustomRedirects;
lingvaTorRedirectsChecks = r.lingvaTorRedirectsChecks;
lingvaTorCustomRedirects = r.lingvaTorCustomRedirects;
+ lingvaI2pCustomRedirects = r.lingvaI2pCustomRedirects;
+ lingvaLokiCustomRedirects = r.lingvaLokiCustomRedirects;
resolve();
}
)
@@ -117,6 +123,8 @@ function copyPasteLingvaLocalStorage(test, url, tabId) {
...lingvaNormalCustomRedirects,
...lingvaTorRedirectsChecks,
...lingvaTorCustomRedirects,
+ ...lingvaI2pCustomRedirects,
+ ...lingvaLokiCustomRedirects
].includes(protocolHost)) { resolve(); return; }
if (!test) {
@@ -126,7 +134,9 @@ function copyPasteLingvaLocalStorage(test, url, tabId) {
);
let checkedInstances = [];
- if (protocol == 'tor') checkedInstances = [...lingvaTorRedirectsChecks, ...lingvaTorCustomRedirects];
+ if (protocol == 'loki') checkedInstances = [...lingvaLokiCustomRedirects]; //...lingvaLokiRedirectsChecks,
+ else if (protocol == 'i2p') checkedInstances = [...lingvaI2pCustomRedirects]; //...lingvaI2pRedirectsChecks,
+ else if (protocol == 'tor') checkedInstances = [...lingvaTorRedirectsChecks, ...lingvaTorCustomRedirects];
if ((checkedInstances.length === 0 && protocolFallback) || protocol == 'normal') {
checkedInstances = [...lingvaNormalRedirectsChecks, ...lingvaNormalCustomRedirects];
}
@@ -149,7 +159,9 @@ function pasteLingvaLocalStorage() {
await init();
if (translateDisable || translateFrontend != 'lingva') { resolve(); return; }
let checkedInstances = [];
- if (protocol == 'tor') checkedInstances = [...lingvaTorRedirectsChecks, ...lingvaTorCustomRedirects];
+ if (protocol == 'loki') checkedInstances = [...lingvaLokiCustomRedirects]; //...lingvaLokiRedirectsChecks,
+ else if (protocol == 'i2p') checkedInstances = [...lingvaI2pCustomRedirects]; //...lingvaI2pRedirectsChecks,
+ else if (protocol == 'tor') checkedInstances = [...lingvaTorRedirectsChecks, ...lingvaTorCustomRedirects];
if ((checkedInstances.length === 0 && protocolFallback) || protocol == 'normal') {
checkedInstances = [...lingvaNormalRedirectsChecks, ...lingvaNormalCustomRedirects];
}
@@ -172,11 +184,11 @@ function copyPasteSimplyTranslateCookies(test, from) {
...simplyTranslateI2pRedirectsChecks,
...simplyTranslateI2pCustomRedirects,
...simplyTranslateLokiRedirectsChecks,
- ...simplyTranslateLokiCustomReidrects,
+ ...simplyTranslateLokiCustomRedirects,
].includes(protocolHost)) { resolve(); return; }
if (!test) {
let checkedInstances = [];
- if (protocol == 'loki') checkedInstances = [...simplyTranslateLokiRedirectsChecks, ...simplyTranslateLokiCustomReidrects]
+ if (protocol == 'loki') checkedInstances = [...simplyTranslateLokiRedirectsChecks, ...simplyTranslateLokiCustomRedirects]
else if (protocol == 'i2p') checkedInstances = [...simplyTranslateI2pCustomRedirects, ...simplyTranslateI2pRedirectsChecks];
else if (protocol == 'tor') checkedInstances = [...simplyTranslateTorRedirectsChecks, ...simplyTranslateTorCustomRedirects];
if ((checkedInstances.length === 0 && protocolFallback) || protocol == 'normal') {
@@ -197,7 +209,7 @@ function pasteSimplyTranslateCookies() {
await init();
if (translateDisable || translateFrontend != 'simplyTranslate') { resolve(); return; }
let checkedInstances = [];
- if (protocol == 'loki') checkedInstances = [...simplyTranslateLokiRedirectsChecks, ...simplyTranslateLokiCustomReidrects]
+ if (protocol == 'loki') checkedInstances = [...simplyTranslateLokiRedirectsChecks, ...simplyTranslateLokiCustomRedirects]
else if (protocol == 'i2p') checkedInstances = [...simplyTranslateI2pCustomRedirects, ...simplyTranslateI2pRedirectsChecks];
else if (protocol == 'tor') checkedInstances = [...simplyTranslateTorRedirectsChecks, ...simplyTranslateTorCustomRedirects];
if ((checkedInstances.length === 0 && protocolFallback) || protocol == 'normal') {
@@ -218,7 +230,7 @@ function redirect(url, disableOverride) {
if (translateFrontend == 'simplyTranslate') {
let instancesList = [];
- if (protocol == 'loki') instancesList = [...simplyTranslateLokiRedirectsChecks, ...simplyTranslateLokiCustomReidrects];
+ if (protocol == 'loki') instancesList = [...simplyTranslateLokiRedirectsChecks, ...simplyTranslateLokiCustomRedirects];
else if (protocol == 'i2p') instancesList = [...simplyTranslateI2pRedirectsChecks, ...simplyTranslateI2pCustomRedirects];
else if (protocol == 'tor') instancesList = [...simplyTranslateTorRedirectsChecks, ...simplyTranslateTorCustomRedirects];
if ((instancesList.length === 0 && protocolFallback) || protocol == 'normal') {
@@ -238,6 +250,8 @@ function redirect(url, disableOverride) {
params[pair[0]] = pair[1];
}
let instancesList = [];
+ if (protocol == 'loki') instancesList = [...lingvaLokiCustomRedirects]; //...lingvaLokiRedirectsChecks,
+ else if (protocol == 'i2p') instancesList = [...lingvaI2pCustomRedirects]; //...lingvaI2pRedirectsChecks,
if (protocol == 'tor') instancesList = [...lingvaTorRedirectsChecks, ...lingvaTorCustomRedirects];
if ((instancesList.length === 0 && protocolFallback) || protocol == 'normal') {
instancesList = [...lingvaNormalRedirectsChecks, ...lingvaNormalCustomRedirects];
@@ -266,24 +280,26 @@ function switchInstance(url, disableOverride) {
...simplyTranslateNormalCustomRedirects,
...simplyTranslateTorCustomRedirects,
...simplyTranslateI2pCustomRedirects,
- ...simplyTranslateLokiCustomReidrects,
+ ...simplyTranslateLokiCustomRedirects,
...translateRedirects.lingva.normal,
...translateRedirects.lingva.tor,
...lingvaNormalCustomRedirects,
...lingvaTorCustomRedirects,
+ ...lingvaI2pCustomRedirects,
+ ...lingvaLokiCustomRedirects
].includes(protocolHost)) { resolve(); return; }
let instancesList;
if (protocol == 'loki') {
- if (translateFrontend == 'simplyTranslate') instancesList = [...simplyTranslateLokiRedirectsChecks, ...simplyTranslateLokiCustomReidrects];
- //else if (translateFrontend == 'lingva') instancesList = [...lingvaLokiRedirectsChecks, ...lingvaLokiCustomRedirects];
+ if (translateFrontend == 'simplyTranslate') instancesList = [...simplyTranslateLokiRedirectsChecks, ...simplyTranslateLokiCustomRedirects];
+ else if (translateFrontend == 'lingva') instancesList = [...lingvaLokiCustomRedirects]; //...lingvaLokiRedirectsChecks,
}
else if (protocol == 'i2p') {
if (translateFrontend == 'simplyTranslate') instancesList = [...simplyTranslateI2pRedirectsChecks, ...simplyTranslateI2pCustomRedirects];
- //else if (translateFrontend == 'lingva') instancesList = [...lingvaI2PRedirectsChecks, ...lingvaI2PCustomRedirects];
+ else if (translateFrontend == 'lingva') instancesList = [...lingvaI2pCustomRedirects]; //...lingvaI2pRedirectsChecks,
}
else if (protocol == 'tor') {
if (translateFrontend == 'simplyTranslate') instancesList = [...simplyTranslateTorRedirectsChecks, ...simplyTranslateTorCustomRedirects];
@@ -329,12 +345,14 @@ function initDefaults() {
simplyTranslateI2pRedirectsChecks: [...redirects.simplyTranslate.i2p],
simplyTranslateI2pCustomRedirects: [],
simplyTranslateLokiRedirectsChecks: [...redirects.simplyTranslate.loki],
- simplyTranslateLokiCustomReidrects: [],
+ simplyTranslateLokiCustomRedirects: [],
lingvaNormalRedirectsChecks: lingvaNormalRedirectsChecks,
lingvaNormalCustomRedirects: [],
lingvaTorRedirectsChecks: [...redirects.lingva.tor],
lingvaTorCustomRedirects: [],
+ lingvaI2pCustomRedirects: [],
+ lingvaLokiCustomRedirects: []
}, () => resolve())
})
})
diff --git a/src/assets/javascripts/twitter.js b/src/assets/javascripts/twitter.js
index e69d9abc..42243a66 100644
--- a/src/assets/javascripts/twitter.js
+++ b/src/assets/javascripts/twitter.js
@@ -46,7 +46,9 @@ let
nitterNormalRedirectsChecks,
nitterNormalCustomRedirects,
nitterTorRedirectsChecks,
- nitterTorCustomRedirects;
+ nitterTorCustomRedirects,
+ nitterI2pCustomRedirects,
+ nitterLokiCustomRedirects;
function init() {
return new Promise(async resolve => {
@@ -61,6 +63,8 @@ function init() {
"nitterNormalCustomRedirects",
"nitterTorRedirectsChecks",
"nitterTorCustomRedirects",
+ "nitterI2pCustomRedirects",
+ "nitterLokiCustomRedirects"
],
r => {
disableTwitter = r.disableTwitter;
@@ -72,6 +76,8 @@ function init() {
nitterNormalCustomRedirects = r.nitterNormalCustomRedirects;
nitterTorRedirectsChecks = r.nitterTorRedirectsChecks;
nitterTorCustomRedirects = r.nitterTorCustomRedirects;
+ nitterI2pCustomRedirects = r.nitterI2pCustomRedirects;
+ nitterLokiCustomRedirects = r.nitterLokiCustomRedirects;
resolve();
}
)
@@ -87,6 +93,8 @@ function all() {
...nitterTorRedirectsChecks,
...nitterNormalCustomRedirects,
...nitterTorCustomRedirects,
+ ...nitterI2pCustomRedirects,
+ ...nitterLokiCustomRedirects
];
}
@@ -99,7 +107,9 @@ function redirect(url, type, initiator, disableOverride) {
if (twitterRedirectType == 'main_frame' && type != "main_frame") return;
let instancesList = [];
- if (protocol == 'tor') instancesList = [...nitterTorRedirectsChecks, ...nitterTorCustomRedirects];
+ if (protocol == 'loki') instancesList = [...nitterI2pCustomRedirects];
+ else if (protocol == 'i2p') instancesList = [...nitterLokiCustomRedirects];
+ else if (protocol == 'tor') instancesList = [...nitterTorRedirectsChecks, ...nitterTorCustomRedirects];
if ((instancesList.length === 0 && protocolFallback) || protocol == 'normal') {
instancesList = [...nitterNormalRedirectsChecks, ...nitterNormalCustomRedirects];
}
@@ -136,7 +146,9 @@ function switchInstance(url, disableOverride) {
const protocolHost = utils.protocolHost(url);
if (!all().includes(protocolHost)) { resolve(); return; }
let instancesList = [];
- if (protocol == 'tor') instancesList = [...nitterTorRedirectsChecks, ...nitterTorCustomRedirects];
+ if (protocol == 'loki') instancesList = [...nitterI2pCustomRedirects];
+ else if (protocol == 'i2p') instancesList = [...nitterLokiCustomRedirects];
+ else if (protocol == 'tor') instancesList = [...nitterTorRedirectsChecks, ...nitterTorCustomRedirects];
if ((instancesList.length === 0 && protocolFallback) || protocol == 'normal') {
instancesList = [...nitterNormalRedirectsChecks, ...nitterNormalCustomRedirects];
}
@@ -177,7 +189,9 @@ function initNitterCookies(test, from) {
) { resolve(); return; }
if (!test) {
let checkedInstances = [];
- if (protocol == 'tor') checkedInstances = [...nitterTorRedirectsChecks, ...nitterTorCustomRedirects];
+ if (protocol == 'loki') checkedInstances = [...nitterI2pCustomRedirects];
+ else if (protocol == 'i2p') checkedInstances = [...nitterLokiCustomRedirects];
+ else if (protocol == 'tor') checkedInstances = [...nitterTorRedirectsChecks, ...nitterTorCustomRedirects];
if ((checkedInstances.length === 0 && protocolFallback) || protocol == 'normal') {
checkedInstances = [...nitterNormalRedirectsChecks, ...nitterNormalCustomRedirects];
}
@@ -210,7 +224,9 @@ function pasteNitterCookies() {
await init();
if (disableTwitter || protocol === undefined) { resolve(); return; }
let checkedInstances = [];
- if (protocol == 'tor') checkedInstances = [...nitterTorRedirectsChecks, ...nitterTorCustomRedirects];
+ if (protocol == 'loki') checkedInstances = [...nitterI2pCustomRedirects];
+ else if (protocol == 'i2p') checkedInstances = [...nitterLokiCustomRedirects];
+ else if (protocol == 'tor') checkedInstances = [...nitterTorRedirectsChecks, ...nitterTorCustomRedirects];
if ((checkedInstances.length === 0 && protocolFallback) || protocol == 'normal') {
checkedInstances = [...nitterNormalRedirectsChecks, ...nitterNormalCustomRedirects];
}
@@ -261,6 +277,10 @@ function initDefaults() {
nitterTorRedirectsChecks: [...redirects.nitter.tor],
nitterTorCustomRedirects: [],
+
+ nitterI2pCustomRedirects: [],
+
+ nitterLokiCustomRedirects: []
}, () => resolve());
})
})
diff --git a/src/assets/javascripts/utils.js b/src/assets/javascripts/utils.js
index f9d48275..7428a79f 100644
--- a/src/assets/javascripts/utils.js
+++ b/src/assets/javascripts/utils.js
@@ -14,6 +14,7 @@ import tiktokHelper from "./tiktok.js";
import quoraHelper from "./quora.js"
import libremdbHelper from "./imdb.js";
import imgurHelper from "./imgur.js";
+import reutersHelper from './reuters.js';
import localise from './localise.js'
function getRandomInstance(instances) {
@@ -41,7 +42,7 @@ function updateInstances() {
await initcloudflareBlackList();
const instances = JSON.parse(http.responseText);
- youtubeHelper.setRedirects({ 'invidious': instances.invidious, 'piped': instances.piped, })
+ youtubeHelper.setRedirects({ 'invidious': instances.invidious, 'piped': instances.piped, 'pipedMaterial': instances.pipedMaterial })
twitterHelper.setRedirects(instances.nitter);
instagramHelper.setRedirects(instances.bibliogram);
redditHelper.setRedirects({ 'libreddit': instances.libreddit, 'teddit': instances.teddit });
@@ -54,6 +55,7 @@ function updateInstances() {
sendTargetsHelper.setRedirects(instances.send);
tiktokHelper.setRedirects(instances.proxiTok);
lbryHelper.setRedirects(instances.librarian);
+ reutersHelper.setRedirects(instances.neuters);
console.info("Successfully updated Instances");
resolve(true); return;
diff --git a/src/assets/javascripts/wikipedia.js b/src/assets/javascripts/wikipedia.js
index d945e221..2d9384f0 100644
--- a/src/assets/javascripts/wikipedia.js
+++ b/src/assets/javascripts/wikipedia.js
@@ -41,7 +41,8 @@ let
wikilessI2pRedirectsChecks,
wikilessNormalCustomRedirects,
wikilessTorCustomRedirects,
- wikilessI2pCustomRedirects;
+ wikilessI2pCustomRedirects,
+ wikilessLokiCustomRedirects;
function init() {
return new Promise(async resolve => {
@@ -57,6 +58,7 @@ function init() {
"wikilessNormalCustomRedirects",
"wikilessTorCustomRedirects",
"wikilessI2pCustomRedirects",
+ "wikilessLokiCustomRedirects"
],
r => {
disableWikipedia = r.disableWikipedia;
@@ -69,6 +71,7 @@ function init() {
wikilessNormalCustomRedirects = r.wikilessNormalCustomRedirects;
wikilessTorCustomRedirects = r.wikilessTorCustomRedirects;
wikilessI2pCustomRedirects = r.wikilessI2pCustomRedirects;
+ wikilessLokiCustomRedirects = r.wikilessLokiCustomRedirects;
resolve();
}
)
@@ -89,13 +92,15 @@ function initWikilessCookies(test, from) {
...wikilessTorCustomRedirects,
...wikilessI2pRedirectsChecks,
...wikilessI2pCustomRedirects,
+ ...wikilessLokiCustomRedirects
];
if (!all.includes(protocolHost)) { resolve(); return; }
if (!test) {
let checkedInstances = [];
- if (protocol == 'i2p') checkedInstances = [...wikilessI2pCustomRedirects, ...wikilessI2pRedirectsChecks];
- if (protocol == 'tor') checkedInstances = [...wikilessTorRedirectsChecks, ...wikilessTorCustomRedirects];
+ if (protocol == 'loki') checkedInstances = [...wikilessLokiCustomRedirects];
+ else if (protocol == 'i2p') checkedInstances = [...wikilessI2pCustomRedirects, ...wikilessI2pRedirectsChecks];
+ else if (protocol == 'tor') checkedInstances = [...wikilessTorRedirectsChecks, ...wikilessTorCustomRedirects];
if ((checkedInstances.length === 0 && protocolFallback) || protocol == 'normal') {
checkedInstances = [...wikilessNormalRedirectsChecks, ...wikilessNormalCustomRedirects];
}
@@ -111,7 +116,8 @@ function pasteWikilessCookies() {
await init();
if (disableWikipedia || protocol === undefined) { resolve(); return; }
let checkedInstances = [];
- if (protocol == 'i2p') checkedInstances = [...wikilessI2pCustomRedirects, ...wikilessI2pRedirectsChecks];
+ if (protocol == 'loki') checkedInstances = [...wikilessLokiCustomRedirects];
+ else if (protocol == 'i2p') checkedInstances = [...wikilessI2pCustomRedirects, ...wikilessI2pRedirectsChecks];
else if (protocol == 'tor') checkedInstances = [...wikilessTorRedirectsChecks, ...wikilessTorCustomRedirects];
if ((checkedInstances.length === 0 && protocolFallback) || protocol == 'normal') {
checkedInstances = [...wikilessNormalRedirectsChecks, ...wikilessNormalCustomRedirects];
@@ -136,7 +142,8 @@ function redirect(url, disableOverride) {
}
}
let instancesList = [];
- if (protocol == 'i2p') instancesList = [...wikilessI2pCustomRedirects, ...wikilessI2pRedirectsChecks];
+ if (protocol == 'loki') instancesList = [...wikilessLokiCustomRedirects];
+ else if (protocol == 'i2p') instancesList = [...wikilessI2pCustomRedirects, ...wikilessI2pRedirectsChecks];
else if (protocol == 'tor') instancesList = [...wikilessTorRedirectsChecks, ...wikilessTorCustomRedirects];
if ((instancesList.length === 0 && protocolFallback) || protocol == 'normal') {
instancesList = [...wikilessNormalRedirectsChecks, ...wikilessNormalCustomRedirects];
@@ -172,12 +179,14 @@ function switchInstance(url, disableOverride) {
...wikilessNormalCustomRedirects,
...wikilessTorCustomRedirects,
- ...wikilessI2pCustomRedirects
+ ...wikilessI2pCustomRedirects,
+ ...wikilessLokiCustomRedirects
];
if (!wikipediaList.includes(protocolHost)) { resolve(); return; }
let instancesList = [];
- if (protocol == 'i2p') instancesList = [...wikilessI2pCustomRedirects, ...wikilessI2pRedirectsChecks];
+ if (protocol == 'loki') instancesList = [...wikilessLokiCustomRedirects];
+ else if (protocol == 'i2p') instancesList = [...wikilessI2pCustomRedirects, ...wikilessI2pRedirectsChecks];
else if (protocol == 'tor') instancesList = [...wikilessTorRedirectsChecks, ...wikilessTorCustomRedirects];
if ((instancesList.length === 0 && protocolFallback) || protocol == 'normal') {
instancesList = [...wikilessNormalRedirectsChecks, ...wikilessNormalCustomRedirects];
@@ -214,6 +223,7 @@ function initDefaults() {
wikilessNormalCustomRedirects: [],
wikilessTorCustomRedirects: [],
wikilessI2pCustomRedirects: [],
+ wikilessLokiCustomRedirects: []
}, () => resolve());
})
})
diff --git a/src/assets/javascripts/youtube/youtube.js b/src/assets/javascripts/youtube/youtube.js
index feb2fc12..3d7cd892 100644
--- a/src/assets/javascripts/youtube/youtube.js
+++ b/src/assets/javascripts/youtube/youtube.js
@@ -33,14 +33,19 @@ function setRedirects(val) {
browser.storage.local.get('cloudflareBlackList', r => {
redirects.invidious = val.invidious;
redirects.piped = val.piped;
+ redirects.pipedMaterial = val.pipedMaterial
invidiousNormalRedirectsChecks = [...redirects.invidious.normal];
pipedNormalRedirectsChecks = [...redirects.piped.normal];
+ pipedMaterialNormalRedirectsChecks = [...redirects.pipedMaterial.normal]
for (const instance of r.cloudflareBlackList) {
const a = invidiousNormalRedirectsChecks.indexOf(instance);
if (a > -1) invidiousNormalRedirectsChecks.splice(a, 1);
const b = pipedNormalRedirectsChecks.indexOf(instance);
if (b > -1) pipedNormalRedirectsChecks.splice(b, 1);
+
+ const c = pipedMaterialNormalRedirectsChecks.indexOf(instance);
+ if (c > -1) pipedMaterialNormalRedirectsChecks.splice(c, 1);
}
browser.storage.local.set({
youtubeRedirects: redirects,
@@ -48,6 +53,8 @@ function setRedirects(val) {
invidiousTorRedirectsChecks: redirects.invidious.tor,
pipedNormalRedirectsChecks,
pipedTorRedirectsChecks: redirects.piped.tor,
+ pipedMaterialNormalRedirectsChecks,
+ pipedMaterialTorRedirectsChecks: redirects.pipedMaterial.tor
})
})
}
@@ -64,14 +71,20 @@ let
invidiousNormalCustomRedirects,
invidiousTorRedirectsChecks,
invidiousTorCustomRedirects,
+ invidiousI2pCustomRedirects,
+ invidiousLokiCustomRedirects,
pipedNormalRedirectsChecks,
pipedNormalCustomRedirects,
pipedTorRedirectsChecks,
pipedTorCustomRedirects,
+ pipedI2pCustomRedirects,
+ pipedLokiCustomRedirects,
pipedMaterialNormalRedirectsChecks,
pipedMaterialNormalCustomRedirects,
pipedMaterialTorRedirectsChecks,
- pipedMaterialTorCustomRedirects;
+ pipedMaterialTorCustomRedirects,
+ pipedMaterialI2pCustomRedirects,
+ pipedMaterialLokiCustomRedirects;
function init() {
return new Promise(resolve => {
@@ -88,14 +101,20 @@ function init() {
"invidiousNormalCustomRedirects",
"invidiousTorRedirectsChecks",
"invidiousTorCustomRedirects",
+ "invidiousI2pCustomRedirects",
+ "invidiousLokiCustomRedirects",
"pipedNormalRedirectsChecks",
"pipedNormalCustomRedirects",
"pipedTorRedirectsChecks",
"pipedTorCustomRedirects",
+ "pipedI2pCustomRedirects",
+ "pipedLokiCustomRedirects",
"pipedMaterialNormalRedirectsChecks",
"pipedMaterialNormalCustomRedirects",
"pipedMaterialTorRedirectsChecks",
"pipedMaterialTorCustomRedirects",
+ "pipedMaterialI2pCustomRedirects",
+ "pipedMaterialLokiCustomRedirects"
],
r => {
disableYoutube = r.disableYoutube;
@@ -109,14 +128,20 @@ function init() {
invidiousNormalCustomRedirects = r.invidiousNormalCustomRedirects;
invidiousTorRedirectsChecks = r.invidiousTorRedirectsChecks;
invidiousTorCustomRedirects = r.invidiousTorCustomRedirects;
+ invidiousI2pCustomRedirects = r.invidiousI2pCustomRedirects;
+ invidiousLokiCustomRedirects = r.invidiousLokiCustomRedirects;
pipedNormalRedirectsChecks = r.pipedNormalRedirectsChecks;
pipedNormalCustomRedirects = r.pipedNormalCustomRedirects;
pipedTorRedirectsChecks = r.pipedTorRedirectsChecks;
pipedTorCustomRedirects = r.pipedTorCustomRedirects;
+ pipedI2pCustomRedirects = r.pipedI2pCustomRedirects;
+ pipedLokiCustomRedirects = r.pipedLokiCustomRedirects;
pipedMaterialNormalRedirectsChecks = r.pipedMaterialNormalRedirectsChecks;
pipedMaterialNormalCustomRedirects = r.pipedMaterialNormalCustomRedirects;
pipedMaterialTorRedirectsChecks = r.pipedMaterialTorRedirectsChecks;
pipedMaterialTorCustomRedirects = r.pipedMaterialTorCustomRedirects;
+ pipedMaterialI2pCustomRedirects - r.pipedMaterialI2pCustomRedirects;
+ pipedMaterialLokiCustomRedirects = r.pipedMaterialLokiCustomRedirects;
resolve();
}
)
@@ -139,12 +164,18 @@ function all() {
...invidiousNormalCustomRedirects,
...invidiousTorCustomRedirects,
+ ...invidiousI2pCustomRedirects,
+ ...invidiousLokiCustomRedirects,
...pipedNormalCustomRedirects,
...pipedTorCustomRedirects,
+ ...pipedI2pCustomRedirects,
+ ...pipedLokiCustomRedirects,
...pipedMaterialNormalCustomRedirects,
...pipedMaterialTorCustomRedirects,
+ ...pipedMaterialI2pCustomRedirects,
+ ...pipedMaterialLokiCustomRedirects
];
}
@@ -159,7 +190,7 @@ function redirect(url, type, initiator, disableOverride) {
const isFreetube = youtubeFrontend == 'freetube';
const isYatte = youtubeFrontend == 'yatte';
- const isFrontendYoutube = youtubeEmbedFrontend == "youtube";
+ //const isFrontendYoutube = youtubeEmbedFrontend == "youtube";
const isFrontendInvidious = youtubeEmbedFrontend == 'invidious';
const isFrontendPiped = youtubeEmbedFrontend == 'piped';
const isFrontendPipedMaterial = youtubeEmbedFrontend == 'pipedMaterial';
@@ -171,24 +202,28 @@ function redirect(url, type, initiator, disableOverride) {
if (onlyEmbeddedVideo == 'onlyEmbedded' && main_frame) return;
if (onlyEmbeddedVideo == 'onlyNotEmbedded' && !main_frame) return;
- if ((isFreetube || isYatte) && sub_frame && isFrontendYoutube) return;
+ //if ((isFreetube || isYatte) && sub_frame && isFrontendYoutube) return;
if (isYatte && main_frame) return url.href.replace(/^https?:\/{2}/, 'yattee://');
if (isFreetube && main_frame) return `freetube://https://youtube.com${url.pathname}${url.search}`;
if (isInvidious || ((isFreetube || isYatte) && sub_frame && isFrontendInvidious)) {
- let instancesList = [] = [];
- if (protocol == 'tor') instancesList = [...invidiousTorRedirectsChecks, ...invidiousTorCustomRedirects];
- if ((instancesList.length === 0 && protocolFallback) || protocol == 'normal') {
- instancesList = [...invidiousNormalRedirectsChecks, ...invidiousNormalCustomRedirects];
- }
+ let instancesList = [];
+ if (protocol == 'loki') instancesList = [...invidiousLokiCustomRedirects];
+ else if (protocol == 'i2p') instancesList = [...invidiousI2pCustomRedirects];
+ else if (protocol == 'tor') instancesList = [...invidiousTorRedirectsChecks, ...invidiousTorCustomRedirects];
+ if ((instancesList.length === 0 && protocolFallback) || protocol == 'normal') {
+ instancesList = [...invidiousNormalRedirectsChecks, ...invidiousNormalCustomRedirects];
+ }
if (instancesList.length === 0) return;
const randomInstance = utils.getRandomInstance(instancesList);
return `${randomInstance}${url.pathname}${url.search}`;
}
if (isPiped || ((isFreetube || isYatte) && sub_frame && isFrontendPiped)) {
let instancesList = [];
- if (protocol == 'tor') instancesList = [...pipedTorRedirectsChecks, ...pipedTorCustomRedirects];
+ if (protocol == 'loki') instancesList = [...pipedLokiCustomRedirects];
+ else if (protocol == 'i2p') instancesList = [...pipedI2pCustomRedirects];
+ else if (protocol == 'tor') instancesList = [...pipedTorRedirectsChecks, ...pipedTorCustomRedirects];
if ((instancesList.length === 0 && protocolFallback) || protocol == 'normal') {
instancesList = [...pipedNormalRedirectsChecks, ...pipedNormalCustomRedirects];
}
@@ -198,7 +233,9 @@ function redirect(url, type, initiator, disableOverride) {
}
if (isPipedMaterial || ((isFreetube || isYatte) && sub_frame && isFrontendPipedMaterial)) {
let instancesList = [];
- if (protocol == 'tor') instancesList = [...pipedMaterialTorRedirectsChecks, ...pipedMaterialTorCustomRedirects];
+ if (protocol == 'loki') instancesList = [...pipedMaterialLokiCustomRedirects];
+ else if (protocol == 'i2p') instancesList = [...pipedMaterialI2pCustomRedirects];
+ else if (protocol == 'tor') instancesList = [...pipedMaterialTorRedirectsChecks, ...pipedMaterialTorCustomRedirects];
if ((instancesList.length === 0 && protocolFallback) || protocol == 'normal') {
instancesList = [...pipedMaterialNormalRedirectsChecks, ...pipedMaterialNormalCustomRedirects];
}
@@ -224,9 +261,18 @@ function switchInstance(url, disableOverride) {
const protocolHost = utils.protocolHost(url);
if (!all().includes(protocolHost)) { resolve(); return; }
- let instancesList = [] = [];
-
- if (protocol == 'tor') {
+ let instancesList = [];
+ if (protocol == 'loki') {
+ if (youtubeFrontend == 'invidious') instancesList = [...invidiousLokiCustomRedirects]; //...invidiousLokiRedirectsChecks,
+ else if (youtubeFrontend == 'piped') instancesList = [...pipedLokiCustomRedirects]; //...pipedLokiRedirectsChecks,
+ else if (youtubeFrontend == 'pipedMaterial') instancesList = [...pipedMaterialLokiCustomRedirects]; //...pipedMaterialLokiRedirectsChecks,
+ }
+ else if (protocol == 'i2p') {
+ if (youtubeFrontend == 'invidious') instancesList = [...invidiousI2pCustomRedirects]; //...invidiousI2pRedirectsChecks,
+ else if (youtubeFrontend == 'piped') instancesList = [...pipedI2pCustomRedirects]; //...pipedI2pRedirectsChecks,
+ else if (youtubeFrontend == 'pipedMaterial') instancesList = [...pipedMaterialI2pCustomRedirects]; //...pipedMaterialI2pRedirectsChecks,
+ }
+ else if (protocol == 'tor') {
if (youtubeFrontend == 'invidious') instancesList = [...invidiousTorRedirectsChecks, ...invidiousTorCustomRedirects];
else if (youtubeFrontend == 'piped') instancesList = [...pipedTorRedirectsChecks, ...pipedTorCustomRedirects];
else if (youtubeFrontend == 'pipedMaterial') instancesList = [...pipedMaterialTorRedirectsChecks, ...pipedMaterialTorCustomRedirects];
@@ -285,18 +331,30 @@ function initDefaults() {
invidiousTorRedirectsChecks: [...redirects.invidious.tor],
invidiousTorCustomRedirects: [],
+ invidiousI2pCustomRedirects: [],
+
+ invidiousLokiCustomRedirects: [],
+
pipedNormalRedirectsChecks: pipedNormalRedirectsChecks,
pipedNormalCustomRedirects: [],
pipedTorRedirectsChecks: [...redirects.piped.tor],
pipedTorCustomRedirects: [],
+ pipedI2pCustomRedirects: [],
+
+ pipedLokiCustomRedirects: [],
+
pipedMaterialNormalRedirectsChecks: pipedMaterialNormalRedirectsChecks,
pipedMaterialNormalCustomRedirects: [],
pipedMaterialTorRedirectsChecks: [...redirects.pipedMaterial.tor],
pipedMaterialTorCustomRedirects: [],
+ pipedMaterialI2pCustomRedirects: [],
+
+ pipedMaterialLokiCustomRedirects: [],
+
youtubeEmbedFrontend: 'invidious'
}, () => resolve())
})
@@ -314,11 +372,15 @@ function copyPasteInvidiousCookies(test, from) {
...invidiousTorRedirectsChecks,
...invidiousNormalCustomRedirects,
...invidiousTorCustomRedirects,
+ ...invidiousI2pCustomRedirects,
+ ...invidiousLokiCustomRedirects
].includes(protocolHost)) { resolve(); return; }
if (!test) {
let checkedInstances = [];
- if (protocol == 'tor') checkedInstances = [...invidiousTorRedirectsChecks, ...invidiousTorCustomRedirects]
+ if (protocol == 'loki') checkedInstances = [...invidiousLokiCustomRedirects];
+ else if (protocol == 'i2p') checkedInstances = [...invidiousI2pCustomRedirects];
+ else if (protocol == 'tor') checkedInstances = [...invidiousTorRedirectsChecks, ...invidiousTorCustomRedirects]
if ((instancesList.length === 0 && protocolFallback) || protocol == 'normal') {
checkedInstances = [...invidiousNormalRedirectsChecks, ...invidiousNormalCustomRedirects]
}
@@ -335,7 +397,9 @@ function pasteInvidiousCookies() {
await init();
if (disableYoutube || youtubeFrontend != 'invidious') { resolve(); return; }
let checkedInstances = [];
- if (protocol == 'tor') checkedInstances = [...invidiousTorRedirectsChecks, ...invidiousTorCustomRedirects]
+ if (protocol == 'loki') checkedInstances = [...invidiousLokiCustomRedirects];
+ else if (protocol == 'i2p') checkedInstances = [...invidiousI2pCustomRedirects];
+ else if (protocol == 'tor') checkedInstances = [...invidiousTorRedirectsChecks, ...invidiousTorCustomRedirects]
if ((instancesList.length === 0 && protocolFallback) || protocol == 'normal') {
checkedInstances = [...invidiousNormalRedirectsChecks, ...invidiousNormalCustomRedirects]
}
@@ -354,13 +418,17 @@ function copyPastePipedLocalStorage(test, url, tabId) {
...pipedNormalRedirectsChecks,
...pipedTorRedirectsChecks,
...pipedTorCustomRedirects,
+ ...pipedI2pCustomRedirects,
+ ...pipedLokiCustomRedirects
].includes(protocolHost)) { resolve(); return; }
if (!test) {
browser.tabs.executeScript(tabId, { file: "/assets/javascripts/youtube/get_piped_preferences.js", runAt: "document_start" });
let checkedInstances = [];
- if (protocol == 'tor') checkedInstances = [...pipedTorRedirectsChecks, ...pipedTorCustomRedirects]
+ if (protocol == 'loki') checkedInstances = [...pipedLokiCustomRedirects];
+ else if (protocol == 'i2p') checkedInstances = [...pipedI2pCustomRedirects];
+ else if (protocol == 'tor') checkedInstances = [...pipedTorRedirectsChecks, ...pipedTorCustomRedirects]
if ((instancesList.length === 0 && protocolFallback) || protocol == 'normal') {
checkedInstances = [...pipedNormalCustomRedirects, ...pipedNormalRedirectsChecks]
}
@@ -379,7 +447,9 @@ function pastePipedLocalStorage() {
await init();
if (disableYoutube || youtubeFrontend != 'piped') { resolve(); return; }
let checkedInstances = [];
- if (protocol == 'tor') checkedInstances = [...pipedTorRedirectsChecks, ...pipedTorCustomRedirects]
+ if (protocol == 'loki') checkedInstances = [...pipedLokiCustomRedirects];
+ else if (protocol == 'i2p') checkedInstances = [...pipedI2pCustomRedirects];
+ else if (protocol == 'tor') checkedInstances = [...pipedTorRedirectsChecks, ...pipedTorCustomRedirects]
if ((instancesList.length === 0 && protocolFallback) || protocol == 'normal') {
checkedInstances = [...pipedNormalCustomRedirects, ...pipedNormalRedirectsChecks]
}
@@ -401,13 +471,17 @@ function copyPastePipedMaterialLocalStorage(test, url, tabId,) {
...pipedMaterialNormalCustomRedirects,
...pipedMaterialTorRedirectsChecks,
...pipedMaterialTorCustomRedirects,
+ ...pipedMaterialI2pCustomRedirects,
+ ...pipedMaterialLokiCustomRedirects
].includes(protocolHost)) { resolve(); return; }
if (!test) {
browser.tabs.executeScript(tabId, { file: "/assets/javascripts/youtube/get_pipedMaterial_preferences.js", runAt: "document_start" });
let checkedInstances = [];
- if (protocol == 'tor') checkedInstances = [...pipedMaterialTorRedirectsChecks, ...pipedMaterialTorCustomRedirects]
+ if (protocol == 'loki') checkedInstances = [...pipedMaterialLokiCustomRedirects];
+ else if (protocol == 'i2p') checkedInstances = [...pipedMaterialI2pCustomRedirects];
+ else if (protocol == 'tor') checkedInstances = [...pipedMaterialTorRedirectsChecks, ...pipedMaterialTorCustomRedirects]
if ((instancesList.length === 0 && protocolFallback) || protocol == 'normal') {
checkedInstances = [...pipedMaterialNormalRedirectsChecks, ...pipedMaterialNormalCustomRedirects]
}
@@ -428,7 +502,9 @@ function pastePipedMaterialLocalStorage() {
await init();
if (disableYoutube || youtubeFrontend != 'pipedMaterial') { resolve(); return; }
let checkedInstances = [];
- if (protocol == 'tor') checkedInstances = [...pipedMaterialTorRedirectsChecks, ...pipedMaterialTorCustomRedirects]
+ if (protocol == 'loki') checkedInstances = [...pipedMaterialLokiCustomRedirects];
+ else if (protocol == 'i2p') checkedInstances = [...pipedMaterialI2pCustomRedirects];
+ else if (protocol == 'tor') checkedInstances = [...pipedMaterialTorRedirectsChecks, ...pipedMaterialTorCustomRedirects]
if ((instancesList.length === 0 && protocolFallback) || protocol == 'normal') {
checkedInstances = [...pipedMaterialNormalRedirectsChecks, ...pipedMaterialNormalCustomRedirects]
}
@@ -447,7 +523,17 @@ function removeXFrameOptions(e) {
for (const i in e.responseHeaders) {
if (e.responseHeaders[i].name == 'content-security-policy') {
let instancesList = [];
- if (protocol == 'tor') {
+ if (protocol == 'loki') {
+ if (youtubeFrontend == 'invidious') instancesList = [...invidiousLokiCustomRedirects]; //...invidiousLokiRedirectsChecks,
+ if (youtubeFrontend == 'piped') instancesList = [...pipedLokiCustomRedirects]; //...pipedLokiRedirectsChecks,
+ if (youtubeFrontend == 'pipedMaterial') instancesList = [...pipedMaterialLokiCustomRedirects]; //...pipedMaterialLokiRedirectsChecks,
+ }
+ else if (protocol == 'i2p') {
+ if (youtubeFrontend == 'invidious') instancesList = [...invidiousI2pCustomRedirects]; //...invidiousI2pRedirectsChecks,
+ if (youtubeFrontend == 'piped') instancesList = [...pipedI2pCustomRedirects]; //...pipedI2pRedirectsChecks,
+ if (youtubeFrontend == 'pipedMaterial') instancesList = [...pipedMaterialI2pCustomRedirects]; //...pipedMaterialI2pRedirectsChecks,
+ }
+ else if (protocol == 'tor') {
if (youtubeFrontend == 'invidious') instancesList = [...invidiousTorRedirectsChecks, ...invidiousTorCustomRedirects];
if (youtubeFrontend == 'piped') instancesList = [...pipedTorRedirectsChecks, ...pipedTorCustomRedirects];
if (youtubeFrontend == 'pipedMaterial') instancesList = [...pipedMaterialTorRedirectsChecks, ...pipedMaterialTorCustomRedirects];
diff --git a/src/assets/javascripts/youtubeMusic.js b/src/assets/javascripts/youtubeMusic.js
index fff2ebf8..4a63911b 100644
--- a/src/assets/javascripts/youtubeMusic.js
+++ b/src/assets/javascripts/youtubeMusic.js
@@ -12,26 +12,43 @@ let redirects = {
"normal": [
"https://beatbump.ml"
],
- "tor": []
+ "tor": [],
+ "i2p": [],
+ "loki": []
},
};
let
disableYoutubeMusic,
+ protocol,
+ protocolFallback,
beatbumpNormalRedirectsChecks,
- beatbumpNormalCustomRedirects;
+ beatbumpNormalCustomRedirects,
+ beatbumpTorCustomRedirects,
+ beatbumpI2pCustomRedirects,
+ beatbumpLokiCustomRedirects;
function init() {
browser.storage.local.get(
[
"disableYoutubeMusic",
+ "protocol",
+ "protocolFallback",
"beatbumpNormalRedirectsChecks",
"beatbumpNormalCustomRedirects",
+ "beatbumpTorCustomRedirects",
+ "beatbumpI2pCustomRedirects",
+ "beatbumpLokiCustomRedirects"
],
r => {
disableYoutubeMusic = r.disableYoutubeMusic;
+ protocol = r.protocol;
+ protocolFallback = r.protocolFallback;
beatbumpNormalRedirectsChecks = r.beatbumpNormalRedirectsChecks;
beatbumpNormalCustomRedirects = r.beatbumpNormalCustomRedirects;
+ beatbumpTorCustomRedirects = r.beatbumpTorCustomRedirects;
+ beatbumpI2pCustomRedirects = r.beatbumpI2pCustomRedirects;
+ beatbumpLokiCustomRedirects = r.beatbumpLokiCustomRedirects;
}
)
}
@@ -75,7 +92,13 @@ function redirect(url, disableOverride) {
if (disableYoutubeMusic && !disableOverride) return;
if (!targets.some(rx => rx.test(url.href))) return;
- let instancesList = [...beatbumpNormalRedirectsChecks, ...beatbumpNormalCustomRedirects];
+ let instancesList = [];
+ if (protocol == 'loki') instancesList = [...beatbumpLokiCustomRedirects];
+ else if (protocol == 'i2p') instancesList = [...beatbumpI2pCustomRedirects];
+ else if (protocol == 'tor') instancesList = [...beatbumpTorCustomRedirects];
+ if ((instancesList.length === 0 && protocolFallback) || protocol == 'normal') {
+ instancesList = [...beatbumpNormalRedirectsChecks, ...beatbumpNormalCustomRedirects];
+ }
if (instancesList.length === 0) return;
const randomInstance = utils.getRandomInstance(instancesList);
return `${randomInstance}${url.pathname}${url.search}`
@@ -93,6 +116,12 @@ async function initDefaults() {
beatbumpNormalRedirectsChecks: [...redirects.beatbump.normal],
beatbumpNormalCustomRedirects: [],
+
+ beatbumpTorCustomRedirects: [],
+
+ beatbumpI2pCustomRedirects: [],
+
+ beatbumpLokiCustomRedirects: []
}, () => resolve())
)
}