aboutsummaryrefslogtreecommitdiffstats
path: root/src/assets
diff options
context:
space:
mode:
Diffstat (limited to 'src/assets')
-rw-r--r--src/assets/images/imgur.png (renamed from src/assets/images/imgur-icon.png)bin26675 -> 26675 bytes
-rw-r--r--src/assets/javascripts/general.js1
-rw-r--r--src/assets/javascripts/imdb.js44
-rw-r--r--src/assets/javascripts/imgur.js56
-rw-r--r--src/assets/javascripts/instagram.js50
-rw-r--r--src/assets/javascripts/lbry.js48
-rw-r--r--src/assets/javascripts/maps.js46
-rw-r--r--src/assets/javascripts/medium.js17
-rw-r--r--src/assets/javascripts/peertube.js17
-rw-r--r--src/assets/javascripts/quora.js44
-rw-r--r--src/assets/javascripts/reddit.js90
-rw-r--r--src/assets/javascripts/reuters.js44
-rw-r--r--src/assets/javascripts/search.js184
-rw-r--r--src/assets/javascripts/sendTargets.js17
-rw-r--r--src/assets/javascripts/tiktok.js68
-rw-r--r--src/assets/javascripts/translate/translate.js95
-rw-r--r--src/assets/javascripts/twitter.js50
-rw-r--r--src/assets/javascripts/utils.js127
-rw-r--r--src/assets/javascripts/wikipedia.js40
-rw-r--r--src/assets/javascripts/youtube/youtube.js108
-rw-r--r--src/assets/javascripts/youtubeMusic.js30
21 files changed, 464 insertions, 712 deletions
diff --git a/src/assets/images/imgur-icon.png b/src/assets/images/imgur.png
index c23a45b2..c23a45b2 100644
--- a/src/assets/images/imgur-icon.png
+++ b/src/assets/images/imgur.png
Binary files differ
diff --git a/src/assets/javascripts/general.js b/src/assets/javascripts/general.js
index 0b34c148..a8360bd5 100644
--- a/src/assets/javascripts/general.js
+++ b/src/assets/javascripts/general.js
@@ -32,6 +32,7 @@ async function initDefaults() {
firstPartyIsolate: false,
protocol: "normal",
protocolFallback: true,
+ latencyThreshold: 1000,
},
() => resolve()
)
diff --git a/src/assets/javascripts/imdb.js b/src/assets/javascripts/imdb.js
index 9981f1b9..57368557 100644
--- a/src/assets/javascripts/imdb.js
+++ b/src/assets/javascripts/imdb.js
@@ -17,16 +17,19 @@ for (let i = 0; i < frontends.length; i++) {
}
function setRedirects(val) {
- browser.storage.local.get("cloudflareBlackList", r => {
+ browser.storage.local.get(["cloudflareBlackList", "offlineBlackList"], r => {
redirects.libremdb = val
libremdbNormalRedirectsChecks = [...redirects.libremdb.normal]
- for (const instance of r.cloudflareBlackList) {
+ for (const instance of [...r.cloudflareBlackList, ...r.offlineBlackList]) {
const a = libremdbNormalRedirectsChecks.indexOf(instance)
if (a > -1) libremdbNormalRedirectsChecks.splice(a, 1)
}
browser.storage.local.set({
imdbRedirects: redirects,
libremdbNormalRedirectsChecks,
+ libremdbTorRedirectsChecks: [...redirects.libremdb.tor],
+ libremdbI2pRedirectsChecks: [...redirects.libremdb.i2p],
+ libremdbLokiRedirectsChecks: [...redirects.libremdb.loki],
})
})
}
@@ -172,25 +175,32 @@ function initDefaults() {
for (let i = 0; i < frontends.length; i++) {
redirects[frontends[i]] = dataJson[frontends[i]]
}
- browser.storage.local.set(
- {
- disableImdb: true,
- imdbRedirects: redirects,
+ browser.storage.local.get(["cloudflareBlackList", "offlineBlackList"], async r => {
+ libremdbNormalRedirectsChecks = [...redirects.libremdb.normal]
+ for (const instance of [...r.cloudflareBlackList, ...r.offlineBlackList]) {
+ const a = libremdbNormalRedirectsChecks.indexOf(instance)
+ if (a > -1) libremdbNormalRedirectsChecks.splice(a, 1)
+ }
+ browser.storage.local.set(
+ {
+ disableImdb: true,
+ imdbRedirects: redirects,
- libremdbNormalRedirectsChecks: [...redirects.libremdb.normal],
- libremdbNormalCustomRedirects: [],
+ libremdbNormalRedirectsChecks,
+ libremdbNormalCustomRedirects: [],
- libremdbTorRedirectsChecks: [...redirects.libremdb.tor],
- libremdbTorCustomRedirects: [],
+ libremdbTorRedirectsChecks: [...redirects.libremdb.tor],
+ libremdbTorCustomRedirects: [],
- libremdbI2pRedirectsChecks: [],
- libremdbI2pCustomRedirects: [],
+ libremdbI2pRedirectsChecks: [],
+ libremdbI2pCustomRedirects: [],
- libremdbLokiRedirectsChecks: [],
- libremdbLokiCustomRedirects: [],
- },
- () => resolve()
- )
+ libremdbLokiRedirectsChecks: [],
+ libremdbLokiCustomRedirects: [],
+ },
+ () => resolve()
+ )
+ })
})
})
}
diff --git a/src/assets/javascripts/imgur.js b/src/assets/javascripts/imgur.js
index 9ccd24af..15b9ccac 100644
--- a/src/assets/javascripts/imgur.js
+++ b/src/assets/javascripts/imgur.js
@@ -16,39 +16,21 @@ for (let i = 0; i < frontends.length; i++) {
}
}
-function setRedirects() {
- return new Promise(resolve => {
- fetch("/instances/data.json")
- .then(response => response.text())
- .then(async data => {
- let dataJson = JSON.parse(data)
- redirects.rimgo = dataJson.rimgo
-
- rimgoNormalRedirectsChecks = [...redirects.rimgo.normal]
- rimgoTorRedirectsChecks = [...redirects.rimgo.tor]
- rimgoI2pRedirectsChecks = [...redirects.rimgo.i2p]
-
- for (const instance of r.cloudflareBlackList) {
- const a = rimgoNormalRedirectsChecks.indexOf(instance)
- if (a > -1) rimgoNormalRedirectsChecks.splice(a, 1)
-
- const b = rimgoTorRedirectsChecks.indexOf(instance)
- if (b > -1) rimgoTorRedirectsChecks.splice(b, 1)
-
- const c = rimgoI2pRedirectsChecks.indexOf(instance)
- if (c > -1) rimgoI2pRedirectsChecks.splice(c, 1)
- }
-
- browser.storage.local.set(
- {
- imgurRedirects: redirects,
- rimgoNormalRedirectsChecks,
- rimgoTorRedirectsChecks,
- rimgoI2pRedirectsChecks,
- },
- () => resolve()
- )
- })
+function setRedirects(val) {
+ browser.storage.local.get(["cloudflareBlackList", "offlineBlackList"], r => {
+ redirects.rimgo = val
+ rimgoNormalRedirectsChecks = [...redirects.rimgo.normal]
+ for (const instance of [...r.cloudflareBlackList, ...r.offlineBlackList]) {
+ const a = rimgoNormalRedirectsChecks.indexOf(instance)
+ if (a > -1) rimgoNormalRedirectsChecks.splice(a, 1)
+ }
+ browser.storage.local.set({
+ imgurRedirects: redirects,
+ rimgoNormalRedirectsChecks,
+ rimgoTorRedirectsChecks: [...redirects.rimgo.tor],
+ rimgoI2pRedirectsChecks: [...redirects.rimgo.i2p],
+ rimgoLokiRedirectsChecks: [...redirects.rimgo.loki],
+ })
})
}
@@ -195,11 +177,11 @@ function initDefaults() {
for (let i = 0; i < frontends.length; i++) {
redirects[frontends[i]] = dataJson[frontends[i]]
}
- browser.storage.local.get("cloudflareBlackList", async r => {
+ browser.storage.local.get(["cloudflareBlackList", "offlineBlackList"], async r => {
rimgoNormalRedirectsChecks = [...redirects.rimgo.normal]
- for (const instance of r.cloudflareBlackList) {
- const i = rimgoNormalRedirectsChecks.indexOf(instance)
- if (i > -1) rimgoNormalRedirectsChecks.splice(i, 1)
+ for (const instance of [...r.cloudflareBlackList, ...r.offlineBlackList]) {
+ const a = rimgoNormalRedirectsChecks.indexOf(instance)
+ if (a > -1) rimgoNormalRedirectsChecks.splice(a, 1)
}
browser.storage.local.set(
{
diff --git a/src/assets/javascripts/instagram.js b/src/assets/javascripts/instagram.js
index 45a27cb2..d0aa07c0 100644
--- a/src/assets/javascripts/instagram.js
+++ b/src/assets/javascripts/instagram.js
@@ -16,16 +16,19 @@ for (let i = 0; i < frontends.length; i++) {
}
function setRedirects(val) {
- browser.storage.local.get("cloudflareBlackList", async r => {
+ browser.storage.local.get(["cloudflareBlackList", "offlineBlackList"], async r => {
redirects.bibliogram = val
bibliogramNormalRedirectsChecks = [...redirects.bibliogram.normal]
- for (const instance of r.cloudflareBlackList) {
+ for (const instance of [...r.cloudflareBlackList, ...r.offlineBlackList]) {
const a = bibliogramNormalRedirectsChecks.indexOf(instance)
if (a > -1) bibliogramNormalRedirectsChecks.splice(a, 1)
}
browser.storage.local.set({
instagramRedirects: redirects,
bibliogramNormalRedirectsChecks,
+ bibliogramTorRedirectsChecks: [...redirects.bibliogram.tor],
+ bibliogramI2pRedirectsChecks: [...redirects.bibliogram.i2p],
+ bibliogramLokiRedirectsChecks: [...redirects.bibliogram.loki],
})
})
}
@@ -76,6 +79,38 @@ function init() {
init()
browser.storage.onChanged.addListener(init)
+function initBibliogramPreferences(test, from) {
+ return new Promise(async resolve => {
+ await init()
+ const protocolHost = utils.protocolHost(from)
+ if (
+ ![
+ ...bibliogramNormalRedirectsChecks,
+ ...bibliogramTorRedirectsChecks,
+ ...bibliogramNormalCustomRedirects,
+ ...bibliogramTorCustomRedirects,
+ ...bibliogramI2pCustomRedirects,
+ ...bibliogramLokiCustomRedirects,
+ ].includes(protocolHost)
+ ) {
+ resolve()
+ return
+ }
+
+ if (!test) {
+ let checkedInstances = []
+ if (protocol == "loki") checkedInstances = [...bibliogramLokiCustomRedirects]
+ else if (protocol == "i2p") checkedInstances = [...bibliogramI2pCustomRedirects]
+ else if (protocol == "tor") checkedInstances = [...bibliogramTorRedirectsChecks, ...bibliogramTorCustomRedirects]
+ if ((checkedInstances.length === 0 && protocolFallback) || protocol == "normal") {
+ checkedInstances = [...bibliogramNormalRedirectsChecks, ...bibliogramNormalCustomRedirects]
+ }
+ await utils.getPreferencesFromToken("bibliogram", from, checkedInstances, "settings", "settings.json")
+ }
+ resolve(true)
+ })
+}
+
function all() {
return [
...bibliogramNormalRedirectsChecks,
@@ -171,17 +206,17 @@ function initDefaults() {
for (let i = 0; i < frontends.length; i++) {
redirects[frontends[i]] = dataJson[frontends[i]]
}
- browser.storage.local.get("cloudflareBlackList", r => {
+ browser.storage.local.get(["cloudflareBlackList", "offlineBlackList"], async r => {
bibliogramNormalRedirectsChecks = [...redirects.bibliogram.normal]
- for (const instance of r.cloudflareBlackList) {
- const i = bibliogramNormalRedirectsChecks.indexOf(instance)
- if (i > -1) bibliogramNormalRedirectsChecks.splice(i, 1)
+ for (const instance of [...r.cloudflareBlackList, ...r.offlineBlackList]) {
+ const a = bibliogramNormalRedirectsChecks.indexOf(instance)
+ if (a > -1) bibliogramNormalRedirectsChecks.splice(a, 1)
}
browser.storage.local.set({
disableInstagram: false,
instagramRedirects: redirects,
- bibliogramNormalRedirectsChecks: bibliogramNormalRedirectsChecks,
+ bibliogramNormalRedirectsChecks,
bibliogramNormalCustomRedirects: [],
bibliogramTorRedirectsChecks: [...redirects.bibliogram.tor],
@@ -201,6 +236,7 @@ function initDefaults() {
export default {
setRedirects,
+ initBibliogramPreferences,
reverse,
redirect,
initDefaults,
diff --git a/src/assets/javascripts/lbry.js b/src/assets/javascripts/lbry.js
index 0c4d34cc..5e285ada 100644
--- a/src/assets/javascripts/lbry.js
+++ b/src/assets/javascripts/lbry.js
@@ -17,16 +17,19 @@ for (let i = 0; i < frontends.length; i++) {
}
function setRedirects(val) {
- browser.storage.local.get("cloudflareBlackList", r => {
+ browser.storage.local.get(["cloudflareBlackList", "offlineBlackList"], r => {
redirects.librarian = val
librarianNormalRedirectsChecks = [...redirects.librarian.normal]
- for (const instance of r.cloudflareBlackList) {
+ for (const instance of [...r.cloudflareBlackList, ...r.offlineBlackList]) {
const a = librarianNormalRedirectsChecks.indexOf(instance)
if (a > -1) librarianNormalRedirectsChecks.splice(a, 1)
}
browser.storage.local.set({
lbryTargetsRedirects: redirects,
librarianNormalRedirectsChecks,
+ librarianTorRedirectsChecks: [...redirects.librarian.tor],
+ librarianI2pRedirectsChecks: [...redirects.librarian.i2p],
+ librarianLokiRedirectsChecks: [...redirects.librarian.loki],
})
})
}
@@ -175,27 +178,34 @@ function initDefaults() {
for (let i = 0; i < frontends.length; i++) {
redirects[frontends[i]] = dataJson[frontends[i]]
}
- browser.storage.local.set(
- {
- disableLbryTargets: true,
- lbryFrontend: "librarian",
- lbryTargetsRedirects: redirects,
- lbryRedirectType: "both",
+ browser.storage.local.get(["cloudflareBlackList", "offlineBlackList"], async r => {
+ librarianNormalRedirectsChecks = [...redirects.librarian.normal]
+ for (const instance of [...r.cloudflareBlackList, ...r.offlineBlackList]) {
+ const a = librarianNormalRedirectsChecks.indexOf(instance)
+ if (a > -1) librarianNormalRedirectsChecks.splice(a, 1)
+ }
+ browser.storage.local.set(
+ {
+ disableLbryTargets: true,
+ lbryFrontend: "librarian",
+ lbryTargetsRedirects: redirects,
+ lbryRedirectType: "both",
- librarianNormalRedirectsChecks: [...redirects.librarian.normal],
- librarianNormalCustomRedirects: [],
+ librarianNormalRedirectsChecks,
+ librarianNormalCustomRedirects: [],
- librarianTorRedirectsChecks: [...redirects.librarian.tor],
- librarianTorCustomRedirects: [],
+ librarianTorRedirectsChecks: [...redirects.librarian.tor],
+ librarianTorCustomRedirects: [],
- librarianI2pRedirectsChecks: [...redirects.librarian.i2p],
- librarianI2pCustomRedirects: [],
+ librarianI2pRedirectsChecks: [...redirects.librarian.i2p],
+ librarianI2pCustomRedirects: [],
- librarianLokiRedirectsChecks: [...redirects.librarian.loki],
- librarianLokiCustomRedirects: [],
- },
- () => resolve()
- )
+ librarianLokiRedirectsChecks: [...redirects.librarian.loki],
+ librarianLokiCustomRedirects: [],
+ },
+ () => resolve()
+ )
+ })
})
})
}
diff --git a/src/assets/javascripts/maps.js b/src/assets/javascripts/maps.js
index 9fb10b9d..6e3c9af0 100644
--- a/src/assets/javascripts/maps.js
+++ b/src/assets/javascripts/maps.js
@@ -21,16 +21,19 @@ redirects.osm = {}
redirects.osm.normal = ["https://www.openstreetmap.org"]
function setRedirects(val) {
- browser.storage.local.get("cloudflareBlackList", r => {
+ browser.storage.local.get(["cloudflareBlackList", "offlineBlackList"], r => {
redirects.facil = val
facilNormalRedirectsChecks = [...redirects.facil.normal]
- for (const instance of r.cloudflareBlackList) {
+ for (const instance of [...r.cloudflareBlackList, ...r.offlineBlackList]) {
const a = facilNormalRedirectsChecks.indexOf(instance)
if (a > -1) facilNormalRedirectsChecks.splice(a, 1)
}
browser.storage.local.set({
mapsRedirects: redirects,
facilNormalRedirectsChecks,
+ facilTorRedirectsChecks: [...redirects.facil.tor],
+ facilI2pRedirectsChecks: [...redirects.facil.i2p],
+ facilLokiRedirectsChecks: [...redirects.facil.loki],
})
})
}
@@ -264,25 +267,32 @@ function initDefaults() {
for (let i = 0; i < frontends.length; i++) {
redirects[frontends[i]] = dataJson[frontends[i]]
}
- browser.storage.local.set(
- {
- disableMaps: false,
- mapsFrontend: "osm",
- mapsRedirects: redirects,
- facilNormalRedirectsChecks: [...redirects.facil.normal],
- facilNormalCustomRedirects: [],
+ browser.storage.local.get(["cloudflareBlackList", "offlineBlackList"], async r => {
+ facilNormalRedirectsChecks = [...redirects.facil.normal]
+ for (const instance of [...r.cloudflareBlackList, ...r.offlineBlackList]) {
+ const a = facilNormalRedirectsChecks.indexOf(instance)
+ if (a > -1) facilNormalRedirectsChecks.splice(a, 1)
+ }
+ browser.storage.local.set(
+ {
+ disableMaps: false,
+ mapsFrontend: "osm",
+ mapsRedirects: redirects,
+ facilNormalRedirectsChecks,
+ facilNormalCustomRedirects: [],
- facilTorRedirectsChecks: [...redirects.facil.tor],
- facilTorCustomRedirects: [],
+ facilTorRedirectsChecks: [...redirects.facil.tor],
+ facilTorCustomRedirects: [],
- facilI2pRedirectsChecks: [...redirects.facil.i2p],
- facilI2pCustomRedirects: [],
+ facilI2pRedirectsChecks: [...redirects.facil.i2p],
+ facilI2pCustomRedirects: [],
- facilLokiRedirectsChecks: [...redirects.facil.loki],
- facilLokiCustomRedirects: [],
- },
- () => resolve()
- )
+ facilLokiRedirectsChecks: [...redirects.facil.loki],
+ facilLokiCustomRedirects: [],
+ },
+ () => resolve()
+ )
+ })
})
})
}
diff --git a/src/assets/javascripts/medium.js b/src/assets/javascripts/medium.js
index 4c03471c..e5cb1dc4 100644
--- a/src/assets/javascripts/medium.js
+++ b/src/assets/javascripts/medium.js
@@ -40,16 +40,19 @@ for (let i = 0; i < frontends.length; i++) {
}
function setRedirects(val) {
- browser.storage.local.get("cloudflareBlackList", r => {
+ browser.storage.local.get(["cloudflareBlackList", "offlineBlackList"], r => {
redirects.scribe = val
scribeNormalRedirectsChecks = [...redirects.scribe.normal]
- for (const instance of r.cloudflareBlackList) {
+ for (const instance of [...r.cloudflareBlackList, ...r.offlineBlackList]) {
const a = scribeNormalRedirectsChecks.indexOf(instance)
if (a > -1) scribeNormalRedirectsChecks.splice(a, 1)
}
browser.storage.local.set({
mediumRedirects: redirects,
scribeNormalRedirectsChecks,
+ scribeTorRedirectsChecks: [...redirects.scribe.tor],
+ scribeI2pRedirectsChecks: [...redirects.scribe.i2p],
+ scribeLokiRedirectsChecks: [...redirects.scribe.loki],
})
})
}
@@ -181,18 +184,18 @@ function initDefaults() {
for (let i = 0; i < frontends.length; i++) {
redirects[frontends[i]] = dataJson[frontends[i]]
}
- browser.storage.local.get("cloudflareBlackList", async r => {
+ browser.storage.local.get(["cloudflareBlackList", "offlineBlackList"], async r => {
scribeNormalRedirectsChecks = [...redirects.scribe.normal]
- for (const instance of r.cloudflareBlackList) {
- let i = scribeNormalRedirectsChecks.indexOf(instance)
- if (i > -1) scribeNormalRedirectsChecks.splice(i, 1)
+ for (const instance of [...r.cloudflareBlackList, ...r.offlineBlackList]) {
+ const a = scribeNormalRedirectsChecks.indexOf(instance)
+ if (a > -1) scribeNormalRedirectsChecks.splice(a, 1)
}
browser.storage.local.set(
{
disableMedium: false,
mediumRedirects: redirects,
- scribeNormalRedirectsChecks: scribeNormalRedirectsChecks,
+ scribeNormalRedirectsChecks,
scribeNormalCustomRedirects: [],
scribeTorRedirectsChecks: [...redirects.scribe.tor],
diff --git a/src/assets/javascripts/peertube.js b/src/assets/javascripts/peertube.js
index de25cfaa..478a18f0 100644
--- a/src/assets/javascripts/peertube.js
+++ b/src/assets/javascripts/peertube.js
@@ -15,16 +15,19 @@ for (let i = 0; i < frontends.length; i++) {
}
function setRedirects(val) {
- browser.storage.local.get("cloudflareBlackList", r => {
+ browser.storage.local.get(["cloudflareBlackList", "offlineBlackList"], r => {
redirects.simpleertube = val
simpleertubeNormalRedirectsChecks = [...redirects.simpleertube.normal]
- for (const instance of r.cloudflareBlackList) {
+ for (const instance of [...r.cloudflareBlackList, ...r.offlineBlackList]) {
const a = simpleertubeNormalRedirectsChecks.indexOf(instance)
if (a > -1) simpleertubeNormalRedirectsChecks.splice(a, 1)
}
browser.storage.local.set({
peertubeRedirects: redirects,
simpleertubeNormalRedirectsChecks,
+ simpleertubeTorRedirectsChecks: [...redirects.simpleertube.tor],
+ simpleertubeI2pRedirectsChecks: [...redirects.simpleertube.i2p],
+ simpleertubeLokiRedirectsChecks: [...redirects.simpleertube.loki],
})
})
}
@@ -162,11 +165,11 @@ function initDefaults() {
for (let i = 0; i < frontends.length; i++) {
redirects[frontends[i]] = dataJson[frontends[i]]
}
- browser.storage.local.get("cloudflareBlackList", async r => {
+ browser.storage.local.get(["cloudflareBlackList", "offlineBlackList"], async r => {
simpleertubeNormalRedirectsChecks = [...redirects.simpleertube.normal]
- for (const instance of r.cloudflareBlackList) {
- let i = simpleertubeNormalRedirectsChecks.indexOf(instance)
- if (i > -1) simpleertubeNormalRedirectsChecks.splice(i, 1)
+ for (const instance of [...r.cloudflareBlackList, ...r.offlineBlackList]) {
+ const a = simpleertubeNormalRedirectsChecks.indexOf(instance)
+ if (a > -1) simpleertubeNormalRedirectsChecks.splice(a, 1)
}
browser.storage.local.set(
{
@@ -174,7 +177,7 @@ function initDefaults() {
disablePeertubeTargets: true,
peertubeRedirects: redirects,
- simpleertubeNormalRedirectsChecks: simpleertubeNormalRedirectsChecks,
+ simpleertubeNormalRedirectsChecks,
simpleertubeNormalCustomRedirects: [],
simpleertubeTorRedirectsChecks: [...redirects.simpleertube.tor],
diff --git a/src/assets/javascripts/quora.js b/src/assets/javascripts/quora.js
index 3f9e4189..578cfe76 100644
--- a/src/assets/javascripts/quora.js
+++ b/src/assets/javascripts/quora.js
@@ -17,16 +17,19 @@ for (let i = 0; i < frontends.length; i++) {
}
function setRedirects(val) {
- browser.storage.local.get("cloudflareBlackList", r => {
+ browser.storage.local.get(["cloudflareBlackList", "offlineBlackList"], r => {
redirects.quetre = val
quetreNormalRedirectsChecks = [...redirects.quetre.normal]
- for (const instance of r.cloudflareBlackList) {
+ for (const instance of [...r.cloudflareBlackList, ...r.offlineBlackList]) {
const a = quetreNormalRedirectsChecks.indexOf(instance)
if (a > -1) quetreNormalRedirectsChecks.splice(a, 1)
}
browser.storage.local.set({
quoraRedirects: redirects,
quetreNormalRedirectsChecks,
+ quetreTorRedirectsChecks: [...redirects.quetre.tor],
+ quetreI2pRedirectsChecks: [...redirects.quetre.i2p],
+ quetreLokiRedirectsChecks: [...redirects.quetre.loki],
})
})
}
@@ -157,26 +160,33 @@ function initDefaults() {
for (let i = 0; i < frontends.length; i++) {
redirects[frontends[i]] = dataJson[frontends[i]]
}
- browser.storage.local.set(
- {
- disableQuora: false,
+ browser.storage.local.get(["cloudflareBlackList", "offlineBlackList"], async r => {
+ quetreNormalRedirectsChecks = [...redirects.quetre.normal]
+ for (const instance of [...r.cloudflareBlackList, ...r.offlineBlackList]) {
+ const a = quetreNormalRedirectsChecks.indexOf(instance)
+ if (a > -1) quetreNormalRedirectsChecks.splice(a, 1)
+ }
+ browser.storage.local.set(
+ {
+ disableQuora: false,
- quoraRedirects: redirects,
+ quoraRedirects: redirects,
- quetreNormalRedirectsChecks: [...redirects.quetre.normal],
- quetreNormalCustomRedirects: [],
+ quetreNormalRedirectsChecks,
+ quetreNormalCustomRedirects: [],
- quetreTorRedirectsChecks: [...redirects.quetre.tor],
- quetreTorCustomRedirects: [],
+ quetreTorRedirectsChecks: [...redirects.quetre.tor],
+ quetreTorCustomRedirects: [],
- quetreI2pRedirectsChecks: [...redirects.quetre.i2p],
- quetreI2pCustomRedirects: [],
+ quetreI2pRedirectsChecks: [...redirects.quetre.i2p],
+ quetreI2pCustomRedirects: [],
- quetreLokiRedirectsChecks: [...redirects.quetre.loki],
- quetreLokiCustomRedirects: [],
- },
- () => resolve()
- )
+ quetreLokiRedirectsChecks: [...redirects.quetre.loki],
+ quetreLokiCustomRedirects: [],
+ },
+ () => resolve()
+ )
+ })
})
})
}
diff --git a/src/assets/javascripts/reddit.js b/src/assets/javascripts/reddit.js
index 699dcf1a..ca1993b5 100644
--- a/src/assets/javascripts/reddit.js
+++ b/src/assets/javascripts/reddit.js
@@ -16,11 +16,11 @@ for (let i = 0; i < frontends.length; i++) {
}
function setRedirects(val) {
- browser.storage.local.get("cloudflareBlackList", r => {
+ browser.storage.local.get(["cloudflareBlackList", "offlineBlackList"], r => {
redirects = val
libredditNormalRedirectsChecks = [...redirects.libreddit.normal]
tedditNormalRedirectsChecks = [...redirects.teddit.normal]
- for (const instance of r.cloudflareBlackList) {
+ for (const instance of [...r.cloudflareBlackList, ...r.offlineBlackList]) {
const a = libredditNormalRedirectsChecks.indexOf(instance)
if (a > -1) libredditNormalRedirectsChecks.splice(a, 1)
@@ -30,7 +30,13 @@ function setRedirects(val) {
browser.storage.local.set({
redditRedirects: redirects,
libredditNormalRedirectsChecks,
+ libredditTorRedirectsChecks: [...redirects.libreddit.tor],
+ libredditI2pRedirectsChecks: [...redirects.libreddit.i2p],
+ libredditLokiRedirectsChecks: [...redirects.libreddit.loki],
tedditNormalRedirectsChecks,
+ tedditTorRedirectsChecks: [...redirects.teddit.tor],
+ tedditI2pRedirectsChecks: [...redirects.teddit.i2p],
+ tedditLokiRedirectsChecks: [...redirects.teddit.loki],
})
})
}
@@ -145,36 +151,6 @@ function initLibredditCookies(test, from) {
})
}
-function pasteLibredditCookies() {
- return new Promise(async resolve => {
- await init()
- if (disableReddit || redditFrontend != "libreddit" || protocol === undefined) {
- resolve()
- return
- }
- 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")
- utils.getCookiesFromStorage("libreddit", checkedInstances, "wide")
- utils.getCookiesFromStorage("libreddit", checkedInstances, "post_sort")
- utils.getCookiesFromStorage("libreddit", checkedInstances, "comment_sort")
- utils.getCookiesFromStorage("libreddit", checkedInstances, "show_nsfw")
- utils.getCookiesFromStorage("libreddit", checkedInstances, "autoplay_videos")
- utils.getCookiesFromStorage("libreddit", checkedInstances, "use_hls")
- utils.getCookiesFromStorage("libreddit", checkedInstances, "hide_hls_notification")
- utils.getCookiesFromStorage("libreddit", checkedInstances, "subscriptions")
- utils.getCookiesFromStorage("libreddit", checkedInstances, "filters")
- resolve()
- })
-}
-
function initTedditCookies(test, from) {
return new Promise(async resolve => {
await init()
@@ -211,36 +187,6 @@ function initTedditCookies(test, from) {
})
}
-function pasteTedditCookies() {
- return new Promise(async resolve => {
- await init()
- if (disableReddit || redditFrontend != "teddit" || protocol === undefined) {
- resolve()
- return
- }
- 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")
- utils.getCookiesFromStorage("teddit", checkedInstances, "domain_youtube")
- utils.getCookiesFromStorage("teddit", checkedInstances, "flairs")
- utils.getCookiesFromStorage("teddit", checkedInstances, "highlight_controversial")
- utils.getCookiesFromStorage("teddit", checkedInstances, "nsfw_enabled")
- utils.getCookiesFromStorage("teddit", checkedInstances, "post_media_max_height")
- utils.getCookiesFromStorage("teddit", checkedInstances, "show_upvoted_percentage")
- utils.getCookiesFromStorage("teddit", checkedInstances, "show_upvotes")
- utils.getCookiesFromStorage("teddit", checkedInstances, "theme")
- utils.getCookiesFromStorage("teddit", checkedInstances, "videos_muted")
- resolve()
- })
-}
-
function all() {
return [
...redditRedirects.libreddit.normal,
@@ -390,17 +336,15 @@ function initDefaults() {
for (let i = 0; i < frontends.length; i++) {
redirects[frontends[i]] = dataJson[frontends[i]]
}
- browser.storage.local.get("cloudflareBlackList", async r => {
+ browser.storage.local.get(["cloudflareBlackList", "offlineBlackList"], async r => {
libredditNormalRedirectsChecks = [...redirects.libreddit.normal]
tedditNormalRedirectsChecks = [...redirects.teddit.normal]
- for (const instance of r.cloudflareBlackList) {
- let i
-
- i = libredditNormalRedirectsChecks.indexOf(instance)
- if (i > -1) libredditNormalRedirectsChecks.splice(i, 1)
+ for (const instance of [...r.cloudflareBlackList, ...r.offlineBlackList]) {
+ const a = libredditNormalRedirectsChecks.indexOf(instance)
+ if (a > -1) libredditNormalRedirectsChecks.splice(a, 1)
- i = tedditNormalRedirectsChecks.indexOf(instance)
- if (i > -1) tedditNormalRedirectsChecks.splice(i, 1)
+ const b = tedditNormalRedirectsChecks.indexOf(instance)
+ if (b > -1) tedditNormalRedirectsChecks.splice(b, 1)
}
browser.storage.local.set(
{
@@ -408,7 +352,7 @@ function initDefaults() {
redditFrontend: "libreddit",
redditRedirects: redirects,
- libredditNormalRedirectsChecks: libredditNormalRedirectsChecks,
+ libredditNormalRedirectsChecks,
libredditNormalCustomRedirects: [],
libredditTorRedirectsChecks: [...redirects.libreddit.tor],
@@ -420,7 +364,7 @@ function initDefaults() {
libredditLokiRedirectsChecks: [...redirects.libreddit.loki],
libredditLokiCustomRedirects: [],
- tedditNormalRedirectsChecks: tedditNormalRedirectsChecks,
+ tedditNormalRedirectsChecks,
tedditNormalCustomRedirects: [],
tedditTorRedirectsChecks: [...redirects.teddit.tor],
@@ -442,9 +386,7 @@ function initDefaults() {
export default {
setRedirects,
initLibredditCookies,
- pasteLibredditCookies,
initTedditCookies,
- pasteTedditCookies,
redirect,
initDefaults,
diff --git a/src/assets/javascripts/reuters.js b/src/assets/javascripts/reuters.js
index e4afa19c..51d16329 100644
--- a/src/assets/javascripts/reuters.js
+++ b/src/assets/javascripts/reuters.js
@@ -17,16 +17,19 @@ for (let i = 0; i < frontends.length; i++) {
}
function setRedirects(val) {
- browser.storage.local.get("cloudflareBlackList", r => {
+ browser.storage.local.get(["cloudflareBlackList", "offlineBlackList"], r => {
redirects.neuters = val
neutersNormalRedirectsChecks = [...redirects.neuters.normal]
- for (const instance of r.cloudflareBlackList) {
+ for (const instance of [...r.cloudflareBlackList, ...r.offlineBlackList]) {
const a = neutersNormalRedirectsChecks.indexOf(instance)
if (a > -1) neutersNormalRedirectsChecks.splice(a, 1)
}
browser.storage.local.set({
neutersRedirects: redirects,
neutersNormalRedirectsChecks,
+ neutersTorRedirectsChecks: [...redirects.neuters.tor],
+ neutersI2pRedirectsChecks: [...redirects.neuters.i2p],
+ neutersLokiRedirectsChecks: [...redirects.neuters.loki],
})
})
}
@@ -109,26 +112,33 @@ function initDefaults() {
for (let i = 0; i < frontends.length; i++) {
redirects[frontends[i]] = dataJson[frontends[i]]
}
- browser.storage.local.set(
- {
- disableReuters: true,
+ browser.storage.local.get(["cloudflareBlackList", "offlineBlackList"], async r => {
+ neutersNormalRedirectsChecks = [...redirects.neuters.normal]
+ for (const instance of [...r.cloudflareBlackList, ...r.offlineBlackList]) {
+ const a = neutersNormalRedirectsChecks.indexOf(instance)
+ if (a > -1) neutersNormalRedirectsChecks.splice(a, 1)
+ }
+ browser.storage.local.set(
+ {
+ disableReuters: true,
- reutersRedirects: redirects,
+ reutersRedirects: redirects,
- neutersNormalRedirectsChecks: [...redirects.neuters.normal],
- neutersNormalCustomRedirects: [],
+ neutersNormalRedirectsChecks,
+ neutersNormalCustomRedirects: [],
- neutersTorRedirectsChecks: [...redirects.neuters.tor],
- neutersTorCustomRedirects: [],
+ neutersTorRedirectsChecks: [...redirects.neuters.tor],
+ neutersTorCustomRedirects: [],
- neutersI2pRedirectsChecks: [...redirects.neuters.i2p],
- neutersI2pCustomRedirects: [],
+ neutersI2pRedirectsChecks: [...redirects.neuters.i2p],
+ neutersI2pCustomRedirects: [],
- neutersLokiRedirectsChecks: [...redirects.neuters.loki],
- neutersLokiCustomRedirects: [],
- },
- () => resolve()
- )
+ neutersLokiRedirectsChecks: [...redirects.neuters.loki],
+ neutersLokiCustomRedirects: [],
+ },
+ () => resolve()
+ )
+ })
})
})
}
diff --git a/src/assets/javascripts/search.js b/src/assets/javascripts/search.js
index b076f5d0..64b56caa 100644
--- a/src/assets/javascripts/search.js
+++ b/src/assets/javascripts/search.js
@@ -8,52 +8,22 @@ const frontends = new Array("searx", "searxng", "whoogle", "librex")
const protocols = new Array("normal", "tor", "i2p", "loki")
const redirects = {}
-/*
- "searx": {
- "normal": [],
- "tor": [],
- "i2p": []
- },
- "searxng": {
- "normal": [],
- "tor": [],
- "i2p": []
- },
- "whoogle": {
- "normal": [],
- "tor": [],
- "i2p": []
- }
- */
-//};
-
-//let tmp = "{"
for (let i = 0; i < frontends.length; i++) {
- //redirects.frontends[i] = {}
- //redirects.push(frontends[i])
- //tmp = frontends[i]
- //tmp = tmp + '\n"' + frontends[i] + '": {'
redirects[frontends[i]] = {}
for (let x = 0; x < protocols.length; x++) {
- //redirects.frontends[i].protocols = []
- //tmp = tmp + '\n"' + protocols[x] + '": [],'
redirects[frontends[i]][protocols[x]] = []
}
- //tmp = tmp + "\n},"
}
-//tmp = tmp + "\n}"
-
-//const redirects = JSON.parse(tmp)
function setRedirects(val) {
- browser.storage.local.get("cloudflareBlackList", r => {
+ browser.storage.local.get(["cloudflareBlackList", "offlineBlackList"], r => {
redirects = val
searxNormalRedirectsChecks = [...redirects.searx.normal]
searxngNormalRedirectsChecks = [...redirects.searxng.normal]
whoogleNormalRedirectsChecks = [...redirects.whoogle.normal]
librexNormalRedirectsChecks = [...redirects.librex.normal]
- for (const instance of r.cloudflareBlackList) {
+ for (const instance of [...r.cloudflareBlackList, ...r.offlineBlackList]) {
const a = searxNormalRedirectsChecks.indexOf(instance)
if (a > -1) searxNormalRedirectsChecks.splice(a, 1)
@@ -69,9 +39,21 @@ function setRedirects(val) {
browser.storage.local.set({
searchRedirects: redirects,
searxNormalRedirectsChecks,
+ searxTorRedirectsChecks: [...redirects.searx.tor],
+ searxI2pRedirectsChecks: [...redirects.searx.i2p],
+ searxLokiRedirectsChecks: [...redirects.searx.loki],
searxngNormalRedirectsChecks,
+ searxngTorRedirectsChecks: [...redirects.searxng.tor],
+ searxngI2pRedirectsChecks: [...redirects.searxng.i2p],
+ searxngLokiRedirectsChecks: [...redirects.searxng.loki],
whoogleNormalRedirectsChecks,
+ whoogleTorRedirectsChecks: [...redirects.whoogle.tor],
+ whoogleI2pRedirectsChecks: [...redirects.whoogle.i2p],
+ whoogleLokiRedirectsChecks: [...redirects.whoogle.loki],
librexNormalRedirectsChecks,
+ librexTorRedirectsChecks: [...redirects.librex.tor],
+ librexI2pRedirectsChecks: [...redirects.librex.i2p],
+ librexLokiRedirectsChecks: [...redirects.librex.loki],
})
})
}
@@ -240,41 +222,6 @@ function initSearxCookies(test, from) {
})
}
-function pasteSearxCookies() {
- return new Promise(async resolve => {
- await init()
- if (disableSearch || searchFrontend != "searx") {
- resolve()
- return
- }
- let checkedInstances = []
- 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]
- }
- utils.getCookiesFromStorage("searx", checkedInstances, "advanced_search")
- utils.getCookiesFromStorage("searx", checkedInstances, "autocomplete")
- utils.getCookiesFromStorage("searx", checkedInstances, "categories")
- utils.getCookiesFromStorage("searx", checkedInstances, "disabled_engines")
- utils.getCookiesFromStorage("searx", checkedInstances, "disabled_plugins")
- utils.getCookiesFromStorage("searx", checkedInstances, "doi_resolver")
- utils.getCookiesFromStorage("searx", checkedInstances, "enabled_engines")
- utils.getCookiesFromStorage("searx", checkedInstances, "enabled_plugins")
- utils.getCookiesFromStorage("searx", checkedInstances, "image_proxy")
- utils.getCookiesFromStorage("searx", checkedInstances, "language")
- utils.getCookiesFromStorage("searx", checkedInstances, "locale")
- utils.getCookiesFromStorage("searx", checkedInstances, "method")
- utils.getCookiesFromStorage("searx", checkedInstances, "oscar-style")
- utils.getCookiesFromStorage("searx", checkedInstances, "results_on_new_tab")
- utils.getCookiesFromStorage("searx", checkedInstances, "safesearch")
- utils.getCookiesFromStorage("searx", checkedInstances, "theme")
- utils.getCookiesFromStorage("searx", checkedInstances, "tokens")
- resolve()
- })
-}
-
function initSearxngCookies(test, from) {
return new Promise(async resolve => {
await init()
@@ -326,43 +273,6 @@ function initSearxngCookies(test, from) {
})
}
-function pasteSearxngCookies() {
- return new Promise(async resolve => {
- await init()
- if ((disableSearch || searchFrontend != "searxng", protocol === undefined)) {
- resolve()
- return
- }
- let checkedInstances = []
- 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]
- }
- utils.getCookiesFromStorage("searxng", checkedInstances, "autocomplete")
- utils.getCookiesFromStorage("searxng", checkedInstances, "categories")
- utils.getCookiesFromStorage("searxng", checkedInstances, "disabled_engines")
- utils.getCookiesFromStorage("searxng", checkedInstances, "disabled_plugins")
- utils.getCookiesFromStorage("searxng", checkedInstances, "doi_resolver")
- utils.getCookiesFromStorage("searxng", checkedInstances, "enabled_plugins")
- utils.getCookiesFromStorage("searxng", checkedInstances, "enabled_engines")
- utils.getCookiesFromStorage("searxng", checkedInstances, "image_proxy")
- utils.getCookiesFromStorage("searxng", checkedInstances, "infinite_scroll")
- utils.getCookiesFromStorage("searxng", checkedInstances, "language")
- utils.getCookiesFromStorage("searxng", checkedInstances, "locale")
- utils.getCookiesFromStorage("searxng", checkedInstances, "maintab")
- utils.getCookiesFromStorage("searxng", checkedInstances, "method")
- utils.getCookiesFromStorage("searxng", checkedInstances, "query_in_title")
- utils.getCookiesFromStorage("searxng", checkedInstances, "results_on_new_tab")
- utils.getCookiesFromStorage("searxng", checkedInstances, "safesearch")
- utils.getCookiesFromStorage("searxng", checkedInstances, "simple_style")
- utils.getCookiesFromStorage("searxng", checkedInstances, "theme")
- utils.getCookiesFromStorage("searxng", checkedInstances, "tokens")
- resolve()
- })
-}
-
function initLibrexCookies(test, from) {
return new Promise(async resolve => {
await init()
@@ -403,32 +313,6 @@ function initLibrexCookies(test, from) {
})
}
-function pasteLibrexCookies() {
- return new Promise(async resolve => {
- await init()
- if ((disableSearch || searchFrontend != "librex", protocol === undefined)) {
- resolve()
- return
- }
- let checkedInstances = []
- 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]
- }
- utils.getCookiesFromStorage("librex", checkedInstances, "bibliogram")
- utils.getCookiesFromStorage("librex", checkedInstances, "disable_special")
- utils.getCookiesFromStorage("librex", checkedInstances, "invidious")
- utils.getCookiesFromStorage("librex", checkedInstances, "libreddit")
- utils.getCookiesFromStorage("librex", checkedInstances, "nitter")
- utils.getCookiesFromStorage("librex", checkedInstances, "proxitok")
- utils.getCookiesFromStorage("librex", checkedInstances, "theme")
- utils.getCookiesFromStorage("librex", checkedInstances, "wikiless")
- resolve()
- })
-}
-
function redirect(url, disableOverride) {
if (disableSearch && !disableOverride) return
if (!targets.some(rx => rx.test(url.href))) return
@@ -597,34 +481,27 @@ function initDefaults() {
.then(response => response.text())
.then(async data => {
let dataJson = JSON.parse(data)
- /*
- redirects.searx = dataJson.searx;
- redirects.searxng = dataJson.searxng;
- redirects.whoogle = dataJson.whoogle;
- */
for (let i = 0; i < frontends.length; i++) {
redirects[frontends[i]] = dataJson[frontends[i]]
}
- browser.storage.local.get("cloudflareBlackList", async r => {
- whoogleNormalRedirectsChecks = [...redirects.whoogle.normal]
+ browser.storage.local.get(["cloudflareBlackList", "offlineBlackList"], async r => {
searxNormalRedirectsChecks = [...redirects.searx.normal]
searxngNormalRedirectsChecks = [...redirects.searxng.normal]
+ whoogleNormalRedirectsChecks = [...redirects.whoogle.normal]
librexNormalRedirectsChecks = [...redirects.librex.normal]
- for (const instance of r.cloudflareBlackList) {
- let i
-
- i = whoogleNormalRedirectsChecks.indexOf(instance)
- if (i > -1) whoogleNormalRedirectsChecks.splice(i, 1)
+ for (const instance of [...r.cloudflareBlackList, ...r.offlineBlackList]) {
+ const a = searxNormalRedirectsChecks.indexOf(instance)
+ if (a > -1) searxNormalRedirectsChecks.splice(a, 1)
- i = searxNormalRedirectsChecks.indexOf(instance)
- if (i > -1) searxNormalRedirectsChecks.splice(i, 1)
+ const b = searxngNormalRedirectsChecks.indexOf(instance)
+ if (b > -1) searxngNormalRedirectsChecks.splice(b, 1)
- i = searxngNormalRedirectsChecks.indexOf(instance)
- if (i > -1) searxngNormalRedirectsChecks.splice(i, 1)
+ const c = whoogleNormalRedirectsChecks.indexOf(instance)
+ if (c > -1) whoogleNormalRedirectsChecks.splice(c, 1)
- i = librexNormalRedirectsChecks.indexOf(instance)
- if (i > -1) librexNormalRedirectsChecks.splice(i, 1)
+ const d = librexNormalRedirectsChecks.indexOf(instance)
+ if (d > -1) librexNormalRedirectsChecks.splice(d, 1)
}
browser.storage.local.set(
{
@@ -633,7 +510,7 @@ function initDefaults() {
searchRedirects: redirects,
searxngCustomSettings: false,
- whoogleNormalRedirectsChecks: whoogleNormalRedirectsChecks,
+ whoogleNormalRedirectsChecks,
whoogleNormalCustomRedirects: [],
whoogleTorRedirectsChecks: [...redirects.whoogle.tor],
@@ -645,7 +522,7 @@ function initDefaults() {
whoogleLokiRedirectsChecks: [...redirects.whoogle.loki],
whoogleLokiCustomRedirects: [],
- searxNormalRedirectsChecks: searxNormalRedirectsChecks,
+ searxNormalRedirectsChecks,
searxNormalCustomRedirects: [],
searxTorRedirectsChecks: [...redirects.searx.tor],
@@ -657,7 +534,7 @@ function initDefaults() {
searxLokiRedirectsChecks: [...redirects.searx.loki],
searxLokiCustomRedirects: [],
- searxngNormalRedirectsChecks: searxngNormalRedirectsChecks,
+ searxngNormalRedirectsChecks,
searxngNormalCustomRedirects: [],
searxngTorRedirectsChecks: [...redirects.searxng.tor],
@@ -669,7 +546,7 @@ function initDefaults() {
searxngLokiRedirectsChecks: [...redirects.searxng.loki],
searxngLokiCustomRedirects: [],
- librexNormalRedirectsChecks: librexNormalRedirectsChecks,
+ librexNormalRedirectsChecks,
librexNormalCustomRedirects: [],
librexTorRedirectsChecks: [...redirects.librex.tor],
@@ -691,11 +568,8 @@ function initDefaults() {
export default {
setRedirects,
initSearxCookies,
- pasteSearxCookies,
initSearxngCookies,
- pasteSearxngCookies,
initLibrexCookies,
- pasteLibrexCookies,
redirect,
initDefaults,
switchInstance,
diff --git a/src/assets/javascripts/sendTargets.js b/src/assets/javascripts/sendTargets.js
index ba892fe3..a52ab6ff 100644
--- a/src/assets/javascripts/sendTargets.js
+++ b/src/assets/javascripts/sendTargets.js
@@ -17,16 +17,19 @@ for (let i = 0; i < frontends.length; i++) {
}
function setRedirects(val) {
- browser.storage.local.get("cloudflareBlackList", r => {
+ browser.storage.local.get(["cloudflareBlackList", "offlineBlackList"], r => {
redirects.send = val
sendNormalRedirectsChecks = [...redirects.send.normal]
- for (const instance of r.cloudflareBlackList) {
+ for (const instance of [...r.cloudflareBlackList, ...r.offlineBlackList]) {
const a = sendNormalRedirectsChecks.indexOf(instance)
if (a > -1) sendNormalRedirectsChecks.splice(a, 1)
}
browser.storage.local.set({
sendTargetsRedirects: redirects,
sendNormalRedirectsChecks,
+ sendTorRedirectsChecks: [...redirects.send.tor],
+ sendI2pRedirectsChecks: [...redirects.send.i2p],
+ sendLokiRedirectsChecks: [...redirects.send.loki],
})
})
}
@@ -154,18 +157,18 @@ function initDefaults() {
for (let i = 0; i < frontends.length; i++) {
redirects[frontends[i]] = dataJson[frontends[i]]
}
- browser.storage.local.get("cloudflareBlackList", async r => {
+ browser.storage.local.get(["cloudflareBlackList", "offlineBlackList"], async r => {
sendNormalRedirectsChecks = [...redirects.send.normal]
- for (const instance of r.cloudflareBlackList) {
- let i = sendNormalRedirectsChecks.indexOf(instance)
- if (i > -1) sendNormalRedirectsChecks.splice(i, 1)
+ for (const instance of [...r.cloudflareBlackList, ...r.offlineBlackList]) {
+ const a = sendNormalRedirectsChecks.indexOf(instance)
+ if (a > -1) sendNormalRedirectsChecks.splice(a, 1)
}
browser.storage.local.set(
{
disableSendTarget: false,
sendTargetsRedirects: redirects,
- sendNormalRedirectsChecks: sendNormalRedirectsChecks,
+ sendNormalRedirectsChecks,
sendNormalCustomRedirects: [],
sendTorRedirectsChecks: [...redirects.send.tor],
diff --git a/src/assets/javascripts/tiktok.js b/src/assets/javascripts/tiktok.js
index ba4a9ff1..71f07687 100644
--- a/src/assets/javascripts/tiktok.js
+++ b/src/assets/javascripts/tiktok.js
@@ -17,16 +17,19 @@ for (let i = 0; i < frontends.length; i++) {
}
function setRedirects(val) {
- browser.storage.local.get("cloudflareBlackList", r => {
+ browser.storage.local.get(["cloudflareBlackList", "offlineBlackList"], r => {
redirects.proxiTok = val
proxiTokNormalRedirectsChecks = [...redirects.proxiTok.normal]
- for (const instance of r.cloudflareBlackList) {
+ for (const instance of [...r.cloudflareBlackList, ...r.offlineBlackList]) {
const a = proxiTokNormalRedirectsChecks.indexOf(instance)
if (a > -1) proxiTokNormalRedirectsChecks.splice(a, 1)
}
browser.storage.local.set({
tiktokRedirects: redirects,
proxiTokNormalRedirectsChecks,
+ proxiTokTorRedirectsChecks: [...redirects.proxiTok.tor],
+ proxiTokI2pRedirectsChecks: [...redirects.proxiTok.i2p],
+ proxiTokLokiRedirectsChecks: [...redirects.proxiTok.loki],
})
})
}
@@ -62,26 +65,6 @@ function initProxiTokCookies(test, from) {
})
}
-function pasteProxiTokCookies() {
- return new Promise(async resolve => {
- await init()
- if (disableTiktok || protocol === undefined) {
- resolve()
- return
- }
- 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")
- resolve()
- })
-}
-
let disableTiktok,
protocol,
protocolFallback,
@@ -222,39 +205,42 @@ function initDefaults() {
for (let i = 0; i < frontends.length; i++) {
redirects[frontends[i]] = dataJson[frontends[i]]
}
- browser.storage.local.set(
- {
- disableTiktok: false,
+ browser.storage.local.get(["cloudflareBlackList", "offlineBlackList"], async r => {
+ proxiTokNormalRedirectsChecks = [...redirects.proxiTok.normal]
+ for (const instance of [...r.cloudflareBlackList, ...r.offlineBlackList]) {
+ const a = proxiTokNormalRedirectsChecks.indexOf(instance)
+ if (a > -1) proxiTokNormalRedirectsChecks.splice(a, 1)
+ }
+ browser.storage.local.set(
+ {
+ disableTiktok: false,
- tiktokRedirects: redirects,
+ tiktokRedirects: redirects,
- proxiTokNormalRedirectsChecks: [...redirects.proxiTok.normal],
- proxiTokNormalCustomRedirects: [],
+ proxiTokNormalRedirectsChecks,
+ proxiTokNormalCustomRedirects: [],
- proxiTokTorRedirectsChecks: [...redirects.proxiTok.tor],
- proxiTokTorCustomRedirects: [],
+ proxiTokTorRedirectsChecks: [...redirects.proxiTok.tor],
+ proxiTokTorCustomRedirects: [],
- proxiTokI2pRedirectsChecks: [...redirects.proxiTok.i2p],
- proxiTokI2pCustomRedirects: [],
+ proxiTokI2pRedirectsChecks: [...redirects.proxiTok.i2p],
+ proxiTokI2pCustomRedirects: [],
- proxiTokLokiRedirectsChecks: [...redirects.proxiTok.loki],
- proxiTokLokiCustomRedirects: [],
- },
- () => resolve()
- )
+ proxiTokLokiRedirectsChecks: [...redirects.proxiTok.loki],
+ proxiTokLokiCustomRedirects: [],
+ },
+ () => resolve()
+ )
+ })
})
})
}
export default {
setRedirects,
-
redirect,
reverse,
switchInstance,
-
initProxiTokCookies,
- pasteProxiTokCookies,
-
initDefaults,
}
diff --git a/src/assets/javascripts/translate/translate.js b/src/assets/javascripts/translate/translate.js
index 5512f7f1..993c630f 100644
--- a/src/assets/javascripts/translate/translate.js
+++ b/src/assets/javascripts/translate/translate.js
@@ -91,21 +91,27 @@ init()
browser.storage.onChanged.addListener(init)
function setRedirects(val) {
- browser.storage.local.get("cloudflareBlackList", r => {
+ browser.storage.local.get(["cloudflareBlackList", "offlineBlackList"], r => {
redirects = val
+ simplyTranslateNormalRedirectsChecks = [...redirects.simplyTranslate.normal]
lingvaNormalRedirectsChecks = [...redirects.lingva.normal]
- for (const instance of r.cloudflareBlackList) {
- const i = lingvaNormalRedirectsChecks.indexOf(instance)
- if (i > -1) lingvaNormalRedirectsChecks.splice(i, 1)
+ for (const instance of [...r.cloudflareBlackList, ...r.offlineBlackList]) {
+ const a = simplyTranslateNormalCustomRedirects.indexOf(instance)
+ if (a > -1) simplyTranslateNormalCustomRedirects.splice(a, 1)
+
+ const b = lingvaNormalRedirectsChecks.indexOf(instance)
+ if (b > -1) lingvaNormalRedirectsChecks.splice(b, 1)
}
browser.storage.local.set({
translateRedirects: redirects,
- simplyTranslateNormalRedirectsChecks: redirects.simplyTranslate.normal,
- simplyTranslateTorRedirectsChecks: redirects.simplyTranslate.tor,
- simplyTranslateI2pRedirectsChecks: redirects.simplyTranslate.i2p,
- simplyTranslateLokiRedirectsChecks: redirects.simplyTranslate.loki,
+ simplyTranslateNormalRedirectsChecks,
+ simplyTranslateTorRedirectsChecks: [...redirects.simplyTranslate.tor],
+ simplyTranslateI2pRedirectsChecks: [...redirects.simplyTranslate.i2p],
+ simplyTranslateLokiRedirectsChecks: [...redirects.simplyTranslate.loki],
lingvaNormalRedirectsChecks,
- lingvaTorRedirectsChecks: redirects.lingva.tor,
+ lingvaTorRedirectsChecks: [...redirects.lingva.tor],
+ lingvaI2pRedirectsChecks: [...redirects.lingva.i2p],
+ lingvaLokiRedirectsChecks: [...redirects.lingva.loki],
})
})
}
@@ -160,33 +166,6 @@ function copyPasteLingvaLocalStorage(test, url, tabId) {
})
}
-function pasteLingvaLocalStorage() {
- return new Promise(async resolve => {
- await init()
- if (translateDisable || translateFrontend != "lingva") {
- resolve()
- return
- }
- let checkedInstances = []
- 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]
- }
- for (const to of checkedInstances)
- browser.tabs.create({ url: to }, tab =>
- browser.tabs.executeScript(tab.id, {
- file: "/assets/javascripts/translate/set_lingva_preferences.js",
- runAt: "document_start",
- })
- )
- resolve()
- })
-}
-
function copyPasteSimplyTranslateCookies(test, from) {
return new Promise(async resolve => {
await init()
@@ -223,28 +202,6 @@ function copyPasteSimplyTranslateCookies(test, from) {
})
}
-function pasteSimplyTranslateCookies() {
- return new Promise(async resolve => {
- await init()
- if (translateDisable || translateFrontend != "simplyTranslate") {
- resolve()
- return
- }
- let checkedInstances = []
- 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") {
- checkedInstances = [...simplyTranslateNormalRedirectsChecks, ...simplyTranslateNormalCustomRedirects]
- }
- utils.getCookiesFromStorage("simplyTranslate", checkedInstances, "from_lang")
- utils.getCookiesFromStorage("simplyTranslate", checkedInstances, "to_lang")
- utils.getCookiesFromStorage("simplyTranslate", checkedInstances, "tts_enabled")
- utils.getCookiesFromStorage("simplyTranslate", checkedInstances, "use_text_fields")
- resolve()
- })
-}
-
function redirect(url, disableOverride) {
if (translateDisable && !disableOverride) return
if (!targets.some(rx => rx.test(url.href))) return
@@ -320,7 +277,7 @@ function switchInstance(url, disableOverride) {
return
}
- let instancesList
+ let instancesList = []
if (protocol == "loki") {
if (translateFrontend == "simplyTranslate") instancesList = [...simplyTranslateLokiRedirectsChecks, ...simplyTranslateLokiCustomRedirects]
@@ -353,16 +310,20 @@ function initDefaults() {
return new Promise(async resolve => {
fetch("/instances/data.json")
.then(response => response.text())
- .then(data => {
+ .then(async data => {
let dataJson = JSON.parse(data)
for (let i = 0; i < frontends.length; i++) {
redirects[frontends[i]] = dataJson[frontends[i]]
}
- browser.storage.local.get("cloudflareBlackList", async r => {
+ browser.storage.local.get(["cloudflareBlackList", "offlineBlackList"], async r => {
+ simplyTranslateNormalRedirectsChecks = [...redirects.simplyTranslate.normal]
lingvaNormalRedirectsChecks = [...redirects.lingva.normal]
- for (const instance of r.cloudflareBlackList) {
- const i = lingvaNormalRedirectsChecks.indexOf(instance)
- if (i > -1) lingvaNormalRedirectsChecks.splice(i, 1)
+ for (const instance of [...r.cloudflareBlackList, ...r.offlineBlackList]) {
+ const a = simplyTranslateNormalRedirectsChecks.indexOf(instance)
+ if (a > -1) simplyTranslateNormalRedirectsChecks.splice(a, 1)
+
+ const b = lingvaNormalRedirectsChecks.indexOf(instance)
+ if (b > -1) lingvaNormalRedirectsChecks.splice(b, 1)
}
browser.storage.local.set(
{
@@ -370,7 +331,7 @@ function initDefaults() {
translateFrontend: "simplyTranslate",
translateRedirects: redirects,
- simplyTranslateNormalRedirectsChecks: [...redirects.simplyTranslate.normal],
+ simplyTranslateNormalRedirectsChecks,
simplyTranslateNormalCustomRedirects: [],
simplyTranslateTorRedirectsChecks: [...redirects.simplyTranslate.tor],
@@ -382,7 +343,7 @@ function initDefaults() {
simplyTranslateLokiRedirectsChecks: [...redirects.simplyTranslate.loki],
simplyTranslateLokiCustomRedirects: [],
- lingvaNormalRedirectsChecks: lingvaNormalRedirectsChecks,
+ lingvaNormalRedirectsChecks,
lingvaNormalCustomRedirects: [],
lingvaTorRedirectsChecks: [...redirects.lingva.tor],
@@ -403,9 +364,7 @@ function initDefaults() {
export default {
copyPasteSimplyTranslateCookies,
- pasteSimplyTranslateCookies,
copyPasteLingvaLocalStorage,
- pasteLingvaLocalStorage,
setRedirects,
redirect,
initDefaults,
diff --git a/src/assets/javascripts/twitter.js b/src/assets/javascripts/twitter.js
index 1ec4d8eb..7111ad00 100644
--- a/src/assets/javascripts/twitter.js
+++ b/src/assets/javascripts/twitter.js
@@ -17,10 +17,10 @@ for (let i = 0; i < frontends.length; i++) {
}
function setRedirects(val) {
- browser.storage.local.get(["cloudflareBlackList", "authenticateBlackList"], r => {
+ browser.storage.local.get(["cloudflareBlackList", "authenticateBlackList", "offlineBlackList"], r => {
redirects.nitter = val
nitterNormalRedirectsChecks = [...redirects.nitter.normal]
- for (const instance of [...r.cloudflareBlackList, ...r.authenticateBlackList]) {
+ for (const instance of [...r.cloudflareBlackList, ...r.authenticateBlackList, ...r.offlineBlackList]) {
let i = nitterNormalRedirectsChecks.indexOf(instance)
if (i > -1) nitterNormalRedirectsChecks.splice(i, 1)
}
@@ -28,6 +28,8 @@ function setRedirects(val) {
twitterRedirects: redirects,
nitterNormalRedirectsChecks,
nitterTorRedirectsChecks: [...redirects.nitter.tor],
+ nitterI2pRedirectsChecks: [...redirects.nitter.i2p],
+ nitterLokiRedirectsChecks: [...redirects.nitter.loki],
})
})
}
@@ -215,43 +217,6 @@ function initNitterCookies(test, from) {
})
}
-function pasteNitterCookies() {
- return new Promise(async resolve => {
- await init()
- if (disableTwitter || protocol === undefined) {
- resolve()
- return
- }
- let checkedInstances = []
- 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]
- }
- utils.getCookiesFromStorage("nitter", checkedInstances, "theme")
- utils.getCookiesFromStorage("nitter", checkedInstances, "infiniteScroll")
- utils.getCookiesFromStorage("nitter", checkedInstances, "stickyProfile")
- utils.getCookiesFromStorage("nitter", checkedInstances, "bidiSupport")
- utils.getCookiesFromStorage("nitter", checkedInstances, "hideTweetStats")
- utils.getCookiesFromStorage("nitter", checkedInstances, "hideBanner")
- utils.getCookiesFromStorage("nitter", checkedInstances, "hidePins")
- utils.getCookiesFromStorage("nitter", checkedInstances, "hideReplies")
- utils.getCookiesFromStorage("nitter", checkedInstances, "squareAvatars")
- utils.getCookiesFromStorage("nitter", checkedInstances, "mp4Playback")
- utils.getCookiesFromStorage("nitter", checkedInstances, "hlsPlayback")
- utils.getCookiesFromStorage("nitter", checkedInstances, "proxyVideos")
- utils.getCookiesFromStorage("nitter", checkedInstances, "muteVideos")
- utils.getCookiesFromStorage("nitter", checkedInstances, "autoplayGifs")
-
- utils.getCookiesFromStorage("nitter", checkedInstances, "replaceInstagram")
- utils.getCookiesFromStorage("nitter", checkedInstances, "replaceReddit")
- utils.getCookiesFromStorage("nitter", checkedInstances, "replaceTwitter")
- utils.getCookiesFromStorage("nitter", checkedInstances, "replaceYouTube")
- resolve()
- })
-}
-
function initDefaults() {
return new Promise(resolve => {
fetch("/instances/data.json")
@@ -261,9 +226,9 @@ function initDefaults() {
for (let i = 0; i < frontends.length; i++) {
redirects[frontends[i]] = dataJson[frontends[i]]
}
- browser.storage.local.get(["cloudflareBlackList", "authenticateBlackList"], async r => {
+ browser.storage.local.get(["cloudflareBlackList", "authenticateBlackList", "offlineBlackList"], async r => {
nitterNormalRedirectsChecks = [...redirects.nitter.normal]
- for (const instance of [...r.cloudflareBlackList, ...r.authenticateBlackList]) {
+ for (const instance of [...r.cloudflareBlackList, ...r.authenticateBlackList, ...r.offlineBlackList]) {
let i = nitterNormalRedirectsChecks.indexOf(instance)
if (i > -1) nitterNormalRedirectsChecks.splice(i, 1)
}
@@ -273,7 +238,7 @@ function initDefaults() {
twitterRedirects: redirects,
twitterRedirectType: "both",
- nitterNormalRedirectsChecks: nitterNormalRedirectsChecks,
+ nitterNormalRedirectsChecks,
nitterNormalCustomRedirects: [],
nitterTorRedirectsChecks: [...redirects.nitter.tor],
@@ -299,6 +264,5 @@ export default {
reverse,
removeXFrameOptions,
initNitterCookies,
- pasteNitterCookies,
initDefaults,
}
diff --git a/src/assets/javascripts/utils.js b/src/assets/javascripts/utils.js
index 9a7d37b3..50ada765 100644
--- a/src/assets/javascripts/utils.js
+++ b/src/assets/javascripts/utils.js
@@ -25,13 +25,15 @@ function getRandomInstance(instances) {
let cloudflareBlackList = []
let authenticateBlackList = []
-async function initcloudflareBlackList() {
+let offlineBlackList = []
+async function initBlackList() {
return new Promise(resolve => {
fetch("/instances/blacklist.json")
.then(response => response.text())
.then(data => {
cloudflareBlackList = JSON.parse(data).cloudflare
authenticateBlackList = JSON.parse(data).authenticate
+ offlineBlackList = JSON.parse(data).offline
resolve()
})
})
@@ -53,13 +55,14 @@ function updateInstances() {
return
}
}
- await initcloudflareBlackList()
+ await initBlackList()
const instances = JSON.parse(http.responseText)
youtubeHelper.setRedirects({
invidious: instances.invidious,
piped: instances.piped,
pipedMaterial: instances.pipedMaterial,
+ cloudtube: instances.cloudtube,
})
twitterHelper.setRedirects(instances.nitter)
instagramHelper.setRedirects(instances.bibliogram)
@@ -114,7 +117,7 @@ async function processDefaultCustomInstances(target, name, protocol, document) {
let nameCustomInstances = []
let nameCheckListElement = nameProtocolElement.getElementsByClassName("checklist")[0]
- await initcloudflareBlackList()
+ await initBlackList()
let nameDefaultRedirects
@@ -162,6 +165,7 @@ async function processDefaultCustomInstances(target, name, protocol, document) {
...redirects[name][protocol].map(x => {
const cloudflare = cloudflareBlackList.includes(x) ? ' <span style="color:red;">cloudflare</span>' : ""
const authenticate = authenticateBlackList.includes(x) ? ' <span style="color:orange;">authenticate</span>' : ""
+ const offline = offlineBlackList.includes(x) ? ' <span style="color:grey;">offline</span>' : ""
let ms = instancesLatency[x]
let latencyColor = ms <= 1000 ? "green" : ms <= 2000 ? "orange" : "red"
@@ -172,7 +176,7 @@ async function processDefaultCustomInstances(target, name, protocol, document) {
const latency = x in instancesLatency ? '<span style="color:' + latencyColor + ';">' + latencyLimit + "</span>" : ""
- let warnings = [cloudflare, authenticate, latency].join(" ")
+ let warnings = [cloudflare, authenticate, offline, latency].join(" ")
return `<div>
<x><a href="${x}" target="_blank">${x}</a>${warnings}</x>
<input type="checkbox" class="${x}"/>
@@ -247,34 +251,57 @@ async function processDefaultCustomInstances(target, name, protocol, document) {
})
}
-async function ping(href) {
+function ping(href) {
return new Promise(async resolve => {
+ let average = 0
+ let time
+ for (let i = 0; i < 3; i++) {
+ time = await pingOnce(href)
+ if (i == 0) continue
+ if (time >= 5000) {
+ resolve(time)
+ return
+ }
+ average += time
+ }
+ average = parseInt(average / 3)
+ resolve(average)
+ })
+}
+
+function pingOnce(href) {
+ return new Promise(async resolve => {
+ let started
let http = new XMLHttpRequest()
- http.open("GET", `${href}?_=${new Date().getTime()}`, /*async*/ true)
http.timeout = 5000
- let started = new Date().getTime()
+ http.ontimeout = () => resolve(5000)
+ http.onerror = () => resolve()
http.onreadystatechange = () => {
if (http.readyState == 2) {
if (http.status == 200) {
let ended = new Date().getTime()
http.abort()
resolve(ended - started)
- } else resolve(5000 + http.status)
+ } else {
+ resolve(5000 + http.status)
+ }
}
}
- http.ontimeout = () => resolve(5000)
- http.onerror = () => resolve()
- try {
- http.send(null)
- } catch (exception) {
- resolve()
- }
+ http.open("GET", `${href}?_=${new Date().getTime()}`, true)
+ started = new Date().getTime()
+ http.send(null)
})
}
-async function testLatency(element, instances) {
+async function testLatency(element, instances, frontend) {
return new Promise(async resolve => {
let myList = {}
+ let latencyThreshold
+ let redirectsChecks = []
+ browser.storage.local.get(["latencyThreshold", `${frontend}NormalRedirectsChecks`], r => {
+ latencyThreshold = r.latencyThreshold
+ redirectsChecks = r[`${frontend}NormalRedirectsChecks`]
+ })
for (const href of instances)
await ping(href).then(time => {
if (time) {
@@ -284,6 +311,12 @@ async function testLatency(element, instances) {
else if (time <= 2000) color = "orange"
else color = "red"
+ if (time > latencyThreshold) {
+ redirectsChecks.splice(redirectsChecks.indexOf(href), 1)
+ }
+
+ browser.storage.local.set({ [`${frontend}NormalRedirectsChecks`]: redirectsChecks })
+
let text
if (time == 5000) text = "5000ms+"
else if (time > 5000) text = `ERROR: ${time - 5000}`
@@ -299,7 +332,11 @@ function copyCookie(frontend, targetUrl, urls, name) {
return new Promise(resolve => {
browser.storage.local.get("firstPartyIsolate", r => {
let query
- if (!r.firstPartyIsolate) query = { url: protocolHost(targetUrl), name: name }
+ if (!r.firstPartyIsolate)
+ query = {
+ url: protocolHost(targetUrl),
+ name: name,
+ }
else
query = {
url: protocolHost(targetUrl),
@@ -325,7 +362,7 @@ function copyCookie(frontend, targetUrl, urls, name) {
secure: true,
expirationDate: cookie.expirationDate,
}
- browser.cookies.set(setQuery, () => browser.storage.local.set({ [`${frontend}_${name}`]: cookie }, () => resolve()))
+ browser.cookies.set(setQuery)
}
break
}
@@ -335,30 +372,25 @@ function copyCookie(frontend, targetUrl, urls, name) {
})
}
-function getCookiesFromStorage(frontend, urls, name) {
- let key = `${frontend}_${name}`
- browser.storage.local.get([key, "firstPartyIsolate"], r => {
- const cookie = r[key]
- if (cookie === undefined) return
- for (const url of urls) {
- let query = r.firstPartyIsolate
- ? {
- url: url,
- name: cookie.name,
- value: cookie.value,
- secure: true,
- expirationDate: null,
- firstPartyDomain: new URL(url).hostname,
- }
- : {
- url: url,
- name: cookie.name,
- value: cookie.value,
- secure: true,
- expirationDate: cookie.expirationDate,
- }
- browser.cookies.set(query)
- }
+function getPreferencesFromToken(frontend, targetUrl, urls, name, endpoint) {
+ return new Promise(resolve => {
+ browser.storage.local.get("firstPartyIsolate", r => {
+ const http = new XMLHttpRequest()
+ const url = `${targetUrl}${endpoint}`
+ http.open("GET", url, false)
+ http.setRequestHeader("Cookie", `${name}=${cookie.value}`)
+ http.send(null)
+ const preferences = JSON.parse(http.responseText)
+ let formdata = new FormData()
+ for (var key in preferences) formdata.append(key, preferences[key])
+ for (const url of urls) {
+ const http = new XMLHttpRequest()
+ http.open("POST", `${url}/settings/stay`, false)
+ http.send(null)
+ }
+ resolve()
+ return
+ })
})
}
@@ -412,10 +444,6 @@ function unify(test) {
resolve()
return
}
- if (currTab.incognito) {
- resolve()
- return
- }
let result = await youtubeHelper.copyPasteInvidiousCookies(test, url)
if (!result) result = await youtubeHelper.copyPastePipedLocalStorage(test, url, currTab.id)
@@ -431,6 +459,7 @@ function unify(test) {
if (!result) result = await wikipediaHelper.initWikilessCookies(test, url)
if (!result) result = await translateHelper.copyPasteSimplyTranslateCookies(test, url)
if (!result) result = await translateHelper.copyPasteLingvaLocalStorage(test, url)
+ if (!result) result = await instagramHelper.initBibliogramPreferences(test, url)
resolve(result)
}
@@ -482,12 +511,12 @@ function latency(name, frontend, document, location) {
latencyElement.addEventListener("click", async () => {
let reloadWindow = () => location.reload()
latencyElement.addEventListener("click", reloadWindow)
- let key = `${name}Redirects`
+ let key = `${name} Redirects`
browser.storage.local.get(key, r => {
let redirects = r[key]
const oldHtml = latencyLabel.innerHTML
latencyLabel.innerHTML = "..."
- testLatency(latencyLabel, redirects[frontend].normal).then(r => {
+ testLatency(latencyLabel, redirects[frontend].normal, frontend).then(r => {
browser.storage.local.set({ [`${frontend}Latency`]: r })
latencyLabel.innerHTML = oldHtml
processDefaultCustomInstances(name, frontend, "normal", document)
@@ -504,7 +533,7 @@ export default {
processDefaultCustomInstances,
latency,
copyCookie,
- getCookiesFromStorage,
+ getPreferencesFromToken,
switchInstance,
copyRaw,
unify,
diff --git a/src/assets/javascripts/wikipedia.js b/src/assets/javascripts/wikipedia.js
index cf19b208..2d0f75a1 100644
--- a/src/assets/javascripts/wikipedia.js
+++ b/src/assets/javascripts/wikipedia.js
@@ -17,16 +17,19 @@ for (let i = 0; i < frontends.length; i++) {
}
function setRedirects(val) {
- browser.storage.local.get("cloudflareBlackList", r => {
+ browser.storage.local.get(["cloudflareBlackList", "offlineBlackList"], r => {
redirects.wikiless = val
wikilessNormalRedirectsChecks = [...redirects.wikiless.normal]
- for (const instance of r.cloudflareBlackList) {
+ for (const instance of [...r.cloudflareBlackList, ...r.offlineBlackList]) {
const a = wikilessNormalRedirectsChecks.indexOf(instance)
if (a > -1) wikilessNormalRedirectsChecks.splice(a, 1)
}
browser.storage.local.set({
wikipediaRedirects: redirects,
wikilessNormalRedirectsChecks,
+ wikilessTorRedirectsChecks: [...redirects.wikiless.tor],
+ wikilessI2pRedirectsChecks: [...redirects.wikiless.i2p],
+ wikilessLokiRedirectsChecks: [...redirects.wikiless.loki],
})
})
}
@@ -113,26 +116,6 @@ function initWikilessCookies(test, from) {
})
}
-function pasteWikilessCookies() {
- return new Promise(async resolve => {
- await init()
- if (disableWikipedia || protocol === undefined) {
- resolve()
- return
- }
- let checkedInstances = []
- 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]
- }
- utils.getCookiesFromStorage("wikiless", checkedInstances, "theme")
- utils.getCookiesFromStorage("wikiless", checkedInstances, "default_lang")
- resolve()
- })
-}
-
function redirect(url, disableOverride) {
if (disableWikipedia && !disableOverride) return
if (!targets.test(url.href)) return
@@ -220,18 +203,18 @@ function initDefaults() {
for (let i = 0; i < frontends.length; i++) {
redirects[frontends[i]] = dataJson[frontends[i]]
}
- browser.storage.local.get("cloudflareBlackList", async r => {
+ browser.storage.local.get(["cloudflareBlackList", "offlineBlackList"], async r => {
wikilessNormalRedirectsChecks = [...redirects.wikiless.normal]
- for (const instance of r.cloudflareBlackList) {
- let i = wikilessNormalRedirectsChecks.indexOf(instance)
- if (i > -1) wikilessNormalRedirectsChecks.splice(i, 1)
+ for (const instance of [...r.cloudflareBlackList, ...r.offlineBlackList]) {
+ const a = wikilessNormalRedirectsChecks.indexOf(instance)
+ if (a > -1) wikilessNormalRedirectsChecks.splice(a, 1)
}
browser.storage.local.set(
{
disableWikipedia: true,
wikipediaRedirects: redirects,
- wikilessNormalRedirectsChecks: wikilessNormalRedirectsChecks,
+ wikilessNormalRedirectsChecks,
wikilessNormalCustomRedirects: [],
wikilessTorRedirectsChecks: [...redirects.wikiless.tor],
@@ -252,10 +235,7 @@ function initDefaults() {
export default {
setRedirects,
-
initWikilessCookies,
- pasteWikilessCookies,
-
redirect,
initDefaults,
switchInstance,
diff --git a/src/assets/javascripts/youtube/youtube.js b/src/assets/javascripts/youtube/youtube.js
index e8a77ff6..32f06b9c 100644
--- a/src/assets/javascripts/youtube/youtube.js
+++ b/src/assets/javascripts/youtube/youtube.js
@@ -30,14 +30,13 @@ for (let i = 0; i < frontends.length; i++) {
}
function setRedirects(val) {
- browser.storage.local.get("cloudflareBlackList", r => {
- for (let i = 0; i < frontends.length; i++) {
- redirects.frontends = val.frontends
- }
+ browser.storage.local.get(["cloudflareBlackList", "offlineBlackList"], r => {
+ redirects = val
invidiousNormalRedirectsChecks = [...redirects.invidious.normal]
pipedNormalRedirectsChecks = [...redirects.piped.normal]
pipedMaterialNormalRedirectsChecks = [...redirects.pipedMaterial.normal]
- for (const instance of r.cloudflareBlackList) {
+ cloudtubeNormalRedirectsChecks = [...redirects.cloudtube.normal]
+ for (const instance of [...r.cloudflareBlackList, ...r.offlineBlackList]) {
const a = invidiousNormalRedirectsChecks.indexOf(instance)
if (a > -1) invidiousNormalRedirectsChecks.splice(a, 1)
@@ -53,9 +52,21 @@ function setRedirects(val) {
browser.storage.local.set({
youtubeRedirects: redirects,
invidiousNormalRedirectsChecks,
+ invidiousTorRedirectsChecks: [...redirects.invidious.tor],
+ invidiousI2pRedirectsChecks: [...redirects.invidious.i2p],
+ invidiousLokiRedirectsChecks: [...redirects.invidious.loki],
pipedNormalRedirectsChecks,
+ pipedTorRedirectsChecks: [...redirects.piped.tor],
+ pipedI2pRedirectsChecks: [...redirects.piped.i2p],
+ pipedLokiRedirectsChecks: [...redirects.piped.loki],
pipedMaterialNormalRedirectsChecks,
+ pipedMaterialTorRedirectsChecks: [...redirects.pipedMaterial.tor],
+ pipedMaterialI2pRedirectsChecks: [...redirects.pipedMaterial.i2p],
+ pipedMaterialLokiRedirectsChecks: [...redirects.pipedMaterial.loki],
cloudtubeNormalRedirectsChecks,
+ cloudtubeTorRedirectsChecks: [...redirects.cloudtube.tor],
+ cloudtubeI2pRedirectsChecks: [...redirects.cloudtube.i2p],
+ cloudtubeLokiRedirectsChecks: [...redirects.cloudtube.loki],
})
})
}
@@ -450,13 +461,12 @@ function initDefaults() {
for (let i = 0; i < frontends.length; i++) {
redirects[frontends[i]] = dataJson[frontends[i]]
}
- browser.storage.local.get("cloudflareBlackList", async r => {
+ browser.storage.local.get(["cloudflareBlackList", "offlineBlackList"], async r => {
invidiousNormalRedirectsChecks = [...redirects.invidious.normal]
pipedNormalRedirectsChecks = [...redirects.piped.normal]
pipedMaterialNormalRedirectsChecks = [...redirects.pipedMaterial.normal]
cloudtubeNormalRedirectsChecks = [...redirects.cloudtube.normal]
-
- for (const instance of r.cloudflareBlackList) {
+ for (const instance of [...r.cloudflareBlackList, ...r.offlineBlackList]) {
const a = invidiousNormalRedirectsChecks.indexOf(instance)
if (a > -1) invidiousNormalRedirectsChecks.splice(a, 1)
@@ -467,9 +477,8 @@ function initDefaults() {
if (c > -1) pipedMaterialNormalRedirectsChecks.splice(c, 1)
const d = cloudtubeNormalRedirectsChecks.indexOf(instance)
- if (d > -1) cloudtubeNormalRedirectsChecks.indexOf(instance)
+ if (c > -1) cloudtubeNormalRedirectsChecks.splice(d, 1)
}
-
browser.storage.local.set(
{
disableYoutube: false,
@@ -478,7 +487,7 @@ function initDefaults() {
youtubeRedirects: redirects,
youtubeFrontend: "invidious",
- invidiousNormalRedirectsChecks: invidiousNormalRedirectsChecks,
+ invidiousNormalRedirectsChecks,
invidiousNormalCustomRedirects: [],
invidiousTorRedirectsChecks: [...redirects.invidious.tor],
@@ -490,7 +499,7 @@ function initDefaults() {
invidiousLokiRedirectsChecks: [...redirects.invidious.loki],
invidiousLokiCustomRedirects: [],
- pipedNormalRedirectsChecks: pipedNormalRedirectsChecks,
+ pipedNormalRedirectsChecks,
pipedNormalCustomRedirects: [],
pipedTorRedirectsChecks: [...redirects.piped.tor],
@@ -573,25 +582,6 @@ function copyPasteInvidiousCookies(test, from) {
})
}
-function pasteInvidiousCookies() {
- return new Promise(async resolve => {
- await init()
- if (disableYoutube || youtubeFrontend != "invidious") {
- resolve()
- return
- }
- let checkedInstances = []
- if (protocol == "loki") checkedInstances = [...invidiousLokiCustomRedirects]
- else if (protocol == "i2p") checkedInstances = [...invidiousI2pCustomRedirects]
- else if (protocol == "tor") checkedInstances = [...invidiousTorRedirectsChecks, ...invidiousTorCustomRedirects]
- if ((checkedInstances.length === 0 && protocolFallback) || protocol == "normal") {
- checkedInstances = [...invidiousNormalRedirectsChecks, ...invidiousNormalCustomRedirects]
- }
- utils.getCookiesFromStorage("invidious", checkedInstances, "PREFS")
- resolve()
- })
-}
-
function copyPastePipedLocalStorage(test, url, tabId) {
return new Promise(async resolve => {
await init()
@@ -619,7 +609,7 @@ function copyPastePipedLocalStorage(test, url, tabId) {
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") {
+ if ((checkedInstances.length === 0 && protocolFallback) || protocol == "normal") {
checkedInstances = [...pipedNormalCustomRedirects, ...pipedNormalRedirectsChecks]
}
const i = checkedInstances.indexOf(protocolHost)
@@ -636,31 +626,6 @@ function copyPastePipedLocalStorage(test, url, tabId) {
resolve(true)
})
}
-function pastePipedLocalStorage() {
- return new Promise(async resolve => {
- await init()
- if (disableYoutube || youtubeFrontend != "piped") {
- resolve()
- return
- }
- let checkedInstances = []
- 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]
- }
- for (const to of checkedInstances) {
- browser.tabs.create({ url: to }, tab =>
- browser.tabs.executeScript(tab.id, {
- file: "/assets/javascripts/youtube/set_piped_preferences.js",
- runAt: "document_start",
- })
- )
- }
- resolve()
- })
-}
function copyPastePipedMaterialLocalStorage(test, url, tabId) {
return new Promise(async resolve => {
@@ -711,32 +676,6 @@ function copyPastePipedMaterialLocalStorage(test, url, tabId) {
})
}
-function pastePipedMaterialLocalStorage() {
- return new Promise(async resolve => {
- await init()
- if (disableYoutube || youtubeFrontend != "pipedMaterial") {
- resolve()
- return
- }
- let checkedInstances = []
- if (protocol == "loki") checkedInstances = [...pipedMaterialLokiCustomRedirects]
- else if (protocol == "i2p") checkedInstances = [...pipedMaterialI2pCustomRedirects]
- else if (protocol == "tor") checkedInstances = [...pipedMaterialTorCustomRedirects] //...pipedMaterialTorRedirectsChecks,
- if ((instancesList.length === 0 && protocolFallback) || protocol == "normal") {
- checkedInstances = [...pipedMaterialNormalRedirectsChecks, ...pipedMaterialNormalCustomRedirects]
- }
- for (const to of checkedInstances) {
- browser.tabs.create({ url: to }, tab =>
- browser.tabs.executeScript(tab.id, {
- file: "/assets/javascripts/youtube/set_pipedMaterial_preferences.js",
- runAt: "document_start",
- })
- )
- }
- resolve()
- })
-}
-
function removeXFrameOptions(e) {
let isChanged = false
@@ -843,11 +782,8 @@ function removeXFrameOptions(e) {
export default {
setRedirects,
copyPastePipedLocalStorage,
- pastePipedLocalStorage,
copyPastePipedMaterialLocalStorage,
- pastePipedMaterialLocalStorage,
copyPasteInvidiousCookies,
- pasteInvidiousCookies,
redirect,
reverse,
switchInstance,
diff --git a/src/assets/javascripts/youtubeMusic.js b/src/assets/javascripts/youtubeMusic.js
index 3ff9a174..5d980cfe 100644
--- a/src/assets/javascripts/youtubeMusic.js
+++ b/src/assets/javascripts/youtubeMusic.js
@@ -19,11 +19,11 @@ for (let i = 0; i < frontends.length; i++) {
}
function setRedirects(val) {
- browser.storage.local.get("cloudflareBlackList", r => {
+ browser.storage.local.get(["cloudflareBlackList", "offlineBlackList"], r => {
redirects = val
beatbumpNormalRedirectsChecks = [...redirects.beatbump.normal]
hyperpipeNormalRedirectsChecks = [...redirects.hyperpipe.normal]
- for (const instance of r.cloudflareBlackList) {
+ for (const instance of [...r.cloudflareBlackList, ...r.offlineBlackList]) {
const a = beatbumpNormalRedirectsChecks.indexOf(instance)
if (a > -1) beatbumpNormalRedirectsChecks.splice(a, 1)
@@ -33,7 +33,13 @@ function setRedirects(val) {
browser.storage.local.set({
youtubeMusicRedirects: redirects,
beatbumpNormalRedirectsChecks,
+ beatbumpTorRedirectsChecks: [...redirects.beatbump.tor],
+ beatbumpI2pRedirectsChecks: [...redirects.beatbump.i2p],
+ beatbumpLokiRedirectsChecks: [...redirects.beatbump.loki],
hyperpipeNormalRedirectsChecks,
+ hyperpipeTorRedirectsChecks: [...redirects.hyperpipe.tor],
+ hyperpipeI2pRedirectsChecks: [...redirects.hyperpipe.i2p],
+ hyperpipeLokiRedirectsChecks: [...redirects.hyperpipe.loki],
})
})
}
@@ -181,7 +187,7 @@ function getUrl(randomInstance, url) {
.replace("/watch?v=", "/listen?id=")
.replace("/channel/", "/artist/")
.replace("/playlist?list=", "/playlist/VL")
- .replace(/\/search\?q=.*/, searchQuery => searchQuery.replace("?q=", "/") + "?filter=EgWKAQIIAWoKEAMQBBAKEAkQBQ%3D%3D")
+ .replace(/\/search\?q=.*/, searchQuery => searchQuery.replace("?q=", "/") + "?filter=song")
case "hyperpipe":
return `${randomInstance}${url.pathname}${url.search}`.replace(/\/search\?q=.*/, searchQuery => searchQuery.replace("?q=", "/"))
}
@@ -266,17 +272,15 @@ function initDefaults() {
for (let i = 0; i < frontends.length; i++) {
redirects[frontends[i]] = dataJson[frontends[i]]
}
- browser.storage.local.get("cloudflareBlackList", async r => {
+ browser.storage.local.get(["cloudflareBlackList", "offlineBlackList"], async r => {
beatbumpNormalRedirectsChecks = [...redirects.beatbump.normal]
hyperpipeNormalRedirectsChecks = [...redirects.hyperpipe.normal]
- for (const instance of r.cloudflareBlackList) {
- let i
+ for (const instance of [...r.cloudflareBlackList, ...r.offlineBlackList]) {
+ const a = beatbumpNormalRedirectsChecks.indexOf(instance)
+ if (a > -1) beatbumpNormalRedirectsChecks.splice(a, 1)
- i = beatbumpNormalRedirectsChecks.indexOf(instance)
- if (i > -1) beatbumpNormalRedirectsChecks.splice(i, 1)
-
- i = hyperpipeNormalRedirectsChecks.indexOf(instance)
- if (i > -1) hyperpipeNormalRedirectsChecks.splice(i, 1)
+ const b = hyperpipeNormalRedirectsChecks.indexOf(instance)
+ if (b > -1) hyperpipeNormalRedirectsChecks.splice(b, 1)
}
browser.storage.local.set(
{
@@ -284,7 +288,7 @@ function initDefaults() {
youtubeMusicFrontend: "hyperpipe",
youtubeMusicRedirects: redirects,
- beatbumpNormalRedirectsChecks: beatbumpNormalRedirectsChecks,
+ beatbumpNormalRedirectsChecks,
beatbumpNormalCustomRedirects: [],
beatbumpTorRedirectsChecks: [...redirects.beatbump.tor],
@@ -296,7 +300,7 @@ function initDefaults() {
beatbumpLokiRedirectsChecks: [...redirects.beatbump.loki],
beatbumpLokiCustomRedirects: [],
- hyperpipeNormalRedirectsChecks: hyperpipeNormalRedirectsChecks,
+ hyperpipeNormalRedirectsChecks,
hyperpipeNormalCustomRedirects: [],
hyperpipeTorRedirectsChecks: [...redirects.hyperpipe.tor],