Merge pull request 'Latency threshold and offline instances' (https://codeberg.org/LibRedirect/libredirect/pulls/14) from latency into master
Reviewed-on: https://codeberg.org/LibRedirect/libredirect/pulls/14
This commit is contained in:
commit
449cd43aec
|
@ -101,7 +101,7 @@ npm run start
|
||||||
### Install temporarily
|
### Install temporarily
|
||||||
|
|
||||||
open `about:addons`\
|
open `about:addons`\
|
||||||
click on the settings button below the addon search bar and select `debug add-on`\
|
type in the address bar `about:debugging`\
|
||||||
press `load temporarily addon`
|
press `load temporarily addon`
|
||||||
|
|
||||||
### Install in Firefox ESR, Developer Edition, Nightly
|
### Install in Firefox ESR, Developer Edition, Nightly
|
||||||
|
|
Before Width: | Height: | Size: 26 KiB After Width: | Height: | Size: 26 KiB |
|
@ -32,6 +32,7 @@ async function initDefaults() {
|
||||||
firstPartyIsolate: false,
|
firstPartyIsolate: false,
|
||||||
protocol: "normal",
|
protocol: "normal",
|
||||||
protocolFallback: true,
|
protocolFallback: true,
|
||||||
|
latencyThreshold: 1000,
|
||||||
},
|
},
|
||||||
() => resolve()
|
() => resolve()
|
||||||
)
|
)
|
||||||
|
|
|
@ -17,16 +17,19 @@ for (let i = 0; i < frontends.length; i++) {
|
||||||
}
|
}
|
||||||
|
|
||||||
function setRedirects(val) {
|
function setRedirects(val) {
|
||||||
browser.storage.local.get("cloudflareBlackList", r => {
|
browser.storage.local.get(["cloudflareBlackList", "offlineBlackList"], r => {
|
||||||
redirects.libremdb = val
|
redirects.libremdb = val
|
||||||
libremdbNormalRedirectsChecks = [...redirects.libremdb.normal]
|
libremdbNormalRedirectsChecks = [...redirects.libremdb.normal]
|
||||||
for (const instance of r.cloudflareBlackList) {
|
for (const instance of [...r.cloudflareBlackList, ...r.offlineBlackList]) {
|
||||||
const a = libremdbNormalRedirectsChecks.indexOf(instance)
|
const a = libremdbNormalRedirectsChecks.indexOf(instance)
|
||||||
if (a > -1) libremdbNormalRedirectsChecks.splice(a, 1)
|
if (a > -1) libremdbNormalRedirectsChecks.splice(a, 1)
|
||||||
}
|
}
|
||||||
browser.storage.local.set({
|
browser.storage.local.set({
|
||||||
imdbRedirects: redirects,
|
imdbRedirects: redirects,
|
||||||
libremdbNormalRedirectsChecks,
|
libremdbNormalRedirectsChecks,
|
||||||
|
libremdbTorRedirectsChecks: [...redirects.libremdb.tor],
|
||||||
|
libremdbI2pRedirectsChecks: [...redirects.libremdb.i2p],
|
||||||
|
libremdbLokiRedirectsChecks: [...redirects.libremdb.loki],
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
@ -172,12 +175,18 @@ function initDefaults() {
|
||||||
for (let i = 0; i < frontends.length; i++) {
|
for (let i = 0; i < frontends.length; i++) {
|
||||||
redirects[frontends[i]] = dataJson[frontends[i]]
|
redirects[frontends[i]] = dataJson[frontends[i]]
|
||||||
}
|
}
|
||||||
|
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(
|
browser.storage.local.set(
|
||||||
{
|
{
|
||||||
disableImdb: true,
|
disableImdb: true,
|
||||||
imdbRedirects: redirects,
|
imdbRedirects: redirects,
|
||||||
|
|
||||||
libremdbNormalRedirectsChecks: [...redirects.libremdb.normal],
|
libremdbNormalRedirectsChecks,
|
||||||
libremdbNormalCustomRedirects: [],
|
libremdbNormalCustomRedirects: [],
|
||||||
|
|
||||||
libremdbTorRedirectsChecks: [...redirects.libremdb.tor],
|
libremdbTorRedirectsChecks: [...redirects.libremdb.tor],
|
||||||
|
@ -193,6 +202,7 @@ function initDefaults() {
|
||||||
)
|
)
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
|
|
|
@ -16,38 +16,20 @@ for (let i = 0; i < frontends.length; i++) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function setRedirects() {
|
function setRedirects(val) {
|
||||||
return new Promise(resolve => {
|
browser.storage.local.get(["cloudflareBlackList", "offlineBlackList"], r => {
|
||||||
fetch("/instances/data.json")
|
redirects.rimgo = val
|
||||||
.then(response => response.text())
|
|
||||||
.then(async data => {
|
|
||||||
let dataJson = JSON.parse(data)
|
|
||||||
redirects.rimgo = dataJson.rimgo
|
|
||||||
|
|
||||||
rimgoNormalRedirectsChecks = [...redirects.rimgo.normal]
|
rimgoNormalRedirectsChecks = [...redirects.rimgo.normal]
|
||||||
rimgoTorRedirectsChecks = [...redirects.rimgo.tor]
|
for (const instance of [...r.cloudflareBlackList, ...r.offlineBlackList]) {
|
||||||
rimgoI2pRedirectsChecks = [...redirects.rimgo.i2p]
|
|
||||||
|
|
||||||
for (const instance of r.cloudflareBlackList) {
|
|
||||||
const a = rimgoNormalRedirectsChecks.indexOf(instance)
|
const a = rimgoNormalRedirectsChecks.indexOf(instance)
|
||||||
if (a > -1) rimgoNormalRedirectsChecks.splice(a, 1)
|
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({
|
||||||
browser.storage.local.set(
|
|
||||||
{
|
|
||||||
imgurRedirects: redirects,
|
imgurRedirects: redirects,
|
||||||
rimgoNormalRedirectsChecks,
|
rimgoNormalRedirectsChecks,
|
||||||
rimgoTorRedirectsChecks,
|
rimgoTorRedirectsChecks: [...redirects.rimgo.tor],
|
||||||
rimgoI2pRedirectsChecks,
|
rimgoI2pRedirectsChecks: [...redirects.rimgo.i2p],
|
||||||
},
|
rimgoLokiRedirectsChecks: [...redirects.rimgo.loki],
|
||||||
() => resolve()
|
|
||||||
)
|
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
@ -195,11 +177,11 @@ function initDefaults() {
|
||||||
for (let i = 0; i < frontends.length; i++) {
|
for (let i = 0; i < frontends.length; i++) {
|
||||||
redirects[frontends[i]] = dataJson[frontends[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]
|
rimgoNormalRedirectsChecks = [...redirects.rimgo.normal]
|
||||||
for (const instance of r.cloudflareBlackList) {
|
for (const instance of [...r.cloudflareBlackList, ...r.offlineBlackList]) {
|
||||||
const i = rimgoNormalRedirectsChecks.indexOf(instance)
|
const a = rimgoNormalRedirectsChecks.indexOf(instance)
|
||||||
if (i > -1) rimgoNormalRedirectsChecks.splice(i, 1)
|
if (a > -1) rimgoNormalRedirectsChecks.splice(a, 1)
|
||||||
}
|
}
|
||||||
browser.storage.local.set(
|
browser.storage.local.set(
|
||||||
{
|
{
|
||||||
|
|
|
@ -16,16 +16,19 @@ for (let i = 0; i < frontends.length; i++) {
|
||||||
}
|
}
|
||||||
|
|
||||||
function setRedirects(val) {
|
function setRedirects(val) {
|
||||||
browser.storage.local.get("cloudflareBlackList", async r => {
|
browser.storage.local.get(["cloudflareBlackList", "offlineBlackList"], async r => {
|
||||||
redirects.bibliogram = val
|
redirects.bibliogram = val
|
||||||
bibliogramNormalRedirectsChecks = [...redirects.bibliogram.normal]
|
bibliogramNormalRedirectsChecks = [...redirects.bibliogram.normal]
|
||||||
for (const instance of r.cloudflareBlackList) {
|
for (const instance of [...r.cloudflareBlackList, ...r.offlineBlackList]) {
|
||||||
const a = bibliogramNormalRedirectsChecks.indexOf(instance)
|
const a = bibliogramNormalRedirectsChecks.indexOf(instance)
|
||||||
if (a > -1) bibliogramNormalRedirectsChecks.splice(a, 1)
|
if (a > -1) bibliogramNormalRedirectsChecks.splice(a, 1)
|
||||||
}
|
}
|
||||||
browser.storage.local.set({
|
browser.storage.local.set({
|
||||||
instagramRedirects: redirects,
|
instagramRedirects: redirects,
|
||||||
bibliogramNormalRedirectsChecks,
|
bibliogramNormalRedirectsChecks,
|
||||||
|
bibliogramTorRedirectsChecks: [...redirects.bibliogram.tor],
|
||||||
|
bibliogramI2pRedirectsChecks: [...redirects.bibliogram.i2p],
|
||||||
|
bibliogramLokiRedirectsChecks: [...redirects.bibliogram.loki],
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
@ -203,17 +206,17 @@ function initDefaults() {
|
||||||
for (let i = 0; i < frontends.length; i++) {
|
for (let i = 0; i < frontends.length; i++) {
|
||||||
redirects[frontends[i]] = dataJson[frontends[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]
|
bibliogramNormalRedirectsChecks = [...redirects.bibliogram.normal]
|
||||||
for (const instance of r.cloudflareBlackList) {
|
for (const instance of [...r.cloudflareBlackList, ...r.offlineBlackList]) {
|
||||||
const i = bibliogramNormalRedirectsChecks.indexOf(instance)
|
const a = bibliogramNormalRedirectsChecks.indexOf(instance)
|
||||||
if (i > -1) bibliogramNormalRedirectsChecks.splice(i, 1)
|
if (a > -1) bibliogramNormalRedirectsChecks.splice(a, 1)
|
||||||
}
|
}
|
||||||
browser.storage.local.set({
|
browser.storage.local.set({
|
||||||
disableInstagram: false,
|
disableInstagram: false,
|
||||||
instagramRedirects: redirects,
|
instagramRedirects: redirects,
|
||||||
|
|
||||||
bibliogramNormalRedirectsChecks: bibliogramNormalRedirectsChecks,
|
bibliogramNormalRedirectsChecks,
|
||||||
bibliogramNormalCustomRedirects: [],
|
bibliogramNormalCustomRedirects: [],
|
||||||
|
|
||||||
bibliogramTorRedirectsChecks: [...redirects.bibliogram.tor],
|
bibliogramTorRedirectsChecks: [...redirects.bibliogram.tor],
|
||||||
|
|
|
@ -17,16 +17,19 @@ for (let i = 0; i < frontends.length; i++) {
|
||||||
}
|
}
|
||||||
|
|
||||||
function setRedirects(val) {
|
function setRedirects(val) {
|
||||||
browser.storage.local.get("cloudflareBlackList", r => {
|
browser.storage.local.get(["cloudflareBlackList", "offlineBlackList"], r => {
|
||||||
redirects.librarian = val
|
redirects.librarian = val
|
||||||
librarianNormalRedirectsChecks = [...redirects.librarian.normal]
|
librarianNormalRedirectsChecks = [...redirects.librarian.normal]
|
||||||
for (const instance of r.cloudflareBlackList) {
|
for (const instance of [...r.cloudflareBlackList, ...r.offlineBlackList]) {
|
||||||
const a = librarianNormalRedirectsChecks.indexOf(instance)
|
const a = librarianNormalRedirectsChecks.indexOf(instance)
|
||||||
if (a > -1) librarianNormalRedirectsChecks.splice(a, 1)
|
if (a > -1) librarianNormalRedirectsChecks.splice(a, 1)
|
||||||
}
|
}
|
||||||
browser.storage.local.set({
|
browser.storage.local.set({
|
||||||
lbryTargetsRedirects: redirects,
|
lbryTargetsRedirects: redirects,
|
||||||
librarianNormalRedirectsChecks,
|
librarianNormalRedirectsChecks,
|
||||||
|
librarianTorRedirectsChecks: [...redirects.librarian.tor],
|
||||||
|
librarianI2pRedirectsChecks: [...redirects.librarian.i2p],
|
||||||
|
librarianLokiRedirectsChecks: [...redirects.librarian.loki],
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
@ -175,6 +178,12 @@ function initDefaults() {
|
||||||
for (let i = 0; i < frontends.length; i++) {
|
for (let i = 0; i < frontends.length; i++) {
|
||||||
redirects[frontends[i]] = dataJson[frontends[i]]
|
redirects[frontends[i]] = dataJson[frontends[i]]
|
||||||
}
|
}
|
||||||
|
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(
|
browser.storage.local.set(
|
||||||
{
|
{
|
||||||
disableLbryTargets: true,
|
disableLbryTargets: true,
|
||||||
|
@ -182,7 +191,7 @@ function initDefaults() {
|
||||||
lbryTargetsRedirects: redirects,
|
lbryTargetsRedirects: redirects,
|
||||||
lbryRedirectType: "both",
|
lbryRedirectType: "both",
|
||||||
|
|
||||||
librarianNormalRedirectsChecks: [...redirects.librarian.normal],
|
librarianNormalRedirectsChecks,
|
||||||
librarianNormalCustomRedirects: [],
|
librarianNormalCustomRedirects: [],
|
||||||
|
|
||||||
librarianTorRedirectsChecks: [...redirects.librarian.tor],
|
librarianTorRedirectsChecks: [...redirects.librarian.tor],
|
||||||
|
@ -198,6 +207,7 @@ function initDefaults() {
|
||||||
)
|
)
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
|
|
|
@ -21,16 +21,19 @@ redirects.osm = {}
|
||||||
redirects.osm.normal = ["https://www.openstreetmap.org"]
|
redirects.osm.normal = ["https://www.openstreetmap.org"]
|
||||||
|
|
||||||
function setRedirects(val) {
|
function setRedirects(val) {
|
||||||
browser.storage.local.get("cloudflareBlackList", r => {
|
browser.storage.local.get(["cloudflareBlackList", "offlineBlackList"], r => {
|
||||||
redirects.facil = val
|
redirects.facil = val
|
||||||
facilNormalRedirectsChecks = [...redirects.facil.normal]
|
facilNormalRedirectsChecks = [...redirects.facil.normal]
|
||||||
for (const instance of r.cloudflareBlackList) {
|
for (const instance of [...r.cloudflareBlackList, ...r.offlineBlackList]) {
|
||||||
const a = facilNormalRedirectsChecks.indexOf(instance)
|
const a = facilNormalRedirectsChecks.indexOf(instance)
|
||||||
if (a > -1) facilNormalRedirectsChecks.splice(a, 1)
|
if (a > -1) facilNormalRedirectsChecks.splice(a, 1)
|
||||||
}
|
}
|
||||||
browser.storage.local.set({
|
browser.storage.local.set({
|
||||||
mapsRedirects: redirects,
|
mapsRedirects: redirects,
|
||||||
facilNormalRedirectsChecks,
|
facilNormalRedirectsChecks,
|
||||||
|
facilTorRedirectsChecks: [...redirects.facil.tor],
|
||||||
|
facilI2pRedirectsChecks: [...redirects.facil.i2p],
|
||||||
|
facilLokiRedirectsChecks: [...redirects.facil.loki],
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
@ -264,12 +267,18 @@ function initDefaults() {
|
||||||
for (let i = 0; i < frontends.length; i++) {
|
for (let i = 0; i < frontends.length; i++) {
|
||||||
redirects[frontends[i]] = dataJson[frontends[i]]
|
redirects[frontends[i]] = dataJson[frontends[i]]
|
||||||
}
|
}
|
||||||
|
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(
|
browser.storage.local.set(
|
||||||
{
|
{
|
||||||
disableMaps: false,
|
disableMaps: false,
|
||||||
mapsFrontend: "osm",
|
mapsFrontend: "osm",
|
||||||
mapsRedirects: redirects,
|
mapsRedirects: redirects,
|
||||||
facilNormalRedirectsChecks: [...redirects.facil.normal],
|
facilNormalRedirectsChecks,
|
||||||
facilNormalCustomRedirects: [],
|
facilNormalCustomRedirects: [],
|
||||||
|
|
||||||
facilTorRedirectsChecks: [...redirects.facil.tor],
|
facilTorRedirectsChecks: [...redirects.facil.tor],
|
||||||
|
@ -285,6 +294,7 @@ function initDefaults() {
|
||||||
)
|
)
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
|
|
|
@ -40,16 +40,19 @@ for (let i = 0; i < frontends.length; i++) {
|
||||||
}
|
}
|
||||||
|
|
||||||
function setRedirects(val) {
|
function setRedirects(val) {
|
||||||
browser.storage.local.get("cloudflareBlackList", r => {
|
browser.storage.local.get(["cloudflareBlackList", "offlineBlackList"], r => {
|
||||||
redirects.scribe = val
|
redirects.scribe = val
|
||||||
scribeNormalRedirectsChecks = [...redirects.scribe.normal]
|
scribeNormalRedirectsChecks = [...redirects.scribe.normal]
|
||||||
for (const instance of r.cloudflareBlackList) {
|
for (const instance of [...r.cloudflareBlackList, ...r.offlineBlackList]) {
|
||||||
const a = scribeNormalRedirectsChecks.indexOf(instance)
|
const a = scribeNormalRedirectsChecks.indexOf(instance)
|
||||||
if (a > -1) scribeNormalRedirectsChecks.splice(a, 1)
|
if (a > -1) scribeNormalRedirectsChecks.splice(a, 1)
|
||||||
}
|
}
|
||||||
browser.storage.local.set({
|
browser.storage.local.set({
|
||||||
mediumRedirects: redirects,
|
mediumRedirects: redirects,
|
||||||
scribeNormalRedirectsChecks,
|
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++) {
|
for (let i = 0; i < frontends.length; i++) {
|
||||||
redirects[frontends[i]] = dataJson[frontends[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]
|
scribeNormalRedirectsChecks = [...redirects.scribe.normal]
|
||||||
for (const instance of r.cloudflareBlackList) {
|
for (const instance of [...r.cloudflareBlackList, ...r.offlineBlackList]) {
|
||||||
let i = scribeNormalRedirectsChecks.indexOf(instance)
|
const a = scribeNormalRedirectsChecks.indexOf(instance)
|
||||||
if (i > -1) scribeNormalRedirectsChecks.splice(i, 1)
|
if (a > -1) scribeNormalRedirectsChecks.splice(a, 1)
|
||||||
}
|
}
|
||||||
browser.storage.local.set(
|
browser.storage.local.set(
|
||||||
{
|
{
|
||||||
disableMedium: false,
|
disableMedium: false,
|
||||||
mediumRedirects: redirects,
|
mediumRedirects: redirects,
|
||||||
|
|
||||||
scribeNormalRedirectsChecks: scribeNormalRedirectsChecks,
|
scribeNormalRedirectsChecks,
|
||||||
scribeNormalCustomRedirects: [],
|
scribeNormalCustomRedirects: [],
|
||||||
|
|
||||||
scribeTorRedirectsChecks: [...redirects.scribe.tor],
|
scribeTorRedirectsChecks: [...redirects.scribe.tor],
|
||||||
|
|
|
@ -15,16 +15,19 @@ for (let i = 0; i < frontends.length; i++) {
|
||||||
}
|
}
|
||||||
|
|
||||||
function setRedirects(val) {
|
function setRedirects(val) {
|
||||||
browser.storage.local.get("cloudflareBlackList", r => {
|
browser.storage.local.get(["cloudflareBlackList", "offlineBlackList"], r => {
|
||||||
redirects.simpleertube = val
|
redirects.simpleertube = val
|
||||||
simpleertubeNormalRedirectsChecks = [...redirects.simpleertube.normal]
|
simpleertubeNormalRedirectsChecks = [...redirects.simpleertube.normal]
|
||||||
for (const instance of r.cloudflareBlackList) {
|
for (const instance of [...r.cloudflareBlackList, ...r.offlineBlackList]) {
|
||||||
const a = simpleertubeNormalRedirectsChecks.indexOf(instance)
|
const a = simpleertubeNormalRedirectsChecks.indexOf(instance)
|
||||||
if (a > -1) simpleertubeNormalRedirectsChecks.splice(a, 1)
|
if (a > -1) simpleertubeNormalRedirectsChecks.splice(a, 1)
|
||||||
}
|
}
|
||||||
browser.storage.local.set({
|
browser.storage.local.set({
|
||||||
peertubeRedirects: redirects,
|
peertubeRedirects: redirects,
|
||||||
simpleertubeNormalRedirectsChecks,
|
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++) {
|
for (let i = 0; i < frontends.length; i++) {
|
||||||
redirects[frontends[i]] = dataJson[frontends[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]
|
simpleertubeNormalRedirectsChecks = [...redirects.simpleertube.normal]
|
||||||
for (const instance of r.cloudflareBlackList) {
|
for (const instance of [...r.cloudflareBlackList, ...r.offlineBlackList]) {
|
||||||
let i = simpleertubeNormalRedirectsChecks.indexOf(instance)
|
const a = simpleertubeNormalRedirectsChecks.indexOf(instance)
|
||||||
if (i > -1) simpleertubeNormalRedirectsChecks.splice(i, 1)
|
if (a > -1) simpleertubeNormalRedirectsChecks.splice(a, 1)
|
||||||
}
|
}
|
||||||
browser.storage.local.set(
|
browser.storage.local.set(
|
||||||
{
|
{
|
||||||
|
@ -174,7 +177,7 @@ function initDefaults() {
|
||||||
disablePeertubeTargets: true,
|
disablePeertubeTargets: true,
|
||||||
peertubeRedirects: redirects,
|
peertubeRedirects: redirects,
|
||||||
|
|
||||||
simpleertubeNormalRedirectsChecks: simpleertubeNormalRedirectsChecks,
|
simpleertubeNormalRedirectsChecks,
|
||||||
simpleertubeNormalCustomRedirects: [],
|
simpleertubeNormalCustomRedirects: [],
|
||||||
|
|
||||||
simpleertubeTorRedirectsChecks: [...redirects.simpleertube.tor],
|
simpleertubeTorRedirectsChecks: [...redirects.simpleertube.tor],
|
||||||
|
|
|
@ -17,16 +17,19 @@ for (let i = 0; i < frontends.length; i++) {
|
||||||
}
|
}
|
||||||
|
|
||||||
function setRedirects(val) {
|
function setRedirects(val) {
|
||||||
browser.storage.local.get("cloudflareBlackList", r => {
|
browser.storage.local.get(["cloudflareBlackList", "offlineBlackList"], r => {
|
||||||
redirects.quetre = val
|
redirects.quetre = val
|
||||||
quetreNormalRedirectsChecks = [...redirects.quetre.normal]
|
quetreNormalRedirectsChecks = [...redirects.quetre.normal]
|
||||||
for (const instance of r.cloudflareBlackList) {
|
for (const instance of [...r.cloudflareBlackList, ...r.offlineBlackList]) {
|
||||||
const a = quetreNormalRedirectsChecks.indexOf(instance)
|
const a = quetreNormalRedirectsChecks.indexOf(instance)
|
||||||
if (a > -1) quetreNormalRedirectsChecks.splice(a, 1)
|
if (a > -1) quetreNormalRedirectsChecks.splice(a, 1)
|
||||||
}
|
}
|
||||||
browser.storage.local.set({
|
browser.storage.local.set({
|
||||||
quoraRedirects: redirects,
|
quoraRedirects: redirects,
|
||||||
quetreNormalRedirectsChecks,
|
quetreNormalRedirectsChecks,
|
||||||
|
quetreTorRedirectsChecks: [...redirects.quetre.tor],
|
||||||
|
quetreI2pRedirectsChecks: [...redirects.quetre.i2p],
|
||||||
|
quetreLokiRedirectsChecks: [...redirects.quetre.loki],
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
@ -157,13 +160,19 @@ function initDefaults() {
|
||||||
for (let i = 0; i < frontends.length; i++) {
|
for (let i = 0; i < frontends.length; i++) {
|
||||||
redirects[frontends[i]] = dataJson[frontends[i]]
|
redirects[frontends[i]] = dataJson[frontends[i]]
|
||||||
}
|
}
|
||||||
|
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(
|
browser.storage.local.set(
|
||||||
{
|
{
|
||||||
disableQuora: false,
|
disableQuora: false,
|
||||||
|
|
||||||
quoraRedirects: redirects,
|
quoraRedirects: redirects,
|
||||||
|
|
||||||
quetreNormalRedirectsChecks: [...redirects.quetre.normal],
|
quetreNormalRedirectsChecks,
|
||||||
quetreNormalCustomRedirects: [],
|
quetreNormalCustomRedirects: [],
|
||||||
|
|
||||||
quetreTorRedirectsChecks: [...redirects.quetre.tor],
|
quetreTorRedirectsChecks: [...redirects.quetre.tor],
|
||||||
|
@ -179,6 +188,7 @@ function initDefaults() {
|
||||||
)
|
)
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
|
|
|
@ -16,11 +16,11 @@ for (let i = 0; i < frontends.length; i++) {
|
||||||
}
|
}
|
||||||
|
|
||||||
function setRedirects(val) {
|
function setRedirects(val) {
|
||||||
browser.storage.local.get("cloudflareBlackList", r => {
|
browser.storage.local.get(["cloudflareBlackList", "offlineBlackList"], r => {
|
||||||
redirects = val
|
redirects = val
|
||||||
libredditNormalRedirectsChecks = [...redirects.libreddit.normal]
|
libredditNormalRedirectsChecks = [...redirects.libreddit.normal]
|
||||||
tedditNormalRedirectsChecks = [...redirects.teddit.normal]
|
tedditNormalRedirectsChecks = [...redirects.teddit.normal]
|
||||||
for (const instance of r.cloudflareBlackList) {
|
for (const instance of [...r.cloudflareBlackList, ...r.offlineBlackList]) {
|
||||||
const a = libredditNormalRedirectsChecks.indexOf(instance)
|
const a = libredditNormalRedirectsChecks.indexOf(instance)
|
||||||
if (a > -1) libredditNormalRedirectsChecks.splice(a, 1)
|
if (a > -1) libredditNormalRedirectsChecks.splice(a, 1)
|
||||||
|
|
||||||
|
@ -30,7 +30,13 @@ function setRedirects(val) {
|
||||||
browser.storage.local.set({
|
browser.storage.local.set({
|
||||||
redditRedirects: redirects,
|
redditRedirects: redirects,
|
||||||
libredditNormalRedirectsChecks,
|
libredditNormalRedirectsChecks,
|
||||||
|
libredditTorRedirectsChecks: [...redirects.libreddit.tor],
|
||||||
|
libredditI2pRedirectsChecks: [...redirects.libreddit.i2p],
|
||||||
|
libredditLokiRedirectsChecks: [...redirects.libreddit.loki],
|
||||||
tedditNormalRedirectsChecks,
|
tedditNormalRedirectsChecks,
|
||||||
|
tedditTorRedirectsChecks: [...redirects.teddit.tor],
|
||||||
|
tedditI2pRedirectsChecks: [...redirects.teddit.i2p],
|
||||||
|
tedditLokiRedirectsChecks: [...redirects.teddit.loki],
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
@ -330,17 +336,15 @@ function initDefaults() {
|
||||||
for (let i = 0; i < frontends.length; i++) {
|
for (let i = 0; i < frontends.length; i++) {
|
||||||
redirects[frontends[i]] = dataJson[frontends[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]
|
libredditNormalRedirectsChecks = [...redirects.libreddit.normal]
|
||||||
tedditNormalRedirectsChecks = [...redirects.teddit.normal]
|
tedditNormalRedirectsChecks = [...redirects.teddit.normal]
|
||||||
for (const instance of r.cloudflareBlackList) {
|
for (const instance of [...r.cloudflareBlackList, ...r.offlineBlackList]) {
|
||||||
let i
|
const a = libredditNormalRedirectsChecks.indexOf(instance)
|
||||||
|
if (a > -1) libredditNormalRedirectsChecks.splice(a, 1)
|
||||||
|
|
||||||
i = libredditNormalRedirectsChecks.indexOf(instance)
|
const b = tedditNormalRedirectsChecks.indexOf(instance)
|
||||||
if (i > -1) libredditNormalRedirectsChecks.splice(i, 1)
|
if (b > -1) tedditNormalRedirectsChecks.splice(b, 1)
|
||||||
|
|
||||||
i = tedditNormalRedirectsChecks.indexOf(instance)
|
|
||||||
if (i > -1) tedditNormalRedirectsChecks.splice(i, 1)
|
|
||||||
}
|
}
|
||||||
browser.storage.local.set(
|
browser.storage.local.set(
|
||||||
{
|
{
|
||||||
|
@ -348,7 +352,7 @@ function initDefaults() {
|
||||||
redditFrontend: "libreddit",
|
redditFrontend: "libreddit",
|
||||||
redditRedirects: redirects,
|
redditRedirects: redirects,
|
||||||
|
|
||||||
libredditNormalRedirectsChecks: libredditNormalRedirectsChecks,
|
libredditNormalRedirectsChecks,
|
||||||
libredditNormalCustomRedirects: [],
|
libredditNormalCustomRedirects: [],
|
||||||
|
|
||||||
libredditTorRedirectsChecks: [...redirects.libreddit.tor],
|
libredditTorRedirectsChecks: [...redirects.libreddit.tor],
|
||||||
|
@ -360,7 +364,7 @@ function initDefaults() {
|
||||||
libredditLokiRedirectsChecks: [...redirects.libreddit.loki],
|
libredditLokiRedirectsChecks: [...redirects.libreddit.loki],
|
||||||
libredditLokiCustomRedirects: [],
|
libredditLokiCustomRedirects: [],
|
||||||
|
|
||||||
tedditNormalRedirectsChecks: tedditNormalRedirectsChecks,
|
tedditNormalRedirectsChecks,
|
||||||
tedditNormalCustomRedirects: [],
|
tedditNormalCustomRedirects: [],
|
||||||
|
|
||||||
tedditTorRedirectsChecks: [...redirects.teddit.tor],
|
tedditTorRedirectsChecks: [...redirects.teddit.tor],
|
||||||
|
|
|
@ -17,16 +17,19 @@ for (let i = 0; i < frontends.length; i++) {
|
||||||
}
|
}
|
||||||
|
|
||||||
function setRedirects(val) {
|
function setRedirects(val) {
|
||||||
browser.storage.local.get("cloudflareBlackList", r => {
|
browser.storage.local.get(["cloudflareBlackList", "offlineBlackList"], r => {
|
||||||
redirects.neuters = val
|
redirects.neuters = val
|
||||||
neutersNormalRedirectsChecks = [...redirects.neuters.normal]
|
neutersNormalRedirectsChecks = [...redirects.neuters.normal]
|
||||||
for (const instance of r.cloudflareBlackList) {
|
for (const instance of [...r.cloudflareBlackList, ...r.offlineBlackList]) {
|
||||||
const a = neutersNormalRedirectsChecks.indexOf(instance)
|
const a = neutersNormalRedirectsChecks.indexOf(instance)
|
||||||
if (a > -1) neutersNormalRedirectsChecks.splice(a, 1)
|
if (a > -1) neutersNormalRedirectsChecks.splice(a, 1)
|
||||||
}
|
}
|
||||||
browser.storage.local.set({
|
browser.storage.local.set({
|
||||||
neutersRedirects: redirects,
|
neutersRedirects: redirects,
|
||||||
neutersNormalRedirectsChecks,
|
neutersNormalRedirectsChecks,
|
||||||
|
neutersTorRedirectsChecks: [...redirects.neuters.tor],
|
||||||
|
neutersI2pRedirectsChecks: [...redirects.neuters.i2p],
|
||||||
|
neutersLokiRedirectsChecks: [...redirects.neuters.loki],
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
@ -109,13 +112,19 @@ function initDefaults() {
|
||||||
for (let i = 0; i < frontends.length; i++) {
|
for (let i = 0; i < frontends.length; i++) {
|
||||||
redirects[frontends[i]] = dataJson[frontends[i]]
|
redirects[frontends[i]] = dataJson[frontends[i]]
|
||||||
}
|
}
|
||||||
|
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(
|
browser.storage.local.set(
|
||||||
{
|
{
|
||||||
disableReuters: true,
|
disableReuters: true,
|
||||||
|
|
||||||
reutersRedirects: redirects,
|
reutersRedirects: redirects,
|
||||||
|
|
||||||
neutersNormalRedirectsChecks: [...redirects.neuters.normal],
|
neutersNormalRedirectsChecks,
|
||||||
neutersNormalCustomRedirects: [],
|
neutersNormalCustomRedirects: [],
|
||||||
|
|
||||||
neutersTorRedirectsChecks: [...redirects.neuters.tor],
|
neutersTorRedirectsChecks: [...redirects.neuters.tor],
|
||||||
|
@ -131,6 +140,7 @@ function initDefaults() {
|
||||||
)
|
)
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
|
|
|
@ -8,52 +8,22 @@ const frontends = new Array("searx", "searxng", "whoogle", "librex")
|
||||||
const protocols = new Array("normal", "tor", "i2p", "loki")
|
const protocols = new Array("normal", "tor", "i2p", "loki")
|
||||||
|
|
||||||
const redirects = {}
|
const redirects = {}
|
||||||
/*
|
|
||||||
"searx": {
|
|
||||||
"normal": [],
|
|
||||||
"tor": [],
|
|
||||||
"i2p": []
|
|
||||||
},
|
|
||||||
"searxng": {
|
|
||||||
"normal": [],
|
|
||||||
"tor": [],
|
|
||||||
"i2p": []
|
|
||||||
},
|
|
||||||
"whoogle": {
|
|
||||||
"normal": [],
|
|
||||||
"tor": [],
|
|
||||||
"i2p": []
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
//};
|
|
||||||
|
|
||||||
//let tmp = "{"
|
|
||||||
|
|
||||||
for (let i = 0; i < frontends.length; i++) {
|
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]] = {}
|
redirects[frontends[i]] = {}
|
||||||
for (let x = 0; x < protocols.length; x++) {
|
for (let x = 0; x < protocols.length; x++) {
|
||||||
//redirects.frontends[i].protocols = []
|
|
||||||
//tmp = tmp + '\n"' + protocols[x] + '": [],'
|
|
||||||
redirects[frontends[i]][protocols[x]] = []
|
redirects[frontends[i]][protocols[x]] = []
|
||||||
}
|
}
|
||||||
//tmp = tmp + "\n},"
|
|
||||||
}
|
}
|
||||||
//tmp = tmp + "\n}"
|
|
||||||
|
|
||||||
//const redirects = JSON.parse(tmp)
|
|
||||||
|
|
||||||
function setRedirects(val) {
|
function setRedirects(val) {
|
||||||
browser.storage.local.get("cloudflareBlackList", r => {
|
browser.storage.local.get(["cloudflareBlackList", "offlineBlackList"], r => {
|
||||||
redirects = val
|
redirects = val
|
||||||
searxNormalRedirectsChecks = [...redirects.searx.normal]
|
searxNormalRedirectsChecks = [...redirects.searx.normal]
|
||||||
searxngNormalRedirectsChecks = [...redirects.searxng.normal]
|
searxngNormalRedirectsChecks = [...redirects.searxng.normal]
|
||||||
whoogleNormalRedirectsChecks = [...redirects.whoogle.normal]
|
whoogleNormalRedirectsChecks = [...redirects.whoogle.normal]
|
||||||
librexNormalRedirectsChecks = [...redirects.librex.normal]
|
librexNormalRedirectsChecks = [...redirects.librex.normal]
|
||||||
for (const instance of r.cloudflareBlackList) {
|
for (const instance of [...r.cloudflareBlackList, ...r.offlineBlackList]) {
|
||||||
const a = searxNormalRedirectsChecks.indexOf(instance)
|
const a = searxNormalRedirectsChecks.indexOf(instance)
|
||||||
if (a > -1) searxNormalRedirectsChecks.splice(a, 1)
|
if (a > -1) searxNormalRedirectsChecks.splice(a, 1)
|
||||||
|
|
||||||
|
@ -69,9 +39,21 @@ function setRedirects(val) {
|
||||||
browser.storage.local.set({
|
browser.storage.local.set({
|
||||||
searchRedirects: redirects,
|
searchRedirects: redirects,
|
||||||
searxNormalRedirectsChecks,
|
searxNormalRedirectsChecks,
|
||||||
|
searxTorRedirectsChecks: [...redirects.searx.tor],
|
||||||
|
searxI2pRedirectsChecks: [...redirects.searx.i2p],
|
||||||
|
searxLokiRedirectsChecks: [...redirects.searx.loki],
|
||||||
searxngNormalRedirectsChecks,
|
searxngNormalRedirectsChecks,
|
||||||
|
searxngTorRedirectsChecks: [...redirects.searxng.tor],
|
||||||
|
searxngI2pRedirectsChecks: [...redirects.searxng.i2p],
|
||||||
|
searxngLokiRedirectsChecks: [...redirects.searxng.loki],
|
||||||
whoogleNormalRedirectsChecks,
|
whoogleNormalRedirectsChecks,
|
||||||
|
whoogleTorRedirectsChecks: [...redirects.whoogle.tor],
|
||||||
|
whoogleI2pRedirectsChecks: [...redirects.whoogle.i2p],
|
||||||
|
whoogleLokiRedirectsChecks: [...redirects.whoogle.loki],
|
||||||
librexNormalRedirectsChecks,
|
librexNormalRedirectsChecks,
|
||||||
|
librexTorRedirectsChecks: [...redirects.librex.tor],
|
||||||
|
librexI2pRedirectsChecks: [...redirects.librex.i2p],
|
||||||
|
librexLokiRedirectsChecks: [...redirects.librex.loki],
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
@ -499,34 +481,27 @@ function initDefaults() {
|
||||||
.then(response => response.text())
|
.then(response => response.text())
|
||||||
.then(async data => {
|
.then(async data => {
|
||||||
let dataJson = JSON.parse(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++) {
|
for (let i = 0; i < frontends.length; i++) {
|
||||||
redirects[frontends[i]] = dataJson[frontends[i]]
|
redirects[frontends[i]] = dataJson[frontends[i]]
|
||||||
}
|
}
|
||||||
|
|
||||||
browser.storage.local.get("cloudflareBlackList", async r => {
|
browser.storage.local.get(["cloudflareBlackList", "offlineBlackList"], async r => {
|
||||||
whoogleNormalRedirectsChecks = [...redirects.whoogle.normal]
|
|
||||||
searxNormalRedirectsChecks = [...redirects.searx.normal]
|
searxNormalRedirectsChecks = [...redirects.searx.normal]
|
||||||
searxngNormalRedirectsChecks = [...redirects.searxng.normal]
|
searxngNormalRedirectsChecks = [...redirects.searxng.normal]
|
||||||
|
whoogleNormalRedirectsChecks = [...redirects.whoogle.normal]
|
||||||
librexNormalRedirectsChecks = [...redirects.librex.normal]
|
librexNormalRedirectsChecks = [...redirects.librex.normal]
|
||||||
for (const instance of r.cloudflareBlackList) {
|
for (const instance of [...r.cloudflareBlackList, ...r.offlineBlackList]) {
|
||||||
let i
|
const a = searxNormalRedirectsChecks.indexOf(instance)
|
||||||
|
if (a > -1) searxNormalRedirectsChecks.splice(a, 1)
|
||||||
|
|
||||||
i = whoogleNormalRedirectsChecks.indexOf(instance)
|
const b = searxngNormalRedirectsChecks.indexOf(instance)
|
||||||
if (i > -1) whoogleNormalRedirectsChecks.splice(i, 1)
|
if (b > -1) searxngNormalRedirectsChecks.splice(b, 1)
|
||||||
|
|
||||||
i = searxNormalRedirectsChecks.indexOf(instance)
|
const c = whoogleNormalRedirectsChecks.indexOf(instance)
|
||||||
if (i > -1) searxNormalRedirectsChecks.splice(i, 1)
|
if (c > -1) whoogleNormalRedirectsChecks.splice(c, 1)
|
||||||
|
|
||||||
i = searxngNormalRedirectsChecks.indexOf(instance)
|
const d = librexNormalRedirectsChecks.indexOf(instance)
|
||||||
if (i > -1) searxngNormalRedirectsChecks.splice(i, 1)
|
if (d > -1) librexNormalRedirectsChecks.splice(d, 1)
|
||||||
|
|
||||||
i = librexNormalRedirectsChecks.indexOf(instance)
|
|
||||||
if (i > -1) librexNormalRedirectsChecks.splice(i, 1)
|
|
||||||
}
|
}
|
||||||
browser.storage.local.set(
|
browser.storage.local.set(
|
||||||
{
|
{
|
||||||
|
@ -535,7 +510,7 @@ function initDefaults() {
|
||||||
searchRedirects: redirects,
|
searchRedirects: redirects,
|
||||||
searxngCustomSettings: false,
|
searxngCustomSettings: false,
|
||||||
|
|
||||||
whoogleNormalRedirectsChecks: whoogleNormalRedirectsChecks,
|
whoogleNormalRedirectsChecks,
|
||||||
whoogleNormalCustomRedirects: [],
|
whoogleNormalCustomRedirects: [],
|
||||||
|
|
||||||
whoogleTorRedirectsChecks: [...redirects.whoogle.tor],
|
whoogleTorRedirectsChecks: [...redirects.whoogle.tor],
|
||||||
|
@ -547,7 +522,7 @@ function initDefaults() {
|
||||||
whoogleLokiRedirectsChecks: [...redirects.whoogle.loki],
|
whoogleLokiRedirectsChecks: [...redirects.whoogle.loki],
|
||||||
whoogleLokiCustomRedirects: [],
|
whoogleLokiCustomRedirects: [],
|
||||||
|
|
||||||
searxNormalRedirectsChecks: searxNormalRedirectsChecks,
|
searxNormalRedirectsChecks,
|
||||||
searxNormalCustomRedirects: [],
|
searxNormalCustomRedirects: [],
|
||||||
|
|
||||||
searxTorRedirectsChecks: [...redirects.searx.tor],
|
searxTorRedirectsChecks: [...redirects.searx.tor],
|
||||||
|
@ -559,7 +534,7 @@ function initDefaults() {
|
||||||
searxLokiRedirectsChecks: [...redirects.searx.loki],
|
searxLokiRedirectsChecks: [...redirects.searx.loki],
|
||||||
searxLokiCustomRedirects: [],
|
searxLokiCustomRedirects: [],
|
||||||
|
|
||||||
searxngNormalRedirectsChecks: searxngNormalRedirectsChecks,
|
searxngNormalRedirectsChecks,
|
||||||
searxngNormalCustomRedirects: [],
|
searxngNormalCustomRedirects: [],
|
||||||
|
|
||||||
searxngTorRedirectsChecks: [...redirects.searxng.tor],
|
searxngTorRedirectsChecks: [...redirects.searxng.tor],
|
||||||
|
@ -571,7 +546,7 @@ function initDefaults() {
|
||||||
searxngLokiRedirectsChecks: [...redirects.searxng.loki],
|
searxngLokiRedirectsChecks: [...redirects.searxng.loki],
|
||||||
searxngLokiCustomRedirects: [],
|
searxngLokiCustomRedirects: [],
|
||||||
|
|
||||||
librexNormalRedirectsChecks: librexNormalRedirectsChecks,
|
librexNormalRedirectsChecks,
|
||||||
librexNormalCustomRedirects: [],
|
librexNormalCustomRedirects: [],
|
||||||
|
|
||||||
librexTorRedirectsChecks: [...redirects.librex.tor],
|
librexTorRedirectsChecks: [...redirects.librex.tor],
|
||||||
|
|
|
@ -17,16 +17,19 @@ for (let i = 0; i < frontends.length; i++) {
|
||||||
}
|
}
|
||||||
|
|
||||||
function setRedirects(val) {
|
function setRedirects(val) {
|
||||||
browser.storage.local.get("cloudflareBlackList", r => {
|
browser.storage.local.get(["cloudflareBlackList", "offlineBlackList"], r => {
|
||||||
redirects.send = val
|
redirects.send = val
|
||||||
sendNormalRedirectsChecks = [...redirects.send.normal]
|
sendNormalRedirectsChecks = [...redirects.send.normal]
|
||||||
for (const instance of r.cloudflareBlackList) {
|
for (const instance of [...r.cloudflareBlackList, ...r.offlineBlackList]) {
|
||||||
const a = sendNormalRedirectsChecks.indexOf(instance)
|
const a = sendNormalRedirectsChecks.indexOf(instance)
|
||||||
if (a > -1) sendNormalRedirectsChecks.splice(a, 1)
|
if (a > -1) sendNormalRedirectsChecks.splice(a, 1)
|
||||||
}
|
}
|
||||||
browser.storage.local.set({
|
browser.storage.local.set({
|
||||||
sendTargetsRedirects: redirects,
|
sendTargetsRedirects: redirects,
|
||||||
sendNormalRedirectsChecks,
|
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++) {
|
for (let i = 0; i < frontends.length; i++) {
|
||||||
redirects[frontends[i]] = dataJson[frontends[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]
|
sendNormalRedirectsChecks = [...redirects.send.normal]
|
||||||
for (const instance of r.cloudflareBlackList) {
|
for (const instance of [...r.cloudflareBlackList, ...r.offlineBlackList]) {
|
||||||
let i = sendNormalRedirectsChecks.indexOf(instance)
|
const a = sendNormalRedirectsChecks.indexOf(instance)
|
||||||
if (i > -1) sendNormalRedirectsChecks.splice(i, 1)
|
if (a > -1) sendNormalRedirectsChecks.splice(a, 1)
|
||||||
}
|
}
|
||||||
browser.storage.local.set(
|
browser.storage.local.set(
|
||||||
{
|
{
|
||||||
disableSendTarget: false,
|
disableSendTarget: false,
|
||||||
sendTargetsRedirects: redirects,
|
sendTargetsRedirects: redirects,
|
||||||
|
|
||||||
sendNormalRedirectsChecks: sendNormalRedirectsChecks,
|
sendNormalRedirectsChecks,
|
||||||
sendNormalCustomRedirects: [],
|
sendNormalCustomRedirects: [],
|
||||||
|
|
||||||
sendTorRedirectsChecks: [...redirects.send.tor],
|
sendTorRedirectsChecks: [...redirects.send.tor],
|
||||||
|
|
|
@ -17,16 +17,19 @@ for (let i = 0; i < frontends.length; i++) {
|
||||||
}
|
}
|
||||||
|
|
||||||
function setRedirects(val) {
|
function setRedirects(val) {
|
||||||
browser.storage.local.get("cloudflareBlackList", r => {
|
browser.storage.local.get(["cloudflareBlackList", "offlineBlackList"], r => {
|
||||||
redirects.proxiTok = val
|
redirects.proxiTok = val
|
||||||
proxiTokNormalRedirectsChecks = [...redirects.proxiTok.normal]
|
proxiTokNormalRedirectsChecks = [...redirects.proxiTok.normal]
|
||||||
for (const instance of r.cloudflareBlackList) {
|
for (const instance of [...r.cloudflareBlackList, ...r.offlineBlackList]) {
|
||||||
const a = proxiTokNormalRedirectsChecks.indexOf(instance)
|
const a = proxiTokNormalRedirectsChecks.indexOf(instance)
|
||||||
if (a > -1) proxiTokNormalRedirectsChecks.splice(a, 1)
|
if (a > -1) proxiTokNormalRedirectsChecks.splice(a, 1)
|
||||||
}
|
}
|
||||||
browser.storage.local.set({
|
browser.storage.local.set({
|
||||||
tiktokRedirects: redirects,
|
tiktokRedirects: redirects,
|
||||||
proxiTokNormalRedirectsChecks,
|
proxiTokNormalRedirectsChecks,
|
||||||
|
proxiTokTorRedirectsChecks: [...redirects.proxiTok.tor],
|
||||||
|
proxiTokI2pRedirectsChecks: [...redirects.proxiTok.i2p],
|
||||||
|
proxiTokLokiRedirectsChecks: [...redirects.proxiTok.loki],
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
@ -202,13 +205,19 @@ function initDefaults() {
|
||||||
for (let i = 0; i < frontends.length; i++) {
|
for (let i = 0; i < frontends.length; i++) {
|
||||||
redirects[frontends[i]] = dataJson[frontends[i]]
|
redirects[frontends[i]] = dataJson[frontends[i]]
|
||||||
}
|
}
|
||||||
|
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(
|
browser.storage.local.set(
|
||||||
{
|
{
|
||||||
disableTiktok: false,
|
disableTiktok: false,
|
||||||
|
|
||||||
tiktokRedirects: redirects,
|
tiktokRedirects: redirects,
|
||||||
|
|
||||||
proxiTokNormalRedirectsChecks: [...redirects.proxiTok.normal],
|
proxiTokNormalRedirectsChecks,
|
||||||
proxiTokNormalCustomRedirects: [],
|
proxiTokNormalCustomRedirects: [],
|
||||||
|
|
||||||
proxiTokTorRedirectsChecks: [...redirects.proxiTok.tor],
|
proxiTokTorRedirectsChecks: [...redirects.proxiTok.tor],
|
||||||
|
@ -224,6 +233,7 @@ function initDefaults() {
|
||||||
)
|
)
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
|
|
|
@ -91,21 +91,27 @@ init()
|
||||||
browser.storage.onChanged.addListener(init)
|
browser.storage.onChanged.addListener(init)
|
||||||
|
|
||||||
function setRedirects(val) {
|
function setRedirects(val) {
|
||||||
browser.storage.local.get("cloudflareBlackList", r => {
|
browser.storage.local.get(["cloudflareBlackList", "offlineBlackList"], r => {
|
||||||
redirects = val
|
redirects = val
|
||||||
|
simplyTranslateNormalRedirectsChecks = [...redirects.simplyTranslate.normal]
|
||||||
lingvaNormalRedirectsChecks = [...redirects.lingva.normal]
|
lingvaNormalRedirectsChecks = [...redirects.lingva.normal]
|
||||||
for (const instance of r.cloudflareBlackList) {
|
for (const instance of [...r.cloudflareBlackList, ...r.offlineBlackList]) {
|
||||||
const i = lingvaNormalRedirectsChecks.indexOf(instance)
|
const a = simplyTranslateNormalCustomRedirects.indexOf(instance)
|
||||||
if (i > -1) lingvaNormalRedirectsChecks.splice(i, 1)
|
if (a > -1) simplyTranslateNormalCustomRedirects.splice(a, 1)
|
||||||
|
|
||||||
|
const b = lingvaNormalRedirectsChecks.indexOf(instance)
|
||||||
|
if (b > -1) lingvaNormalRedirectsChecks.splice(b, 1)
|
||||||
}
|
}
|
||||||
browser.storage.local.set({
|
browser.storage.local.set({
|
||||||
translateRedirects: redirects,
|
translateRedirects: redirects,
|
||||||
simplyTranslateNormalRedirectsChecks: redirects.simplyTranslate.normal,
|
simplyTranslateNormalRedirectsChecks,
|
||||||
simplyTranslateTorRedirectsChecks: redirects.simplyTranslate.tor,
|
simplyTranslateTorRedirectsChecks: [...redirects.simplyTranslate.tor],
|
||||||
simplyTranslateI2pRedirectsChecks: redirects.simplyTranslate.i2p,
|
simplyTranslateI2pRedirectsChecks: [...redirects.simplyTranslate.i2p],
|
||||||
simplyTranslateLokiRedirectsChecks: redirects.simplyTranslate.loki,
|
simplyTranslateLokiRedirectsChecks: [...redirects.simplyTranslate.loki],
|
||||||
lingvaNormalRedirectsChecks,
|
lingvaNormalRedirectsChecks,
|
||||||
lingvaTorRedirectsChecks: redirects.lingva.tor,
|
lingvaTorRedirectsChecks: [...redirects.lingva.tor],
|
||||||
|
lingvaI2pRedirectsChecks: [...redirects.lingva.i2p],
|
||||||
|
lingvaLokiRedirectsChecks: [...redirects.lingva.loki],
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
@ -271,7 +277,7 @@ function switchInstance(url, disableOverride) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
let instancesList
|
let instancesList = []
|
||||||
|
|
||||||
if (protocol == "loki") {
|
if (protocol == "loki") {
|
||||||
if (translateFrontend == "simplyTranslate") instancesList = [...simplyTranslateLokiRedirectsChecks, ...simplyTranslateLokiCustomRedirects]
|
if (translateFrontend == "simplyTranslate") instancesList = [...simplyTranslateLokiRedirectsChecks, ...simplyTranslateLokiCustomRedirects]
|
||||||
|
@ -304,16 +310,20 @@ function initDefaults() {
|
||||||
return new Promise(async resolve => {
|
return new Promise(async resolve => {
|
||||||
fetch("/instances/data.json")
|
fetch("/instances/data.json")
|
||||||
.then(response => response.text())
|
.then(response => response.text())
|
||||||
.then(data => {
|
.then(async data => {
|
||||||
let dataJson = JSON.parse(data)
|
let dataJson = JSON.parse(data)
|
||||||
for (let i = 0; i < frontends.length; i++) {
|
for (let i = 0; i < frontends.length; i++) {
|
||||||
redirects[frontends[i]] = dataJson[frontends[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]
|
lingvaNormalRedirectsChecks = [...redirects.lingva.normal]
|
||||||
for (const instance of r.cloudflareBlackList) {
|
for (const instance of [...r.cloudflareBlackList, ...r.offlineBlackList]) {
|
||||||
const i = lingvaNormalRedirectsChecks.indexOf(instance)
|
const a = simplyTranslateNormalRedirectsChecks.indexOf(instance)
|
||||||
if (i > -1) lingvaNormalRedirectsChecks.splice(i, 1)
|
if (a > -1) simplyTranslateNormalRedirectsChecks.splice(a, 1)
|
||||||
|
|
||||||
|
const b = lingvaNormalRedirectsChecks.indexOf(instance)
|
||||||
|
if (b > -1) lingvaNormalRedirectsChecks.splice(b, 1)
|
||||||
}
|
}
|
||||||
browser.storage.local.set(
|
browser.storage.local.set(
|
||||||
{
|
{
|
||||||
|
@ -321,7 +331,7 @@ function initDefaults() {
|
||||||
translateFrontend: "simplyTranslate",
|
translateFrontend: "simplyTranslate",
|
||||||
translateRedirects: redirects,
|
translateRedirects: redirects,
|
||||||
|
|
||||||
simplyTranslateNormalRedirectsChecks: [...redirects.simplyTranslate.normal],
|
simplyTranslateNormalRedirectsChecks,
|
||||||
simplyTranslateNormalCustomRedirects: [],
|
simplyTranslateNormalCustomRedirects: [],
|
||||||
|
|
||||||
simplyTranslateTorRedirectsChecks: [...redirects.simplyTranslate.tor],
|
simplyTranslateTorRedirectsChecks: [...redirects.simplyTranslate.tor],
|
||||||
|
@ -333,7 +343,7 @@ function initDefaults() {
|
||||||
simplyTranslateLokiRedirectsChecks: [...redirects.simplyTranslate.loki],
|
simplyTranslateLokiRedirectsChecks: [...redirects.simplyTranslate.loki],
|
||||||
simplyTranslateLokiCustomRedirects: [],
|
simplyTranslateLokiCustomRedirects: [],
|
||||||
|
|
||||||
lingvaNormalRedirectsChecks: lingvaNormalRedirectsChecks,
|
lingvaNormalRedirectsChecks,
|
||||||
lingvaNormalCustomRedirects: [],
|
lingvaNormalCustomRedirects: [],
|
||||||
|
|
||||||
lingvaTorRedirectsChecks: [...redirects.lingva.tor],
|
lingvaTorRedirectsChecks: [...redirects.lingva.tor],
|
||||||
|
|
|
@ -17,10 +17,10 @@ for (let i = 0; i < frontends.length; i++) {
|
||||||
}
|
}
|
||||||
|
|
||||||
function setRedirects(val) {
|
function setRedirects(val) {
|
||||||
browser.storage.local.get(["cloudflareBlackList", "authenticateBlackList"], r => {
|
browser.storage.local.get(["cloudflareBlackList", "authenticateBlackList", "offlineBlackList"], r => {
|
||||||
redirects.nitter = val
|
redirects.nitter = val
|
||||||
nitterNormalRedirectsChecks = [...redirects.nitter.normal]
|
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)
|
let i = nitterNormalRedirectsChecks.indexOf(instance)
|
||||||
if (i > -1) nitterNormalRedirectsChecks.splice(i, 1)
|
if (i > -1) nitterNormalRedirectsChecks.splice(i, 1)
|
||||||
}
|
}
|
||||||
|
@ -28,6 +28,8 @@ function setRedirects(val) {
|
||||||
twitterRedirects: redirects,
|
twitterRedirects: redirects,
|
||||||
nitterNormalRedirectsChecks,
|
nitterNormalRedirectsChecks,
|
||||||
nitterTorRedirectsChecks: [...redirects.nitter.tor],
|
nitterTorRedirectsChecks: [...redirects.nitter.tor],
|
||||||
|
nitterI2pRedirectsChecks: [...redirects.nitter.i2p],
|
||||||
|
nitterLokiRedirectsChecks: [...redirects.nitter.loki],
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
@ -224,9 +226,9 @@ function initDefaults() {
|
||||||
for (let i = 0; i < frontends.length; i++) {
|
for (let i = 0; i < frontends.length; i++) {
|
||||||
redirects[frontends[i]] = dataJson[frontends[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]
|
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)
|
let i = nitterNormalRedirectsChecks.indexOf(instance)
|
||||||
if (i > -1) nitterNormalRedirectsChecks.splice(i, 1)
|
if (i > -1) nitterNormalRedirectsChecks.splice(i, 1)
|
||||||
}
|
}
|
||||||
|
@ -236,7 +238,7 @@ function initDefaults() {
|
||||||
twitterRedirects: redirects,
|
twitterRedirects: redirects,
|
||||||
twitterRedirectType: "both",
|
twitterRedirectType: "both",
|
||||||
|
|
||||||
nitterNormalRedirectsChecks: nitterNormalRedirectsChecks,
|
nitterNormalRedirectsChecks,
|
||||||
nitterNormalCustomRedirects: [],
|
nitterNormalCustomRedirects: [],
|
||||||
|
|
||||||
nitterTorRedirectsChecks: [...redirects.nitter.tor],
|
nitterTorRedirectsChecks: [...redirects.nitter.tor],
|
||||||
|
|
|
@ -25,7 +25,7 @@ function getRandomInstance(instances) {
|
||||||
|
|
||||||
let cloudflareBlackList = []
|
let cloudflareBlackList = []
|
||||||
let authenticateBlackList = []
|
let authenticateBlackList = []
|
||||||
let offlineBlacklist = []
|
let offlineBlackList = []
|
||||||
async function initBlackList() {
|
async function initBlackList() {
|
||||||
return new Promise(resolve => {
|
return new Promise(resolve => {
|
||||||
fetch("/instances/blacklist.json")
|
fetch("/instances/blacklist.json")
|
||||||
|
@ -33,7 +33,7 @@ async function initBlackList() {
|
||||||
.then(data => {
|
.then(data => {
|
||||||
cloudflareBlackList = JSON.parse(data).cloudflare
|
cloudflareBlackList = JSON.parse(data).cloudflare
|
||||||
authenticateBlackList = JSON.parse(data).authenticate
|
authenticateBlackList = JSON.parse(data).authenticate
|
||||||
offlineBlacklist = JSON.parse(data).offlineBlacklist
|
offlineBlackList = JSON.parse(data).offline
|
||||||
resolve()
|
resolve()
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
@ -62,6 +62,7 @@ function updateInstances() {
|
||||||
invidious: instances.invidious,
|
invidious: instances.invidious,
|
||||||
piped: instances.piped,
|
piped: instances.piped,
|
||||||
pipedMaterial: instances.pipedMaterial,
|
pipedMaterial: instances.pipedMaterial,
|
||||||
|
cloudtube: instances.cloudtube,
|
||||||
})
|
})
|
||||||
twitterHelper.setRedirects(instances.nitter)
|
twitterHelper.setRedirects(instances.nitter)
|
||||||
instagramHelper.setRedirects(instances.bibliogram)
|
instagramHelper.setRedirects(instances.bibliogram)
|
||||||
|
@ -164,7 +165,7 @@ async function processDefaultCustomInstances(target, name, protocol, document) {
|
||||||
...redirects[name][protocol].map(x => {
|
...redirects[name][protocol].map(x => {
|
||||||
const cloudflare = cloudflareBlackList.includes(x) ? ' <span style="color:red;">cloudflare</span>' : ""
|
const cloudflare = cloudflareBlackList.includes(x) ? ' <span style="color:red;">cloudflare</span>' : ""
|
||||||
const authenticate = authenticateBlackList.includes(x) ? ' <span style="color:orange;">authenticate</span>' : ""
|
const authenticate = authenticateBlackList.includes(x) ? ' <span style="color:orange;">authenticate</span>' : ""
|
||||||
const offline = offlineBlacklist.includes(x) ? ' <span style="color:grey;">offline</span>' : ""
|
const offline = offlineBlackList.includes(x) ? ' <span style="color:grey;">offline</span>' : ""
|
||||||
|
|
||||||
let ms = instancesLatency[x]
|
let ms = instancesLatency[x]
|
||||||
let latencyColor = ms <= 1000 ? "green" : ms <= 2000 ? "orange" : "red"
|
let latencyColor = ms <= 1000 ? "green" : ms <= 2000 ? "orange" : "red"
|
||||||
|
@ -250,34 +251,57 @@ async function processDefaultCustomInstances(target, name, protocol, document) {
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
async function ping(href) {
|
function ping(href) {
|
||||||
return new Promise(async resolve => {
|
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()
|
let http = new XMLHttpRequest()
|
||||||
http.open("GET", `${href}?_=${new Date().getTime()}`, /*async*/ true)
|
|
||||||
http.timeout = 5000
|
http.timeout = 5000
|
||||||
let started = new Date().getTime()
|
http.ontimeout = () => resolve(5000)
|
||||||
|
http.onerror = () => resolve()
|
||||||
http.onreadystatechange = () => {
|
http.onreadystatechange = () => {
|
||||||
if (http.readyState == 2) {
|
if (http.readyState == 2) {
|
||||||
if (http.status == 200) {
|
if (http.status == 200) {
|
||||||
let ended = new Date().getTime()
|
let ended = new Date().getTime()
|
||||||
http.abort()
|
http.abort()
|
||||||
resolve(ended - started)
|
resolve(ended - started)
|
||||||
} else resolve(5000 + http.status)
|
} else {
|
||||||
|
resolve(5000 + http.status)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
http.ontimeout = () => resolve(5000)
|
}
|
||||||
http.onerror = () => resolve()
|
http.open("GET", `${href}?_=${new Date().getTime()}`, true)
|
||||||
try {
|
started = new Date().getTime()
|
||||||
http.send(null)
|
http.send(null)
|
||||||
} catch (exception) {
|
|
||||||
resolve()
|
|
||||||
}
|
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
async function testLatency(element, instances) {
|
async function testLatency(element, instances, frontend) {
|
||||||
return new Promise(async resolve => {
|
return new Promise(async resolve => {
|
||||||
let myList = {}
|
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)
|
for (const href of instances)
|
||||||
await ping(href).then(time => {
|
await ping(href).then(time => {
|
||||||
if (time) {
|
if (time) {
|
||||||
|
@ -287,6 +311,12 @@ async function testLatency(element, instances) {
|
||||||
else if (time <= 2000) color = "orange"
|
else if (time <= 2000) color = "orange"
|
||||||
else color = "red"
|
else color = "red"
|
||||||
|
|
||||||
|
if (time > latencyThreshold) {
|
||||||
|
redirectsChecks.splice(redirectsChecks.indexOf(href), 1)
|
||||||
|
}
|
||||||
|
|
||||||
|
browser.storage.local.set({ [`${frontend}NormalRedirectsChecks`]: redirectsChecks })
|
||||||
|
|
||||||
let text
|
let text
|
||||||
if (time == 5000) text = "5000ms+"
|
if (time == 5000) text = "5000ms+"
|
||||||
else if (time > 5000) text = `ERROR: ${time - 5000}`
|
else if (time > 5000) text = `ERROR: ${time - 5000}`
|
||||||
|
@ -486,8 +516,8 @@ function latency(name, frontend, document, location) {
|
||||||
let redirects = r[key]
|
let redirects = r[key]
|
||||||
const oldHtml = latencyLabel.innerHTML
|
const oldHtml = latencyLabel.innerHTML
|
||||||
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 })
|
browser.storage.local.set({ [`${frontend}Latency`]: r })
|
||||||
latencyLabel.innerHTML = oldHtml
|
latencyLabel.innerHTML = oldHtml
|
||||||
processDefaultCustomInstances(name, frontend, "normal", document)
|
processDefaultCustomInstances(name, frontend, "normal", document)
|
||||||
latencyElement.removeEventListener("click", reloadWindow)
|
latencyElement.removeEventListener("click", reloadWindow)
|
||||||
|
|
|
@ -17,16 +17,19 @@ for (let i = 0; i < frontends.length; i++) {
|
||||||
}
|
}
|
||||||
|
|
||||||
function setRedirects(val) {
|
function setRedirects(val) {
|
||||||
browser.storage.local.get("cloudflareBlackList", r => {
|
browser.storage.local.get(["cloudflareBlackList", "offlineBlackList"], r => {
|
||||||
redirects.wikiless = val
|
redirects.wikiless = val
|
||||||
wikilessNormalRedirectsChecks = [...redirects.wikiless.normal]
|
wikilessNormalRedirectsChecks = [...redirects.wikiless.normal]
|
||||||
for (const instance of r.cloudflareBlackList) {
|
for (const instance of [...r.cloudflareBlackList, ...r.offlineBlackList]) {
|
||||||
const a = wikilessNormalRedirectsChecks.indexOf(instance)
|
const a = wikilessNormalRedirectsChecks.indexOf(instance)
|
||||||
if (a > -1) wikilessNormalRedirectsChecks.splice(a, 1)
|
if (a > -1) wikilessNormalRedirectsChecks.splice(a, 1)
|
||||||
}
|
}
|
||||||
browser.storage.local.set({
|
browser.storage.local.set({
|
||||||
wikipediaRedirects: redirects,
|
wikipediaRedirects: redirects,
|
||||||
wikilessNormalRedirectsChecks,
|
wikilessNormalRedirectsChecks,
|
||||||
|
wikilessTorRedirectsChecks: [...redirects.wikiless.tor],
|
||||||
|
wikilessI2pRedirectsChecks: [...redirects.wikiless.i2p],
|
||||||
|
wikilessLokiRedirectsChecks: [...redirects.wikiless.loki],
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
@ -200,18 +203,18 @@ function initDefaults() {
|
||||||
for (let i = 0; i < frontends.length; i++) {
|
for (let i = 0; i < frontends.length; i++) {
|
||||||
redirects[frontends[i]] = dataJson[frontends[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]
|
wikilessNormalRedirectsChecks = [...redirects.wikiless.normal]
|
||||||
for (const instance of r.cloudflareBlackList) {
|
for (const instance of [...r.cloudflareBlackList, ...r.offlineBlackList]) {
|
||||||
let i = wikilessNormalRedirectsChecks.indexOf(instance)
|
const a = wikilessNormalRedirectsChecks.indexOf(instance)
|
||||||
if (i > -1) wikilessNormalRedirectsChecks.splice(i, 1)
|
if (a > -1) wikilessNormalRedirectsChecks.splice(a, 1)
|
||||||
}
|
}
|
||||||
browser.storage.local.set(
|
browser.storage.local.set(
|
||||||
{
|
{
|
||||||
disableWikipedia: true,
|
disableWikipedia: true,
|
||||||
wikipediaRedirects: redirects,
|
wikipediaRedirects: redirects,
|
||||||
|
|
||||||
wikilessNormalRedirectsChecks: wikilessNormalRedirectsChecks,
|
wikilessNormalRedirectsChecks,
|
||||||
wikilessNormalCustomRedirects: [],
|
wikilessNormalCustomRedirects: [],
|
||||||
|
|
||||||
wikilessTorRedirectsChecks: [...redirects.wikiless.tor],
|
wikilessTorRedirectsChecks: [...redirects.wikiless.tor],
|
||||||
|
|
|
@ -30,14 +30,13 @@ for (let i = 0; i < frontends.length; i++) {
|
||||||
}
|
}
|
||||||
|
|
||||||
function setRedirects(val) {
|
function setRedirects(val) {
|
||||||
browser.storage.local.get("cloudflareBlackList", r => {
|
browser.storage.local.get(["cloudflareBlackList", "offlineBlackList"], r => {
|
||||||
for (let i = 0; i < frontends.length; i++) {
|
redirects = val
|
||||||
redirects.frontends = val.frontends
|
|
||||||
}
|
|
||||||
invidiousNormalRedirectsChecks = [...redirects.invidious.normal]
|
invidiousNormalRedirectsChecks = [...redirects.invidious.normal]
|
||||||
pipedNormalRedirectsChecks = [...redirects.piped.normal]
|
pipedNormalRedirectsChecks = [...redirects.piped.normal]
|
||||||
pipedMaterialNormalRedirectsChecks = [...redirects.pipedMaterial.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)
|
const a = invidiousNormalRedirectsChecks.indexOf(instance)
|
||||||
if (a > -1) invidiousNormalRedirectsChecks.splice(a, 1)
|
if (a > -1) invidiousNormalRedirectsChecks.splice(a, 1)
|
||||||
|
|
||||||
|
@ -53,9 +52,21 @@ function setRedirects(val) {
|
||||||
browser.storage.local.set({
|
browser.storage.local.set({
|
||||||
youtubeRedirects: redirects,
|
youtubeRedirects: redirects,
|
||||||
invidiousNormalRedirectsChecks,
|
invidiousNormalRedirectsChecks,
|
||||||
|
invidiousTorRedirectsChecks: [...redirects.invidious.tor],
|
||||||
|
invidiousI2pRedirectsChecks: [...redirects.invidious.i2p],
|
||||||
|
invidiousLokiRedirectsChecks: [...redirects.invidious.loki],
|
||||||
pipedNormalRedirectsChecks,
|
pipedNormalRedirectsChecks,
|
||||||
|
pipedTorRedirectsChecks: [...redirects.piped.tor],
|
||||||
|
pipedI2pRedirectsChecks: [...redirects.piped.i2p],
|
||||||
|
pipedLokiRedirectsChecks: [...redirects.piped.loki],
|
||||||
pipedMaterialNormalRedirectsChecks,
|
pipedMaterialNormalRedirectsChecks,
|
||||||
|
pipedMaterialTorRedirectsChecks: [...redirects.pipedMaterial.tor],
|
||||||
|
pipedMaterialI2pRedirectsChecks: [...redirects.pipedMaterial.i2p],
|
||||||
|
pipedMaterialLokiRedirectsChecks: [...redirects.pipedMaterial.loki],
|
||||||
cloudtubeNormalRedirectsChecks,
|
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++) {
|
for (let i = 0; i < frontends.length; i++) {
|
||||||
redirects[frontends[i]] = dataJson[frontends[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]
|
invidiousNormalRedirectsChecks = [...redirects.invidious.normal]
|
||||||
pipedNormalRedirectsChecks = [...redirects.piped.normal]
|
pipedNormalRedirectsChecks = [...redirects.piped.normal]
|
||||||
pipedMaterialNormalRedirectsChecks = [...redirects.pipedMaterial.normal]
|
pipedMaterialNormalRedirectsChecks = [...redirects.pipedMaterial.normal]
|
||||||
cloudtubeNormalRedirectsChecks = [...redirects.cloudtube.normal]
|
cloudtubeNormalRedirectsChecks = [...redirects.cloudtube.normal]
|
||||||
|
for (const instance of [...r.cloudflareBlackList, ...r.offlineBlackList]) {
|
||||||
for (const instance of r.cloudflareBlackList) {
|
|
||||||
const a = invidiousNormalRedirectsChecks.indexOf(instance)
|
const a = invidiousNormalRedirectsChecks.indexOf(instance)
|
||||||
if (a > -1) invidiousNormalRedirectsChecks.splice(a, 1)
|
if (a > -1) invidiousNormalRedirectsChecks.splice(a, 1)
|
||||||
|
|
||||||
|
@ -467,9 +477,8 @@ function initDefaults() {
|
||||||
if (c > -1) pipedMaterialNormalRedirectsChecks.splice(c, 1)
|
if (c > -1) pipedMaterialNormalRedirectsChecks.splice(c, 1)
|
||||||
|
|
||||||
const d = cloudtubeNormalRedirectsChecks.indexOf(instance)
|
const d = cloudtubeNormalRedirectsChecks.indexOf(instance)
|
||||||
if (d > -1) cloudtubeNormalRedirectsChecks.indexOf(instance)
|
if (c > -1) cloudtubeNormalRedirectsChecks.splice(d, 1)
|
||||||
}
|
}
|
||||||
|
|
||||||
browser.storage.local.set(
|
browser.storage.local.set(
|
||||||
{
|
{
|
||||||
disableYoutube: false,
|
disableYoutube: false,
|
||||||
|
@ -478,7 +487,7 @@ function initDefaults() {
|
||||||
youtubeRedirects: redirects,
|
youtubeRedirects: redirects,
|
||||||
youtubeFrontend: "invidious",
|
youtubeFrontend: "invidious",
|
||||||
|
|
||||||
invidiousNormalRedirectsChecks: invidiousNormalRedirectsChecks,
|
invidiousNormalRedirectsChecks,
|
||||||
invidiousNormalCustomRedirects: [],
|
invidiousNormalCustomRedirects: [],
|
||||||
|
|
||||||
invidiousTorRedirectsChecks: [...redirects.invidious.tor],
|
invidiousTorRedirectsChecks: [...redirects.invidious.tor],
|
||||||
|
@ -490,7 +499,7 @@ function initDefaults() {
|
||||||
invidiousLokiRedirectsChecks: [...redirects.invidious.loki],
|
invidiousLokiRedirectsChecks: [...redirects.invidious.loki],
|
||||||
invidiousLokiCustomRedirects: [],
|
invidiousLokiCustomRedirects: [],
|
||||||
|
|
||||||
pipedNormalRedirectsChecks: pipedNormalRedirectsChecks,
|
pipedNormalRedirectsChecks,
|
||||||
pipedNormalCustomRedirects: [],
|
pipedNormalCustomRedirects: [],
|
||||||
|
|
||||||
pipedTorRedirectsChecks: [...redirects.piped.tor],
|
pipedTorRedirectsChecks: [...redirects.piped.tor],
|
||||||
|
|
|
@ -19,11 +19,11 @@ for (let i = 0; i < frontends.length; i++) {
|
||||||
}
|
}
|
||||||
|
|
||||||
function setRedirects(val) {
|
function setRedirects(val) {
|
||||||
browser.storage.local.get("cloudflareBlackList", r => {
|
browser.storage.local.get(["cloudflareBlackList", "offlineBlackList"], r => {
|
||||||
redirects = val
|
redirects = val
|
||||||
beatbumpNormalRedirectsChecks = [...redirects.beatbump.normal]
|
beatbumpNormalRedirectsChecks = [...redirects.beatbump.normal]
|
||||||
hyperpipeNormalRedirectsChecks = [...redirects.hyperpipe.normal]
|
hyperpipeNormalRedirectsChecks = [...redirects.hyperpipe.normal]
|
||||||
for (const instance of r.cloudflareBlackList) {
|
for (const instance of [...r.cloudflareBlackList, ...r.offlineBlackList]) {
|
||||||
const a = beatbumpNormalRedirectsChecks.indexOf(instance)
|
const a = beatbumpNormalRedirectsChecks.indexOf(instance)
|
||||||
if (a > -1) beatbumpNormalRedirectsChecks.splice(a, 1)
|
if (a > -1) beatbumpNormalRedirectsChecks.splice(a, 1)
|
||||||
|
|
||||||
|
@ -33,7 +33,13 @@ function setRedirects(val) {
|
||||||
browser.storage.local.set({
|
browser.storage.local.set({
|
||||||
youtubeMusicRedirects: redirects,
|
youtubeMusicRedirects: redirects,
|
||||||
beatbumpNormalRedirectsChecks,
|
beatbumpNormalRedirectsChecks,
|
||||||
|
beatbumpTorRedirectsChecks: [...redirects.beatbump.tor],
|
||||||
|
beatbumpI2pRedirectsChecks: [...redirects.beatbump.i2p],
|
||||||
|
beatbumpLokiRedirectsChecks: [...redirects.beatbump.loki],
|
||||||
hyperpipeNormalRedirectsChecks,
|
hyperpipeNormalRedirectsChecks,
|
||||||
|
hyperpipeTorRedirectsChecks: [...redirects.hyperpipe.tor],
|
||||||
|
hyperpipeI2pRedirectsChecks: [...redirects.hyperpipe.i2p],
|
||||||
|
hyperpipeLokiRedirectsChecks: [...redirects.hyperpipe.loki],
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
@ -266,17 +272,15 @@ function initDefaults() {
|
||||||
for (let i = 0; i < frontends.length; i++) {
|
for (let i = 0; i < frontends.length; i++) {
|
||||||
redirects[frontends[i]] = dataJson[frontends[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]
|
beatbumpNormalRedirectsChecks = [...redirects.beatbump.normal]
|
||||||
hyperpipeNormalRedirectsChecks = [...redirects.hyperpipe.normal]
|
hyperpipeNormalRedirectsChecks = [...redirects.hyperpipe.normal]
|
||||||
for (const instance of r.cloudflareBlackList) {
|
for (const instance of [...r.cloudflareBlackList, ...r.offlineBlackList]) {
|
||||||
let i
|
const a = beatbumpNormalRedirectsChecks.indexOf(instance)
|
||||||
|
if (a > -1) beatbumpNormalRedirectsChecks.splice(a, 1)
|
||||||
|
|
||||||
i = beatbumpNormalRedirectsChecks.indexOf(instance)
|
const b = hyperpipeNormalRedirectsChecks.indexOf(instance)
|
||||||
if (i > -1) beatbumpNormalRedirectsChecks.splice(i, 1)
|
if (b > -1) hyperpipeNormalRedirectsChecks.splice(b, 1)
|
||||||
|
|
||||||
i = hyperpipeNormalRedirectsChecks.indexOf(instance)
|
|
||||||
if (i > -1) hyperpipeNormalRedirectsChecks.splice(i, 1)
|
|
||||||
}
|
}
|
||||||
browser.storage.local.set(
|
browser.storage.local.set(
|
||||||
{
|
{
|
||||||
|
@ -284,7 +288,7 @@ function initDefaults() {
|
||||||
youtubeMusicFrontend: "hyperpipe",
|
youtubeMusicFrontend: "hyperpipe",
|
||||||
youtubeMusicRedirects: redirects,
|
youtubeMusicRedirects: redirects,
|
||||||
|
|
||||||
beatbumpNormalRedirectsChecks: beatbumpNormalRedirectsChecks,
|
beatbumpNormalRedirectsChecks,
|
||||||
beatbumpNormalCustomRedirects: [],
|
beatbumpNormalCustomRedirects: [],
|
||||||
|
|
||||||
beatbumpTorRedirectsChecks: [...redirects.beatbump.tor],
|
beatbumpTorRedirectsChecks: [...redirects.beatbump.tor],
|
||||||
|
@ -296,7 +300,7 @@ function initDefaults() {
|
||||||
beatbumpLokiRedirectsChecks: [...redirects.beatbump.loki],
|
beatbumpLokiRedirectsChecks: [...redirects.beatbump.loki],
|
||||||
beatbumpLokiCustomRedirects: [],
|
beatbumpLokiCustomRedirects: [],
|
||||||
|
|
||||||
hyperpipeNormalRedirectsChecks: hyperpipeNormalRedirectsChecks,
|
hyperpipeNormalRedirectsChecks,
|
||||||
hyperpipeNormalCustomRedirects: [],
|
hyperpipeNormalCustomRedirects: [],
|
||||||
|
|
||||||
hyperpipeTorRedirectsChecks: [...redirects.hyperpipe.tor],
|
hyperpipeTorRedirectsChecks: [...redirects.hyperpipe.tor],
|
||||||
|
|
|
@ -4,9 +4,8 @@
|
||||||
"https://piped.kavin.rocks",
|
"https://piped.kavin.rocks",
|
||||||
"https://piped.tokhmi.xyz",
|
"https://piped.tokhmi.xyz",
|
||||||
"https://piped.moomoo.me",
|
"https://piped.moomoo.me",
|
||||||
"https://piped.syncpundit.com",
|
|
||||||
"https://piped.mha.fi",
|
"https://piped.mha.fi",
|
||||||
"https://jp-piped.shimul.me",
|
"https://de-piped.shimul.me",
|
||||||
"https://pipedus.palash.dev",
|
"https://pipedus.palash.dev",
|
||||||
"https://piped.waffle.wiki",
|
"https://piped.waffle.wiki",
|
||||||
"https://watch.whatever.social",
|
"https://watch.whatever.social",
|
||||||
|
@ -68,7 +67,6 @@
|
||||||
"https://jsearch.pw",
|
"https://jsearch.pw",
|
||||||
"https://searx.gnu.style",
|
"https://searx.gnu.style",
|
||||||
"https://searx.semipvt.com",
|
"https://searx.semipvt.com",
|
||||||
"https://searx.vanwa.tech",
|
|
||||||
"https://etsi.me",
|
"https://etsi.me",
|
||||||
"https://s.zhaocloud.net",
|
"https://s.zhaocloud.net",
|
||||||
"https://search.vidhukant.xyz",
|
"https://search.vidhukant.xyz",
|
||||||
|
|
|
@ -12,6 +12,7 @@
|
||||||
"https://invidious.sethforprivacy.com",
|
"https://invidious.sethforprivacy.com",
|
||||||
"https://invidious.tiekoetter.com",
|
"https://invidious.tiekoetter.com",
|
||||||
"https://inv.bp.projectsegfau.lt",
|
"https://inv.bp.projectsegfau.lt",
|
||||||
|
"https://invidious.projectsegfau.lt",
|
||||||
"https://inv.vern.cc",
|
"https://inv.vern.cc",
|
||||||
"https://invidious.nerdvpn.de",
|
"https://invidious.nerdvpn.de",
|
||||||
"https://inv.privacy.com.de",
|
"https://inv.privacy.com.de",
|
||||||
|
@ -19,7 +20,6 @@
|
||||||
"https://youtube.076.ne.jp",
|
"https://youtube.076.ne.jp",
|
||||||
"https://invidious.weblibre.org",
|
"https://invidious.weblibre.org",
|
||||||
"https://invidious.snopyta.org",
|
"https://invidious.snopyta.org",
|
||||||
"https://invidious.projectsegfau.lt",
|
|
||||||
"https://invidious.esmailelbob.xyz",
|
"https://invidious.esmailelbob.xyz",
|
||||||
"https://invidious.namazso.eu"
|
"https://invidious.namazso.eu"
|
||||||
],
|
],
|
||||||
|
@ -43,13 +43,13 @@
|
||||||
"https://piped.tokhmi.xyz",
|
"https://piped.tokhmi.xyz",
|
||||||
"https://piped.moomoo.me",
|
"https://piped.moomoo.me",
|
||||||
"https://il.ax",
|
"https://il.ax",
|
||||||
"https://piped.syncpundit.com",
|
|
||||||
"https://piped.mha.fi",
|
"https://piped.mha.fi",
|
||||||
"https://jp-piped.shimul.me",
|
"https://de-piped.shimul.me",
|
||||||
"https://pipedus.palash.dev",
|
"https://pipedus.palash.dev",
|
||||||
"https://piped.waffle.wiki",
|
"https://piped.waffle.wiki",
|
||||||
"https://watch.whatever.social",
|
"https://watch.whatever.social",
|
||||||
"https://yt.jae.fi",
|
"https://yt.jae.fi",
|
||||||
|
"https://piped.mint.lgbt",
|
||||||
"https://piped.esmailelbob.xyz",
|
"https://piped.esmailelbob.xyz",
|
||||||
"https://piped.projectsegfau.lt"
|
"https://piped.projectsegfau.lt"
|
||||||
],
|
],
|
||||||
|
@ -501,7 +501,6 @@
|
||||||
"https://searx.tuxcloud.net",
|
"https://searx.tuxcloud.net",
|
||||||
"https://searx.tyil.nl",
|
"https://searx.tyil.nl",
|
||||||
"https://searx.vanwa.tech",
|
"https://searx.vanwa.tech",
|
||||||
"https://searx.vimproved.me",
|
|
||||||
"https://searx.webheberg.info",
|
"https://searx.webheberg.info",
|
||||||
"https://searx.xyz",
|
"https://searx.xyz",
|
||||||
"https://searx.zapashcanon.fr",
|
"https://searx.zapashcanon.fr",
|
||||||
|
@ -519,8 +518,7 @@
|
||||||
"http://yra4tke2pwcnatxjkufpw6kvebu3h3ti2jca2lcdpgx3mpwol326lzid.onion",
|
"http://yra4tke2pwcnatxjkufpw6kvebu3h3ti2jca2lcdpgx3mpwol326lzid.onion",
|
||||||
"http://z5vawdol25vrmorm4yydmohsd4u6rdoj2sylvoi3e3nqvxkvpqul7bqd.onion",
|
"http://z5vawdol25vrmorm4yydmohsd4u6rdoj2sylvoi3e3nqvxkvpqul7bqd.onion",
|
||||||
"http://zbuc3bbzbfdqqo2x46repx2ddajbha6fpsjeeptjhhhhzji3zopxdqyd.onion",
|
"http://zbuc3bbzbfdqqo2x46repx2ddajbha6fpsjeeptjhhhhzji3zopxdqyd.onion",
|
||||||
"http://f4qfqajszpx5b7itzxt6mb7kj4ktpgbdq7lq6xaiqyqx6a7de3epptad.onion",
|
"http://f4qfqajszpx5b7itzxt6mb7kj4ktpgbdq7lq6xaiqyqx6a7de3epptad.onion"
|
||||||
"http://searx.micohauwkjbyw5meacrb4ipicwvwg4xtzl7y7viv53kig2mdcsvwkyyd.onion"
|
|
||||||
],
|
],
|
||||||
"i2p": [
|
"i2p": [
|
||||||
"http://ransack.i2p",
|
"http://ransack.i2p",
|
||||||
|
@ -582,6 +580,7 @@
|
||||||
"https://searx.sev.monster",
|
"https://searx.sev.monster",
|
||||||
"https://searx.slipfox.xyz/searx",
|
"https://searx.slipfox.xyz/searx",
|
||||||
"https://searx.tiekoetter.com",
|
"https://searx.tiekoetter.com",
|
||||||
|
"https://searx.vimproved.me",
|
||||||
"https://searx.zcyph.cc",
|
"https://searx.zcyph.cc",
|
||||||
"https://searxng.au/searx",
|
"https://searxng.au/searx",
|
||||||
"https://searxng.tordenskjold.de",
|
"https://searxng.tordenskjold.de",
|
||||||
|
@ -603,6 +602,7 @@
|
||||||
"http://searchoorwalty5a2ailrboa2asqyts2u7bdoqwnjefpgjobpvtzn4qd.onion",
|
"http://searchoorwalty5a2ailrboa2asqyts2u7bdoqwnjefpgjobpvtzn4qd.onion",
|
||||||
"http://gbat2pbpg7ys3fi3pbp64667tt5x66mg45xok35bxdw7v55brm7a27yd.onion",
|
"http://gbat2pbpg7ys3fi3pbp64667tt5x66mg45xok35bxdw7v55brm7a27yd.onion",
|
||||||
"http://searxdr3pqz4nydgnqocsia2xbywptxbkympa2emn7zlgggrir4bkfad.onion",
|
"http://searxdr3pqz4nydgnqocsia2xbywptxbkympa2emn7zlgggrir4bkfad.onion",
|
||||||
|
"http://searx.micohauwkjbyw5meacrb4ipicwvwg4xtzl7y7viv53kig2mdcsvwkyyd.onion",
|
||||||
"http://searx.privpw3tndpkw6pnp3g727zfgfdzbu3k6a7chv226s3xymv2p4eiuqyd.onion",
|
"http://searx.privpw3tndpkw6pnp3g727zfgfdzbu3k6a7chv226s3xymv2p4eiuqyd.onion",
|
||||||
"http://rq2w52kyrif3xpfihkgjnhqm3a5aqhoikpv72z3drpjglfzc2wr5z4yd.onion",
|
"http://rq2w52kyrif3xpfihkgjnhqm3a5aqhoikpv72z3drpjglfzc2wr5z4yd.onion",
|
||||||
"http://fub6vgedgeadlu3ctskrpkcqjruh76tckwtj5swfhyblgml2tzgzckqd.onion/searx",
|
"http://fub6vgedgeadlu3ctskrpkcqjruh76tckwtj5swfhyblgml2tzgzckqd.onion/searx",
|
||||||
|
@ -820,7 +820,6 @@
|
||||||
"https://tube-enseignement-professionnel.apps.education.fr",
|
"https://tube-enseignement-professionnel.apps.education.fr",
|
||||||
"https://socpeertube.ru",
|
"https://socpeertube.ru",
|
||||||
"https://videos.laliguepaysdelaloire.org",
|
"https://videos.laliguepaysdelaloire.org",
|
||||||
"https://videotube.duckdns.org",
|
|
||||||
"https://quantube.win",
|
"https://quantube.win",
|
||||||
"https://twctube.twc-zone.eu",
|
"https://twctube.twc-zone.eu",
|
||||||
"https://vhs.absturztau.be",
|
"https://vhs.absturztau.be",
|
||||||
|
|
|
@ -92,7 +92,7 @@ def is_authenticate(url):
|
||||||
def is_offline(url):
|
def is_offline(url):
|
||||||
try:
|
try:
|
||||||
r = requests.get(url, timeout=5)
|
r = requests.get(url, timeout=5)
|
||||||
if r.status_code != 200:
|
if r.status_code >= 400:
|
||||||
print(url + ' is ' + Fore.RED + 'offline' + Style.RESET_ALL)
|
print(url + ' is ' + Fore.RED + 'offline' + Style.RESET_ALL)
|
||||||
print("Status code")
|
print("Status code")
|
||||||
print(r.status_code)
|
print(r.status_code)
|
||||||
|
|
|
@ -32,6 +32,7 @@ browser.runtime.onInstalled.addListener(details => {
|
||||||
browser.storage.local.clear(() => {
|
browser.storage.local.clear(() => {
|
||||||
browser.storage.local.set({ cloudflareBlackList: JSON.parse(data).cloudflare }, () => {
|
browser.storage.local.set({ cloudflareBlackList: JSON.parse(data).cloudflare }, () => {
|
||||||
browser.storage.local.set({ authenticateBlackList: JSON.parse(data).authenticate }, () => {
|
browser.storage.local.set({ authenticateBlackList: JSON.parse(data).authenticate }, () => {
|
||||||
|
browser.storage.local.set({ offlineBlackList: JSON.parse(data).offline }, () => {
|
||||||
generalHelper.initDefaults()
|
generalHelper.initDefaults()
|
||||||
youtubeHelper.initDefaults()
|
youtubeHelper.initDefaults()
|
||||||
youtubeMusicHelper.initDefaults()
|
youtubeMusicHelper.initDefaults()
|
||||||
|
@ -55,6 +56,7 @@ browser.runtime.onInstalled.addListener(details => {
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
})
|
||||||
}
|
}
|
||||||
if (details.reason == "install") initDefaults()
|
if (details.reason == "install") initDefaults()
|
||||||
|
|
||||||
|
|
|
@ -21,7 +21,7 @@
|
||||||
<div class="title"> <img src="../../../assets/images/instagram-icon.png"><a href="#instagram" data-localise="__MSG_instagram__">Instagram</a></div>
|
<div class="title"> <img src="../../../assets/images/instagram-icon.png"><a href="#instagram" data-localise="__MSG_instagram__">Instagram</a></div>
|
||||||
<div class="title"> <img src="../../../assets/images/tiktok-icon.png"><a href="#tiktok" data-localise="__MSG_tiktok__">TikTok</a></div>
|
<div class="title"> <img src="../../../assets/images/tiktok-icon.png"><a href="#tiktok" data-localise="__MSG_tiktok__">TikTok</a></div>
|
||||||
<div class="title"> <img src="../../../assets/images/reddit-icon.png"><a href="#reddit" data-localise="__MSG_reddit__">Reddit</a></div>
|
<div class="title"> <img src="../../../assets/images/reddit-icon.png"><a href="#reddit" data-localise="__MSG_reddit__">Reddit</a></div>
|
||||||
<div class="title"> <img src="../../../assets/images/imgur-icon.png"><a href="#imgur" data-localise="__MSG_imgur__">Imgur</a></div>
|
<div class="title"> <img src="../../../assets/images/imgur.png"><a href="#imgur" data-localise="__MSG_imgur__">Imgur</a></div>
|
||||||
<div class="title"> <img src="../../../assets/images/wikipedia-icon.svg"><a href="#wikipedia" data-localise="__MSG_wikipedia__">Wikipedia</a></div>
|
<div class="title"> <img src="../../../assets/images/wikipedia-icon.svg"><a href="#wikipedia" data-localise="__MSG_wikipedia__">Wikipedia</a></div>
|
||||||
<div class="title">
|
<div class="title">
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1770 1000" fill="currentColor">
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1770 1000" fill="currentColor">
|
||||||
|
@ -34,7 +34,7 @@
|
||||||
<div class="title"><img src="../../../assets/images/imdb.svg"><a href="#imdb" data-localise="__MSG_imdb__">IMDb</a></div>
|
<div class="title"><img src="../../../assets/images/imdb.svg"><a href="#imdb" data-localise="__MSG_imdb__">IMDb</a></div>
|
||||||
<div class="title"><img src="../../../assets/images/reuters.svg"><a href="#reuters" data-localise="__MSG_reuters__">Reuters</a></div>
|
<div class="title"><img src="../../../assets/images/reuters.svg"><a href="#reuters" data-localise="__MSG_reuters__">Reuters</a></div>
|
||||||
<div class="title"> <img src="../../../assets/images/peertube-icon.svg"><a href="#peertube" data-localise="__MSG_peertube__">PeerTube</a></div>
|
<div class="title"> <img src="../../../assets/images/peertube-icon.svg"><a href="#peertube" data-localise="__MSG_peertube__">PeerTube</a></div>
|
||||||
<div class="title"> <img src="../../../assets/images/lbry-icon.png"><a href="#lbry" data-localise="__MSG_lbry__">LBRY/Odysee</a></div>
|
<div class="title"> <img src="../../../assets/images/lbry-icon.png"><a href="#lbry" data-localise="__MSG_lbry__">LBRY</a></div>
|
||||||
<div class="title">
|
<div class="title">
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor">
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor">
|
||||||
<path d="M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"></path>
|
<path d="M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"></path>
|
||||||
|
@ -94,6 +94,13 @@
|
||||||
<h4 data-localise="__MSG_autoRedirect__"></h4>
|
<h4 data-localise="__MSG_autoRedirect__"></h4>
|
||||||
<input id="auto-redirect" type="checkbox">
|
<input id="auto-redirect" type="checkbox">
|
||||||
</div>
|
</div>
|
||||||
|
<form>
|
||||||
|
<div class="some-block option-block">
|
||||||
|
<h4 data-localise="__MSG_latencyThreshold">Latency Threshold</h4>
|
||||||
|
<output id="latency-output" for="latencyInput" name="latencyOutput"></output>
|
||||||
|
<input id="latency-input" type="range" min="50" max="5000" value="1000" name="latencyInput" step="50">
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
<div class="some-block option-block">
|
<div class="some-block option-block">
|
||||||
<h4 data-localise="__MSG_exceptions__"></h4>
|
<h4 data-localise="__MSG_exceptions__"></h4>
|
||||||
</div>
|
</div>
|
||||||
|
@ -173,7 +180,7 @@
|
||||||
<input id="tiktok" type="checkbox">
|
<input id="tiktok" type="checkbox">
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<div> <img src="../../../assets/images/imgur-icon.png">
|
<div> <img src="../../../assets/images/imgur.png">
|
||||||
<x data-localise="__MSG_imgur__">Imgur</x>
|
<x data-localise="__MSG_imgur__">Imgur</x>
|
||||||
</div>
|
</div>
|
||||||
<input id="imgur" type="checkbox">
|
<input id="imgur" type="checkbox">
|
||||||
|
@ -254,7 +261,7 @@
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<div> <img src="../../../assets/images/lbry-icon.png">
|
<div> <img src="../../../assets/images/lbry-icon.png">
|
||||||
<x data-localise="__MSG_lbry__">LBRY/Odysee</x>
|
<x data-localise="__MSG_lbry__">LBRY</x>
|
||||||
</div>
|
</div>
|
||||||
<input id="lbry" type="checkbox">
|
<input id="lbry" type="checkbox">
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -81,6 +81,7 @@ resetSettings.addEventListener("click", async () => {
|
||||||
.then(response => response.text())
|
.then(response => response.text())
|
||||||
.then(async data => {
|
.then(async data => {
|
||||||
browser.storage.local.set({ cloudflareBlackList: JSON.parse(data).cloudflare }, () => {
|
browser.storage.local.set({ cloudflareBlackList: JSON.parse(data).cloudflare }, () => {
|
||||||
|
browser.storage.local.set({ offlineBlackList: JSON.parse(data).offline }, () => {
|
||||||
browser.storage.local.set({ authenticateBlackList: JSON.parse(data).authenticate }, async () => {
|
browser.storage.local.set({ authenticateBlackList: JSON.parse(data).authenticate }, async () => {
|
||||||
await generalHelper.initDefaults()
|
await generalHelper.initDefaults()
|
||||||
await youtubeHelper.initDefaults()
|
await youtubeHelper.initDefaults()
|
||||||
|
@ -106,6 +107,7 @@ resetSettings.addEventListener("click", async () => {
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
let autoRedirectElement = document.getElementById("auto-redirect")
|
let autoRedirectElement = document.getElementById("auto-redirect")
|
||||||
|
@ -132,14 +134,14 @@ protocolFallbackCheckbox.addEventListener("change", event => {
|
||||||
browser.storage.local.set({ protocolFallback: event.target.checked })
|
browser.storage.local.set({ protocolFallback: event.target.checked })
|
||||||
})
|
})
|
||||||
|
|
||||||
// let latencyOutput = document.getElementById("latency-output")
|
let latencyOutput = document.getElementById("latency-output")
|
||||||
// let latencyInput = document.getElementById("latency-input")
|
let latencyInput = document.getElementById("latency-input")
|
||||||
// latencyInput.addEventListener("change", event => {
|
latencyInput.addEventListener("change", event => {
|
||||||
// browser.storage.local.set({ latencyThreshold: event.target.value })
|
browser.storage.local.set({ latencyThreshold: event.target.value })
|
||||||
// })
|
})
|
||||||
// latencyInput.addEventListener("input", event => {
|
latencyInput.addEventListener("input", event => {
|
||||||
// latencyOutput.value = event.target.value
|
latencyOutput.value = event.target.value
|
||||||
// })
|
})
|
||||||
|
|
||||||
let nameCustomInstanceInput = document.getElementById("exceptions-custom-instance")
|
let nameCustomInstanceInput = document.getElementById("exceptions-custom-instance")
|
||||||
let instanceTypeElement = document.getElementById("exceptions-custom-instance-type")
|
let instanceTypeElement = document.getElementById("exceptions-custom-instance-type")
|
||||||
|
@ -174,7 +176,7 @@ browser.storage.local.get(
|
||||||
themeElement.value = r.theme
|
themeElement.value = r.theme
|
||||||
protocolElement.value = r.protocol
|
protocolElement.value = r.protocol
|
||||||
protocolFallbackCheckbox.checked = r.protocolFallback
|
protocolFallbackCheckbox.checked = r.protocolFallback
|
||||||
// latencyOutput.value = r.latencyThreshold
|
latencyOutput.value = r.latencyThreshold
|
||||||
// firstPartyIsolate.checked = r.firstPartyIsolate;
|
// firstPartyIsolate.checked = r.firstPartyIsolate;
|
||||||
|
|
||||||
let protocolFallbackElement = document.getElementById("protocol-fallback")
|
let protocolFallbackElement = document.getElementById("protocol-fallback")
|
||||||
|
|
|
@ -31,6 +31,12 @@ section#general_page.option-block
|
||||||
h4(data-localise="__MSG_autoRedirect__")
|
h4(data-localise="__MSG_autoRedirect__")
|
||||||
input#auto-redirect(type="checkbox")
|
input#auto-redirect(type="checkbox")
|
||||||
|
|
||||||
|
form
|
||||||
|
.some-block.option-block
|
||||||
|
h4(data-localise="__MSG_latencyThreshold") Latency Threshold
|
||||||
|
output#latency-output(for="latencyInput" name="latencyOutput")
|
||||||
|
input#latency-input(type="range" min="50" max="5000" value="1000" name="latencyInput" step="50")
|
||||||
|
|
||||||
.some-block.option-block
|
.some-block.option-block
|
||||||
h4(data-localise="__MSG_exceptions__")
|
h4(data-localise="__MSG_exceptions__")
|
||||||
|
|
||||||
|
@ -117,7 +123,7 @@ section#general_page.option-block
|
||||||
|
|
||||||
div
|
div
|
||||||
div
|
div
|
||||||
img(src="../../../assets/images/imgur-icon.png")
|
img(src="../../../assets/images/imgur.png")
|
||||||
x(data-localise="__MSG_imgur__") Imgur
|
x(data-localise="__MSG_imgur__") Imgur
|
||||||
input#imgur(type="checkbox")
|
input#imgur(type="checkbox")
|
||||||
|
|
||||||
|
@ -190,7 +196,7 @@ section#general_page.option-block
|
||||||
div
|
div
|
||||||
div
|
div
|
||||||
img(src="../../../assets/images/lbry-icon.png")
|
img(src="../../../assets/images/lbry-icon.png")
|
||||||
x(data-localise="__MSG_lbry__") LBRY/Odysee
|
x(data-localise="__MSG_lbry__") LBRY
|
||||||
input#lbry(type="checkbox")
|
input#lbry(type="checkbox")
|
||||||
|
|
||||||
div
|
div
|
||||||
|
|
|
@ -28,7 +28,7 @@
|
||||||
<h4 data-localise="__MSG_tiktok__">TikTok</h4></a>
|
<h4 data-localise="__MSG_tiktok__">TikTok</h4></a>
|
||||||
<input class="disable-tiktok" type="checkbox"/>
|
<input class="disable-tiktok" type="checkbox"/>
|
||||||
</div>
|
</div>
|
||||||
<div class="imgur some-block"><a class="title" href="https://imgur.com"><img src="../../assets/images/imgur-icon.png"/>
|
<div class="imgur some-block"><a class="title" href="https://imgur.com"><img src="../../assets/images/imgur.png"/>
|
||||||
<h4 data-localise="__MSG_imgur__">Imgur</h4></a>
|
<h4 data-localise="__MSG_imgur__">Imgur</h4></a>
|
||||||
<input class="disable-imgur" type="checkbox"/>
|
<input class="disable-imgur" type="checkbox"/>
|
||||||
</div>
|
</div>
|
||||||
|
@ -122,7 +122,7 @@
|
||||||
<h4 data-localise="__MSG_tiktok__">TikTok</h4></a>
|
<h4 data-localise="__MSG_tiktok__">TikTok</h4></a>
|
||||||
<input class="disable-tiktok" type="checkbox"/>
|
<input class="disable-tiktok" type="checkbox"/>
|
||||||
</div>
|
</div>
|
||||||
<div class="imgur some-block"><a class="title" href="https://imgur.com"><img src="../../assets/images/imgur-icon.png"/>
|
<div class="imgur some-block"><a class="title" href="https://imgur.com"><img src="../../assets/images/imgur.png"/>
|
||||||
<h4 data-localise="__MSG_imgur__">Imgur</h4></a>
|
<h4 data-localise="__MSG_imgur__">Imgur</h4></a>
|
||||||
<input class="disable-imgur" type="checkbox"/>
|
<input class="disable-imgur" type="checkbox"/>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -33,7 +33,7 @@ mixin services
|
||||||
|
|
||||||
.imgur.some-block
|
.imgur.some-block
|
||||||
a.title(href="https://imgur.com")
|
a.title(href="https://imgur.com")
|
||||||
img(src="../../assets/images/imgur-icon.png")
|
img(src="../../assets/images/imgur.png")
|
||||||
h4(data-localise="__MSG_imgur__") Imgur
|
h4(data-localise="__MSG_imgur__") Imgur
|
||||||
input.disable-imgur(type="checkbox")
|
input.disable-imgur(type="checkbox")
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue