Merge branch 'update-blacklist'
This commit is contained in:
commit
4654308da9
143
src/assets/javascripts/frontend.js
Normal file
143
src/assets/javascripts/frontend.js
Normal file
@ -0,0 +1,143 @@
|
||||
class FrontEnd {
|
||||
constructor({ enable, frontends, frontend, redirect }) {
|
||||
this.redirects = {}
|
||||
this.enable = enable
|
||||
this.frontend = frontend
|
||||
this.protocol = "normal"
|
||||
this.protocolFallback = true
|
||||
fetch("/instances/data.json")
|
||||
.then(response => response.text())
|
||||
.then(async data => {
|
||||
data = JSON.parse(data)
|
||||
fetch("/instances/blacklist.json")
|
||||
.then(response => response.text())
|
||||
.then(async blackList => {
|
||||
blackList = JSON.parse(blackList)
|
||||
for (const frontend in frontends) {
|
||||
this.redirects[frontend] = {}
|
||||
|
||||
this.redirects[frontend].cookies = [...frontends[frontend].cookies]
|
||||
|
||||
for (const protocol in data[frontend]) {
|
||||
this.redirects[frontend][protocol] = {}
|
||||
|
||||
this.redirects[frontend][protocol].all = [...data[frontend][protocol]]
|
||||
|
||||
this.redirects[frontend][protocol].custom = []
|
||||
|
||||
this.redirects[frontend][protocol].checked = [...data[frontend][protocol]]
|
||||
for (const instance of blackList.cloudflare) {
|
||||
const a = this.redirects[frontend][protocol].checked.indexOf(instance)
|
||||
if (a > -1) this.redirects[frontend][protocol].checked.splice(a, 1)
|
||||
}
|
||||
for (const instance of blackList.offline) {
|
||||
const a = this.redirects[frontend][protocol].checked.indexOf(instance)
|
||||
if (a > -1) this.redirects[frontend][protocol].checked.splice(a, 1)
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
||||
})
|
||||
this.unifyCookies = from =>
|
||||
new Promise(async resolve => {
|
||||
await init()
|
||||
const protocolHost = utils.protocolHost(from)
|
||||
const list = [...this.redirects[this.frontend][this.protocol]]
|
||||
if (![...list.checked, ...list.custom].includes(protocolHost)) {
|
||||
resolve()
|
||||
return
|
||||
}
|
||||
for (const cookie of this.redirects[this.frontend].cookies) {
|
||||
await utils.copyCookie(frontend, protocolHost, [...list.checked, list.custom], cookie)
|
||||
}
|
||||
resolve(true)
|
||||
})
|
||||
|
||||
this.switchInstance = (url, disableOverride) => {
|
||||
if (!this.enable && !disableOverride) return
|
||||
|
||||
const protocolHost = utils.protocolHost(url)
|
||||
|
||||
const list = [...this.redirects[this.frontend][this.protocol]]
|
||||
if (!list.all.includes(protocolHost)) return
|
||||
|
||||
let userList = [...list.checked, ...list.custom]
|
||||
if (userList.length === 0 && this.protocolFallback) userList = [...list.normal.all]
|
||||
|
||||
const i = userList.indexOf(protocolHost)
|
||||
if (i > -1) userList.splice(i, 1)
|
||||
if (userList.length === 0) return
|
||||
|
||||
const randomInstance = utils.getRandomInstance(userList)
|
||||
return `${randomInstance}${url.pathname}${url.search}`
|
||||
}
|
||||
|
||||
this.redirect = (url, type, initiator, disableOverride) => {
|
||||
const result = redirect(url, type, initiator, disableOverride)
|
||||
if (result == "BYPASSTAB") return "BYPASSTAB"
|
||||
if (result) {
|
||||
const list = [...this.redirects[this.frontend][this.protocol]]
|
||||
let userList = [...list.checked, ...list.custom]
|
||||
const randomInstance = utils.getRandomInstance(userList)
|
||||
return `${randomInstance}${result.pathname}${result.search}`
|
||||
}
|
||||
}
|
||||
|
||||
let init = () => new Promise(async resolve => {})
|
||||
}
|
||||
}
|
||||
|
||||
let Reddit = new FrontEnd({
|
||||
enable: true,
|
||||
frontends: {
|
||||
libreddit: { cookies: ["theme", "front_page", "layout", "wide", "post_sort", "comment_sort", "show_nsfw", "autoplay_videos", "use_hls", "hide_hls_notification", "subscriptions", "filters"] },
|
||||
teddit: {
|
||||
cookies: [
|
||||
"collapse_child_comments",
|
||||
"domain_instagram",
|
||||
"domain_twitter",
|
||||
"domain_youtube",
|
||||
"flairs",
|
||||
"highlight_controversial",
|
||||
"nsfw_enabled",
|
||||
"post_media_max_height",
|
||||
"show_upvoted_percentage",
|
||||
"show_upvotes",
|
||||
"theme",
|
||||
"videos_muted",
|
||||
],
|
||||
},
|
||||
},
|
||||
frontend: "libreddit",
|
||||
redirect: (url, type, initiator, disableOverride) => {
|
||||
if (this.enable && !disableOverride) return
|
||||
|
||||
const targets = [/^https?:\/{2}(www\.|old\.|np\.|new\.|amp\.|)reddit\.com/, /^https?:\/{2}(i\.|preview\.)redd\.it/]
|
||||
if (!targets.some(rx => rx.test(url.href))) return
|
||||
|
||||
if (initiator && all().includes(initiator.origin)) return "BYPASSTAB"
|
||||
if (!["main_frame", "xmlhttprequest", "other", "image", "media"].includes(type)) return
|
||||
|
||||
const bypassPaths = /\/(gallery\/poll\/rpan\/settings\/topics)/
|
||||
if (url.pathname.match(bypassPaths)) return
|
||||
|
||||
const protocolHost = utils.protocolHost(url)
|
||||
|
||||
if (url.host === "i.redd.it") {
|
||||
if (this.frontend == "libreddit") return `${protocolHost}/img${url.pathname}${url.search}`
|
||||
if (this.frontend == "teddit") return `${protocolHost}/pics/w:null_${url.pathname.substring(1)}${url.search}`
|
||||
} else if (url.host === "redd.it") {
|
||||
// https://redd.it/foo => https://libredd.it/comments/foo
|
||||
if (this.frontend == "libreddit" && !url.pathname.match(/^\/+[^\/]+\/+[^\/]/)) return `${protocolHost}/comments${url.pathname}${url.search}`
|
||||
// https://redd.it/foo => https://teddit.net/comments/foo
|
||||
if (this.frontend == "teddit" && !url.pathname.match(/^\/+[^\/]+\/+[^\/]/)) return `${protocolHost}/comments${url.pathname}${url.search}`
|
||||
} else if (url.host === "preview.redd.it") {
|
||||
if (this.frontend == "libreddit") return `${protocolHost}/preview/pre${url.pathname}${url.search}`
|
||||
if (this.frontend == "teddit") return
|
||||
} else {
|
||||
return `${url.href}`
|
||||
}
|
||||
},
|
||||
})
|
||||
|
||||
export default {}
|
@ -17,21 +17,26 @@ for (let i = 0; i < frontends.length; i++) {
|
||||
}
|
||||
|
||||
function setRedirects(val) {
|
||||
browser.storage.local.get(["cloudflareBlackList", "offlineBlackList"], r => {
|
||||
redirects.libremdb = val
|
||||
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({
|
||||
imdbRedirects: redirects,
|
||||
libremdbNormalRedirectsChecks,
|
||||
libremdbTorRedirectsChecks: [...redirects.libremdb.tor],
|
||||
libremdbI2pRedirectsChecks: [...redirects.libremdb.i2p],
|
||||
libremdbLokiRedirectsChecks: [...redirects.libremdb.loki],
|
||||
return new Promise(resolve =>
|
||||
browser.storage.local.get(["cloudflareBlackList", "offlineBlackList"], r => {
|
||||
redirects.libremdb = val
|
||||
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(
|
||||
{
|
||||
imdbRedirects: redirects,
|
||||
libremdbNormalRedirectsChecks,
|
||||
libremdbTorRedirectsChecks: [...redirects.libremdb.tor],
|
||||
libremdbI2pRedirectsChecks: [...redirects.libremdb.i2p],
|
||||
libremdbLokiRedirectsChecks: [...redirects.libremdb.loki],
|
||||
},
|
||||
() => resolve()
|
||||
)
|
||||
})
|
||||
})
|
||||
)
|
||||
}
|
||||
|
||||
let disableImdb,
|
||||
|
@ -17,21 +17,26 @@ for (let i = 0; i < frontends.length; i++) {
|
||||
}
|
||||
|
||||
function setRedirects(val) {
|
||||
browser.storage.local.get(["cloudflareBlackList", "offlineBlackList"], r => {
|
||||
redirects.rimgo = val
|
||||
rimgoNormalRedirectsChecks = [...redirects.rimgo.normal]
|
||||
for (const instance of [...r.cloudflareBlackList, ...r.offlineBlackList]) {
|
||||
const a = rimgoNormalRedirectsChecks.indexOf(instance)
|
||||
if (a > -1) rimgoNormalRedirectsChecks.splice(a, 1)
|
||||
}
|
||||
browser.storage.local.set({
|
||||
imgurRedirects: redirects,
|
||||
rimgoNormalRedirectsChecks,
|
||||
rimgoTorRedirectsChecks: [...redirects.rimgo.tor],
|
||||
rimgoI2pRedirectsChecks: [...redirects.rimgo.i2p],
|
||||
rimgoLokiRedirectsChecks: [...redirects.rimgo.loki],
|
||||
return new Promise(resolve =>
|
||||
browser.storage.local.get(["cloudflareBlackList", "offlineBlackList"], r => {
|
||||
redirects.rimgo = val
|
||||
rimgoNormalRedirectsChecks = [...redirects.rimgo.normal]
|
||||
for (const instance of [...r.cloudflareBlackList, ...r.offlineBlackList]) {
|
||||
const a = rimgoNormalRedirectsChecks.indexOf(instance)
|
||||
if (a > -1) rimgoNormalRedirectsChecks.splice(a, 1)
|
||||
}
|
||||
browser.storage.local.set(
|
||||
{
|
||||
imgurRedirects: redirects,
|
||||
rimgoNormalRedirectsChecks,
|
||||
rimgoTorRedirectsChecks: [...redirects.rimgo.tor],
|
||||
rimgoI2pRedirectsChecks: [...redirects.rimgo.i2p],
|
||||
rimgoLokiRedirectsChecks: [...redirects.rimgo.loki],
|
||||
},
|
||||
() => resolve()
|
||||
)
|
||||
})
|
||||
})
|
||||
)
|
||||
}
|
||||
|
||||
let disableImgur,
|
||||
|
@ -16,21 +16,26 @@ for (let i = 0; i < frontends.length; i++) {
|
||||
}
|
||||
|
||||
function setRedirects(val) {
|
||||
browser.storage.local.get(["cloudflareBlackList", "offlineBlackList"], async r => {
|
||||
redirects.bibliogram = val
|
||||
bibliogramNormalRedirectsChecks = [...redirects.bibliogram.normal]
|
||||
for (const instance of [...r.cloudflareBlackList, ...r.offlineBlackList]) {
|
||||
const a = bibliogramNormalRedirectsChecks.indexOf(instance)
|
||||
if (a > -1) bibliogramNormalRedirectsChecks.splice(a, 1)
|
||||
}
|
||||
browser.storage.local.set({
|
||||
instagramRedirects: redirects,
|
||||
bibliogramNormalRedirectsChecks,
|
||||
bibliogramTorRedirectsChecks: [...redirects.bibliogram.tor],
|
||||
bibliogramI2pRedirectsChecks: [...redirects.bibliogram.i2p],
|
||||
bibliogramLokiRedirectsChecks: [...redirects.bibliogram.loki],
|
||||
return new Promise(resolve =>
|
||||
browser.storage.local.get(["cloudflareBlackList", "offlineBlackList"], async r => {
|
||||
redirects.bibliogram = val
|
||||
bibliogramNormalRedirectsChecks = [...redirects.bibliogram.normal]
|
||||
for (const instance of [...r.cloudflareBlackList, ...r.offlineBlackList]) {
|
||||
const a = bibliogramNormalRedirectsChecks.indexOf(instance)
|
||||
if (a > -1) bibliogramNormalRedirectsChecks.splice(a, 1)
|
||||
}
|
||||
browser.storage.local.set(
|
||||
{
|
||||
instagramRedirects: redirects,
|
||||
bibliogramNormalRedirectsChecks,
|
||||
bibliogramTorRedirectsChecks: [...redirects.bibliogram.tor],
|
||||
bibliogramI2pRedirectsChecks: [...redirects.bibliogram.i2p],
|
||||
bibliogramLokiRedirectsChecks: [...redirects.bibliogram.loki],
|
||||
},
|
||||
() => resolve()
|
||||
)
|
||||
})
|
||||
})
|
||||
)
|
||||
}
|
||||
|
||||
let disableInstagram,
|
||||
|
@ -17,21 +17,26 @@ for (let i = 0; i < frontends.length; i++) {
|
||||
}
|
||||
|
||||
function setRedirects(val) {
|
||||
browser.storage.local.get(["cloudflareBlackList", "offlineBlackList"], r => {
|
||||
redirects.librarian = val
|
||||
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({
|
||||
lbryTargetsRedirects: redirects,
|
||||
librarianNormalRedirectsChecks,
|
||||
librarianTorRedirectsChecks: [...redirects.librarian.tor],
|
||||
librarianI2pRedirectsChecks: [...redirects.librarian.i2p],
|
||||
librarianLokiRedirectsChecks: [...redirects.librarian.loki],
|
||||
return new Promise(resolve =>
|
||||
browser.storage.local.get(["cloudflareBlackList", "offlineBlackList"], r => {
|
||||
redirects.librarian = val
|
||||
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(
|
||||
{
|
||||
lbryTargetsRedirects: redirects,
|
||||
librarianNormalRedirectsChecks,
|
||||
librarianTorRedirectsChecks: [...redirects.librarian.tor],
|
||||
librarianI2pRedirectsChecks: [...redirects.librarian.i2p],
|
||||
librarianLokiRedirectsChecks: [...redirects.librarian.loki],
|
||||
},
|
||||
() => resolve()
|
||||
)
|
||||
})
|
||||
})
|
||||
)
|
||||
}
|
||||
|
||||
let disableLbryTargets,
|
||||
|
@ -21,21 +21,26 @@ redirects.osm = {}
|
||||
redirects.osm.normal = ["https://www.openstreetmap.org"]
|
||||
|
||||
function setRedirects(val) {
|
||||
browser.storage.local.get(["cloudflareBlackList", "offlineBlackList"], r => {
|
||||
redirects.facil = val
|
||||
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({
|
||||
mapsRedirects: redirects,
|
||||
facilNormalRedirectsChecks,
|
||||
facilTorRedirectsChecks: [...redirects.facil.tor],
|
||||
facilI2pRedirectsChecks: [...redirects.facil.i2p],
|
||||
facilLokiRedirectsChecks: [...redirects.facil.loki],
|
||||
return new Promise(resolve =>
|
||||
browser.storage.local.get(["cloudflareBlackList", "offlineBlackList"], r => {
|
||||
redirects.facil = val
|
||||
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(
|
||||
{
|
||||
mapsRedirects: redirects,
|
||||
facilNormalRedirectsChecks,
|
||||
facilTorRedirectsChecks: [...redirects.facil.tor],
|
||||
facilI2pRedirectsChecks: [...redirects.facil.i2p],
|
||||
facilLokiRedirectsChecks: [...redirects.facil.loki],
|
||||
},
|
||||
() => resolve()
|
||||
)
|
||||
})
|
||||
})
|
||||
)
|
||||
}
|
||||
|
||||
let disableMaps,
|
||||
|
@ -40,21 +40,26 @@ for (let i = 0; i < frontends.length; i++) {
|
||||
}
|
||||
|
||||
function setRedirects(val) {
|
||||
browser.storage.local.get(["cloudflareBlackList", "offlineBlackList"], r => {
|
||||
redirects.scribe = val
|
||||
scribeNormalRedirectsChecks = [...redirects.scribe.normal]
|
||||
for (const instance of [...r.cloudflareBlackList, ...r.offlineBlackList]) {
|
||||
const a = scribeNormalRedirectsChecks.indexOf(instance)
|
||||
if (a > -1) scribeNormalRedirectsChecks.splice(a, 1)
|
||||
}
|
||||
browser.storage.local.set({
|
||||
mediumRedirects: redirects,
|
||||
scribeNormalRedirectsChecks,
|
||||
scribeTorRedirectsChecks: [...redirects.scribe.tor],
|
||||
scribeI2pRedirectsChecks: [...redirects.scribe.i2p],
|
||||
scribeLokiRedirectsChecks: [...redirects.scribe.loki],
|
||||
return new Promise(resolve =>
|
||||
browser.storage.local.get(["cloudflareBlackList", "offlineBlackList"], r => {
|
||||
redirects.scribe = val
|
||||
scribeNormalRedirectsChecks = [...redirects.scribe.normal]
|
||||
for (const instance of [...r.cloudflareBlackList, ...r.offlineBlackList]) {
|
||||
const a = scribeNormalRedirectsChecks.indexOf(instance)
|
||||
if (a > -1) scribeNormalRedirectsChecks.splice(a, 1)
|
||||
}
|
||||
browser.storage.local.set(
|
||||
{
|
||||
mediumRedirects: redirects,
|
||||
scribeNormalRedirectsChecks,
|
||||
scribeTorRedirectsChecks: [...redirects.scribe.tor],
|
||||
scribeI2pRedirectsChecks: [...redirects.scribe.i2p],
|
||||
scribeLokiRedirectsChecks: [...redirects.scribe.loki],
|
||||
},
|
||||
() => resolve()
|
||||
)
|
||||
})
|
||||
})
|
||||
)
|
||||
}
|
||||
|
||||
let disableMedium,
|
||||
|
@ -15,21 +15,26 @@ for (let i = 0; i < frontends.length; i++) {
|
||||
}
|
||||
|
||||
function setRedirects(val) {
|
||||
browser.storage.local.get(["cloudflareBlackList", "offlineBlackList"], r => {
|
||||
redirects.simpleertube = val
|
||||
simpleertubeNormalRedirectsChecks = [...redirects.simpleertube.normal]
|
||||
for (const instance of [...r.cloudflareBlackList, ...r.offlineBlackList]) {
|
||||
const a = simpleertubeNormalRedirectsChecks.indexOf(instance)
|
||||
if (a > -1) simpleertubeNormalRedirectsChecks.splice(a, 1)
|
||||
}
|
||||
browser.storage.local.set({
|
||||
peertubeRedirects: redirects,
|
||||
simpleertubeNormalRedirectsChecks,
|
||||
simpleertubeTorRedirectsChecks: [...redirects.simpleertube.tor],
|
||||
simpleertubeI2pRedirectsChecks: [...redirects.simpleertube.i2p],
|
||||
simpleertubeLokiRedirectsChecks: [...redirects.simpleertube.loki],
|
||||
return new Promise(resolve =>
|
||||
browser.storage.local.get(["cloudflareBlackList", "offlineBlackList"], r => {
|
||||
redirects.simpleertube = val
|
||||
simpleertubeNormalRedirectsChecks = [...redirects.simpleertube.normal]
|
||||
for (const instance of [...r.cloudflareBlackList, ...r.offlineBlackList]) {
|
||||
const a = simpleertubeNormalRedirectsChecks.indexOf(instance)
|
||||
if (a > -1) simpleertubeNormalRedirectsChecks.splice(a, 1)
|
||||
}
|
||||
browser.storage.local.set(
|
||||
{
|
||||
peertubeRedirects: redirects,
|
||||
simpleertubeNormalRedirectsChecks,
|
||||
simpleertubeTorRedirectsChecks: [...redirects.simpleertube.tor],
|
||||
simpleertubeI2pRedirectsChecks: [...redirects.simpleertube.i2p],
|
||||
simpleertubeLokiRedirectsChecks: [...redirects.simpleertube.loki],
|
||||
},
|
||||
() => resolve()
|
||||
)
|
||||
})
|
||||
})
|
||||
)
|
||||
}
|
||||
|
||||
let disablePeertubeTargets,
|
||||
|
@ -17,21 +17,26 @@ for (let i = 0; i < frontends.length; i++) {
|
||||
}
|
||||
|
||||
function setRedirects(val) {
|
||||
browser.storage.local.get(["cloudflareBlackList", "offlineBlackList"], r => {
|
||||
redirects.quetre = val
|
||||
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({
|
||||
quoraRedirects: redirects,
|
||||
quetreNormalRedirectsChecks,
|
||||
quetreTorRedirectsChecks: [...redirects.quetre.tor],
|
||||
quetreI2pRedirectsChecks: [...redirects.quetre.i2p],
|
||||
quetreLokiRedirectsChecks: [...redirects.quetre.loki],
|
||||
return new Promise(resolve =>
|
||||
browser.storage.local.get(["cloudflareBlackList", "offlineBlackList"], r => {
|
||||
redirects.quetre = val
|
||||
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(
|
||||
{
|
||||
quoraRedirects: redirects,
|
||||
quetreNormalRedirectsChecks,
|
||||
quetreTorRedirectsChecks: [...redirects.quetre.tor],
|
||||
quetreI2pRedirectsChecks: [...redirects.quetre.i2p],
|
||||
quetreLokiRedirectsChecks: [...redirects.quetre.loki],
|
||||
},
|
||||
() => resolve()
|
||||
)
|
||||
})
|
||||
})
|
||||
)
|
||||
}
|
||||
|
||||
let disableQuora,
|
||||
@ -95,9 +100,7 @@ function redirect(url, type, initiator, disableOverride) {
|
||||
if ((instancesList.length === 0 && protocolFallback) || protocol == "normal") {
|
||||
instancesList = [...quetreNormalRedirectsChecks, ...quetreNormalCustomRedirects]
|
||||
}
|
||||
if (instancesList.length === 0) {
|
||||
return
|
||||
}
|
||||
if (instancesList.length === 0) return
|
||||
|
||||
const randomInstance = utils.getRandomInstance(instancesList)
|
||||
return `${randomInstance}${url.pathname}`
|
||||
|
@ -16,29 +16,34 @@ for (let i = 0; i < frontends.length; i++) {
|
||||
}
|
||||
|
||||
function setRedirects(val) {
|
||||
browser.storage.local.get(["cloudflareBlackList", "offlineBlackList"], r => {
|
||||
redirects = val
|
||||
libredditNormalRedirectsChecks = [...redirects.libreddit.normal]
|
||||
tedditNormalRedirectsChecks = [...redirects.teddit.normal]
|
||||
for (const instance of [...r.cloudflareBlackList, ...r.offlineBlackList]) {
|
||||
const a = libredditNormalRedirectsChecks.indexOf(instance)
|
||||
if (a > -1) libredditNormalRedirectsChecks.splice(a, 1)
|
||||
return new Promise(resolve =>
|
||||
browser.storage.local.get(["cloudflareBlackList", "offlineBlackList"], r => {
|
||||
redirects = val
|
||||
libredditNormalRedirectsChecks = [...redirects.libreddit.normal]
|
||||
tedditNormalRedirectsChecks = [...redirects.teddit.normal]
|
||||
for (const instance of [...r.cloudflareBlackList, ...r.offlineBlackList]) {
|
||||
const a = libredditNormalRedirectsChecks.indexOf(instance)
|
||||
if (a > -1) libredditNormalRedirectsChecks.splice(a, 1)
|
||||
|
||||
const b = tedditNormalRedirectsChecks.indexOf(instance)
|
||||
if (b > -1) tedditNormalRedirectsChecks.splice(b, 1)
|
||||
}
|
||||
browser.storage.local.set({
|
||||
redditRedirects: redirects,
|
||||
libredditNormalRedirectsChecks,
|
||||
libredditTorRedirectsChecks: [...redirects.libreddit.tor],
|
||||
libredditI2pRedirectsChecks: [...redirects.libreddit.i2p],
|
||||
libredditLokiRedirectsChecks: [...redirects.libreddit.loki],
|
||||
tedditNormalRedirectsChecks,
|
||||
tedditTorRedirectsChecks: [...redirects.teddit.tor],
|
||||
tedditI2pRedirectsChecks: [...redirects.teddit.i2p],
|
||||
tedditLokiRedirectsChecks: [...redirects.teddit.loki],
|
||||
const b = tedditNormalRedirectsChecks.indexOf(instance)
|
||||
if (b > -1) tedditNormalRedirectsChecks.splice(b, 1)
|
||||
}
|
||||
browser.storage.local.set(
|
||||
{
|
||||
redditRedirects: redirects,
|
||||
libredditNormalRedirectsChecks,
|
||||
libredditTorRedirectsChecks: [...redirects.libreddit.tor],
|
||||
libredditI2pRedirectsChecks: [...redirects.libreddit.i2p],
|
||||
libredditLokiRedirectsChecks: [...redirects.libreddit.loki],
|
||||
tedditNormalRedirectsChecks,
|
||||
tedditTorRedirectsChecks: [...redirects.teddit.tor],
|
||||
tedditI2pRedirectsChecks: [...redirects.teddit.i2p],
|
||||
tedditLokiRedirectsChecks: [...redirects.teddit.loki],
|
||||
},
|
||||
() => resolve()
|
||||
)
|
||||
})
|
||||
})
|
||||
)
|
||||
}
|
||||
|
||||
let disableReddit,
|
||||
@ -304,7 +309,9 @@ function switchInstance(url, disableOverride) {
|
||||
if ((instancesList.length === 0 && protocolFallback) || protocol == "normal") {
|
||||
instancesList = [...libredditNormalRedirectsChecks, ...libredditNormalCustomRedirects]
|
||||
}
|
||||
if ([...redditRedirects.teddit.normal, ...redditRedirects.teddit.tor].includes(protocolHost)) url.pathname = url.pathname.replace("/pics/w:null_", "/img/")
|
||||
if ([...redditRedirects.teddit.normal, ...redditRedirects.teddit.tor].includes(protocolHost)) {
|
||||
url.pathname = url.pathname.replace("/pics/w:null_", "/img/")
|
||||
}
|
||||
} else if (redditFrontend == "teddit") {
|
||||
if (protocol == "loki") instancesList = [...tedditLokiCustomRedirects]
|
||||
else if (protocol == "i2p") instancesList = [...tedditI2pCustomRedirects]
|
||||
@ -312,7 +319,9 @@ function switchInstance(url, disableOverride) {
|
||||
if ((instancesList.length === 0 && protocolFallback) || protocol == "normal") {
|
||||
instancesList = [...tedditNormalRedirectsChecks, ...tedditNormalCustomRedirects]
|
||||
}
|
||||
if ([...redditRedirects.libreddit.normal, ...redditRedirects.libreddit.tor].includes(protocolHost)) url.pathname = url.pathname.replace("/img/", "/pics/w:null_")
|
||||
if ([...redditRedirects.libreddit.normal, ...redditRedirects.libreddit.tor].includes(protocolHost)) {
|
||||
url.pathname = url.pathname.replace("/img/", "/pics/w:null_")
|
||||
}
|
||||
}
|
||||
|
||||
const i = instancesList.indexOf(protocolHost)
|
||||
@ -333,9 +342,8 @@ function initDefaults() {
|
||||
.then(response => response.text())
|
||||
.then(async data => {
|
||||
let dataJson = JSON.parse(data)
|
||||
for (let i = 0; i < frontends.length; i++) {
|
||||
redirects[frontends[i]] = dataJson[frontends[i]]
|
||||
}
|
||||
for (const frontend of frontends) redirects[frontend] = dataJson[frontend]
|
||||
|
||||
browser.storage.local.get(["cloudflareBlackList", "offlineBlackList"], async r => {
|
||||
libredditNormalRedirectsChecks = [...redirects.libreddit.normal]
|
||||
tedditNormalRedirectsChecks = [...redirects.teddit.normal]
|
||||
|
@ -17,21 +17,26 @@ for (let i = 0; i < frontends.length; i++) {
|
||||
}
|
||||
|
||||
function setRedirects(val) {
|
||||
browser.storage.local.get(["cloudflareBlackList", "offlineBlackList"], r => {
|
||||
redirects.neuters = val
|
||||
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({
|
||||
neutersRedirects: redirects,
|
||||
neutersNormalRedirectsChecks,
|
||||
neutersTorRedirectsChecks: [...redirects.neuters.tor],
|
||||
neutersI2pRedirectsChecks: [...redirects.neuters.i2p],
|
||||
neutersLokiRedirectsChecks: [...redirects.neuters.loki],
|
||||
return new Promise(resolve =>
|
||||
browser.storage.local.get(["cloudflareBlackList", "offlineBlackList"], r => {
|
||||
redirects.neuters = val
|
||||
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(
|
||||
{
|
||||
neutersRedirects: redirects,
|
||||
neutersNormalRedirectsChecks,
|
||||
neutersTorRedirectsChecks: [...redirects.neuters.tor],
|
||||
neutersI2pRedirectsChecks: [...redirects.neuters.i2p],
|
||||
neutersLokiRedirectsChecks: [...redirects.neuters.loki],
|
||||
},
|
||||
() => resolve()
|
||||
)
|
||||
})
|
||||
})
|
||||
)
|
||||
}
|
||||
|
||||
let disableReuters,
|
||||
|
@ -7,7 +7,7 @@ const targets = [/^https?:\/{2}search\.libredirect\.invalid/]
|
||||
const frontends = new Array("searx", "searxng", "whoogle", "librex")
|
||||
const protocols = new Array("normal", "tor", "i2p", "loki")
|
||||
|
||||
const redirects = {}
|
||||
let redirects = {}
|
||||
|
||||
for (let i = 0; i < frontends.length; i++) {
|
||||
redirects[frontends[i]] = {}
|
||||
@ -17,45 +17,50 @@ for (let i = 0; i < frontends.length; i++) {
|
||||
}
|
||||
|
||||
function setRedirects(val) {
|
||||
browser.storage.local.get(["cloudflareBlackList", "offlineBlackList"], r => {
|
||||
redirects = val
|
||||
searxNormalRedirectsChecks = [...redirects.searx.normal]
|
||||
searxngNormalRedirectsChecks = [...redirects.searxng.normal]
|
||||
whoogleNormalRedirectsChecks = [...redirects.whoogle.normal]
|
||||
librexNormalRedirectsChecks = [...redirects.librex.normal]
|
||||
for (const instance of [...r.cloudflareBlackList, ...r.offlineBlackList]) {
|
||||
const a = searxNormalRedirectsChecks.indexOf(instance)
|
||||
if (a > -1) searxNormalRedirectsChecks.splice(a, 1)
|
||||
return new Promise(resolve =>
|
||||
browser.storage.local.get(["cloudflareBlackList", "offlineBlackList"], r => {
|
||||
redirects = val
|
||||
searxNormalRedirectsChecks = [...redirects.searx.normal]
|
||||
searxngNormalRedirectsChecks = [...redirects.searxng.normal]
|
||||
whoogleNormalRedirectsChecks = [...redirects.whoogle.normal]
|
||||
librexNormalRedirectsChecks = [...redirects.librex.normal]
|
||||
for (const instance of [...r.cloudflareBlackList, ...r.offlineBlackList]) {
|
||||
const a = searxNormalRedirectsChecks.indexOf(instance)
|
||||
if (a > -1) searxNormalRedirectsChecks.splice(a, 1)
|
||||
|
||||
const b = searxngNormalRedirectsChecks.indexOf(instance)
|
||||
if (b > -1) searxngNormalRedirectsChecks.splice(b, 1)
|
||||
const b = searxngNormalRedirectsChecks.indexOf(instance)
|
||||
if (b > -1) searxngNormalRedirectsChecks.splice(b, 1)
|
||||
|
||||
const c = whoogleNormalRedirectsChecks.indexOf(instance)
|
||||
if (c > -1) whoogleNormalRedirectsChecks.splice(c, 1)
|
||||
const c = whoogleNormalRedirectsChecks.indexOf(instance)
|
||||
if (c > -1) whoogleNormalRedirectsChecks.splice(c, 1)
|
||||
|
||||
const d = librexNormalRedirectsChecks.indexOf(instance)
|
||||
if (d > -1) librexNormalRedirectsChecks.splice(d, 1)
|
||||
}
|
||||
browser.storage.local.set({
|
||||
searchRedirects: redirects,
|
||||
searxNormalRedirectsChecks,
|
||||
searxTorRedirectsChecks: [...redirects.searx.tor],
|
||||
searxI2pRedirectsChecks: [...redirects.searx.i2p],
|
||||
searxLokiRedirectsChecks: [...redirects.searx.loki],
|
||||
searxngNormalRedirectsChecks,
|
||||
searxngTorRedirectsChecks: [...redirects.searxng.tor],
|
||||
searxngI2pRedirectsChecks: [...redirects.searxng.i2p],
|
||||
searxngLokiRedirectsChecks: [...redirects.searxng.loki],
|
||||
whoogleNormalRedirectsChecks,
|
||||
whoogleTorRedirectsChecks: [...redirects.whoogle.tor],
|
||||
whoogleI2pRedirectsChecks: [...redirects.whoogle.i2p],
|
||||
whoogleLokiRedirectsChecks: [...redirects.whoogle.loki],
|
||||
librexNormalRedirectsChecks,
|
||||
librexTorRedirectsChecks: [...redirects.librex.tor],
|
||||
librexI2pRedirectsChecks: [...redirects.librex.i2p],
|
||||
librexLokiRedirectsChecks: [...redirects.librex.loki],
|
||||
const d = librexNormalRedirectsChecks.indexOf(instance)
|
||||
if (d > -1) librexNormalRedirectsChecks.splice(d, 1)
|
||||
}
|
||||
browser.storage.local.set(
|
||||
{
|
||||
searchRedirects: redirects,
|
||||
searxNormalRedirectsChecks,
|
||||
searxTorRedirectsChecks: [...redirects.searx.tor],
|
||||
searxI2pRedirectsChecks: [...redirects.searx.i2p],
|
||||
searxLokiRedirectsChecks: [...redirects.searx.loki],
|
||||
searxngNormalRedirectsChecks,
|
||||
searxngTorRedirectsChecks: [...redirects.searxng.tor],
|
||||
searxngI2pRedirectsChecks: [...redirects.searxng.i2p],
|
||||
searxngLokiRedirectsChecks: [...redirects.searxng.loki],
|
||||
whoogleNormalRedirectsChecks,
|
||||
whoogleTorRedirectsChecks: [...redirects.whoogle.tor],
|
||||
whoogleI2pRedirectsChecks: [...redirects.whoogle.i2p],
|
||||
whoogleLokiRedirectsChecks: [...redirects.whoogle.loki],
|
||||
librexNormalRedirectsChecks,
|
||||
librexTorRedirectsChecks: [...redirects.librex.tor],
|
||||
librexI2pRedirectsChecks: [...redirects.librex.i2p],
|
||||
librexLokiRedirectsChecks: [...redirects.librex.loki],
|
||||
},
|
||||
() => resolve()
|
||||
)
|
||||
})
|
||||
})
|
||||
)
|
||||
}
|
||||
|
||||
let disableSearch,
|
||||
|
@ -17,21 +17,26 @@ for (let i = 0; i < frontends.length; i++) {
|
||||
}
|
||||
|
||||
function setRedirects(val) {
|
||||
browser.storage.local.get(["cloudflareBlackList", "offlineBlackList"], r => {
|
||||
redirects.send = val
|
||||
sendNormalRedirectsChecks = [...redirects.send.normal]
|
||||
for (const instance of [...r.cloudflareBlackList, ...r.offlineBlackList]) {
|
||||
const a = sendNormalRedirectsChecks.indexOf(instance)
|
||||
if (a > -1) sendNormalRedirectsChecks.splice(a, 1)
|
||||
}
|
||||
browser.storage.local.set({
|
||||
sendTargetsRedirects: redirects,
|
||||
sendNormalRedirectsChecks,
|
||||
sendTorRedirectsChecks: [...redirects.send.tor],
|
||||
sendI2pRedirectsChecks: [...redirects.send.i2p],
|
||||
sendLokiRedirectsChecks: [...redirects.send.loki],
|
||||
return new Promise(resolve =>
|
||||
browser.storage.local.get(["cloudflareBlackList", "offlineBlackList"], r => {
|
||||
redirects.send = val
|
||||
sendNormalRedirectsChecks = [...redirects.send.normal]
|
||||
for (const instance of [...r.cloudflareBlackList, ...r.offlineBlackList]) {
|
||||
const a = sendNormalRedirectsChecks.indexOf(instance)
|
||||
if (a > -1) sendNormalRedirectsChecks.splice(a, 1)
|
||||
}
|
||||
browser.storage.local.set(
|
||||
{
|
||||
sendTargetsRedirects: redirects,
|
||||
sendNormalRedirectsChecks,
|
||||
sendTorRedirectsChecks: [...redirects.send.tor],
|
||||
sendI2pRedirectsChecks: [...redirects.send.i2p],
|
||||
sendLokiRedirectsChecks: [...redirects.send.loki],
|
||||
},
|
||||
() => resolve()
|
||||
)
|
||||
})
|
||||
})
|
||||
)
|
||||
}
|
||||
|
||||
let disableSendTarget,
|
||||
|
@ -17,21 +17,26 @@ for (let i = 0; i < frontends.length; i++) {
|
||||
}
|
||||
|
||||
function setRedirects(val) {
|
||||
browser.storage.local.get(["cloudflareBlackList", "offlineBlackList"], r => {
|
||||
redirects.proxiTok = val
|
||||
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({
|
||||
tiktokRedirects: redirects,
|
||||
proxiTokNormalRedirectsChecks,
|
||||
proxiTokTorRedirectsChecks: [...redirects.proxiTok.tor],
|
||||
proxiTokI2pRedirectsChecks: [...redirects.proxiTok.i2p],
|
||||
proxiTokLokiRedirectsChecks: [...redirects.proxiTok.loki],
|
||||
return new Promise(resolve =>
|
||||
browser.storage.local.get(["cloudflareBlackList", "offlineBlackList"], r => {
|
||||
redirects.proxiTok = val
|
||||
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(
|
||||
{
|
||||
tiktokRedirects: redirects,
|
||||
proxiTokNormalRedirectsChecks,
|
||||
proxiTokTorRedirectsChecks: [...redirects.proxiTok.tor],
|
||||
proxiTokI2pRedirectsChecks: [...redirects.proxiTok.i2p],
|
||||
proxiTokLokiRedirectsChecks: [...redirects.proxiTok.loki],
|
||||
},
|
||||
() => resolve()
|
||||
)
|
||||
})
|
||||
})
|
||||
)
|
||||
}
|
||||
|
||||
function initProxiTokCookies(test, from) {
|
||||
|
@ -91,29 +91,34 @@ init()
|
||||
browser.storage.onChanged.addListener(init)
|
||||
|
||||
function setRedirects(val) {
|
||||
browser.storage.local.get(["cloudflareBlackList", "offlineBlackList"], r => {
|
||||
redirects = val
|
||||
simplyTranslateNormalRedirectsChecks = [...redirects.simplyTranslate.normal]
|
||||
lingvaNormalRedirectsChecks = [...redirects.lingva.normal]
|
||||
for (const instance of [...r.cloudflareBlackList, ...r.offlineBlackList]) {
|
||||
const a = simplyTranslateNormalCustomRedirects.indexOf(instance)
|
||||
if (a > -1) simplyTranslateNormalCustomRedirects.splice(a, 1)
|
||||
return new Promise(resolve =>
|
||||
browser.storage.local.get(["cloudflareBlackList", "offlineBlackList"], r => {
|
||||
redirects = val
|
||||
simplyTranslateNormalRedirectsChecks = [...redirects.simplyTranslate.normal]
|
||||
lingvaNormalRedirectsChecks = [...redirects.lingva.normal]
|
||||
for (const instance of [...r.cloudflareBlackList, ...r.offlineBlackList]) {
|
||||
const a = simplyTranslateNormalCustomRedirects.indexOf(instance)
|
||||
if (a > -1) simplyTranslateNormalCustomRedirects.splice(a, 1)
|
||||
|
||||
const b = lingvaNormalRedirectsChecks.indexOf(instance)
|
||||
if (b > -1) lingvaNormalRedirectsChecks.splice(b, 1)
|
||||
}
|
||||
browser.storage.local.set({
|
||||
translateRedirects: redirects,
|
||||
simplyTranslateNormalRedirectsChecks,
|
||||
simplyTranslateTorRedirectsChecks: [...redirects.simplyTranslate.tor],
|
||||
simplyTranslateI2pRedirectsChecks: [...redirects.simplyTranslate.i2p],
|
||||
simplyTranslateLokiRedirectsChecks: [...redirects.simplyTranslate.loki],
|
||||
lingvaNormalRedirectsChecks,
|
||||
lingvaTorRedirectsChecks: [...redirects.lingva.tor],
|
||||
lingvaI2pRedirectsChecks: [...redirects.lingva.i2p],
|
||||
lingvaLokiRedirectsChecks: [...redirects.lingva.loki],
|
||||
const b = lingvaNormalRedirectsChecks.indexOf(instance)
|
||||
if (b > -1) lingvaNormalRedirectsChecks.splice(b, 1)
|
||||
}
|
||||
browser.storage.local.set(
|
||||
{
|
||||
translateRedirects: redirects,
|
||||
simplyTranslateNormalRedirectsChecks,
|
||||
simplyTranslateTorRedirectsChecks: [...redirects.simplyTranslate.tor],
|
||||
simplyTranslateI2pRedirectsChecks: [...redirects.simplyTranslate.i2p],
|
||||
simplyTranslateLokiRedirectsChecks: [...redirects.simplyTranslate.loki],
|
||||
lingvaNormalRedirectsChecks,
|
||||
lingvaTorRedirectsChecks: [...redirects.lingva.tor],
|
||||
lingvaI2pRedirectsChecks: [...redirects.lingva.i2p],
|
||||
lingvaLokiRedirectsChecks: [...redirects.lingva.loki],
|
||||
},
|
||||
() => resolve()
|
||||
)
|
||||
})
|
||||
})
|
||||
)
|
||||
}
|
||||
|
||||
function copyPasteLingvaLocalStorage(test, url, tabId) {
|
||||
|
@ -17,21 +17,26 @@ for (let i = 0; i < frontends.length; i++) {
|
||||
}
|
||||
|
||||
function setRedirects(val) {
|
||||
browser.storage.local.get(["cloudflareBlackList", "authenticateBlackList", "offlineBlackList"], r => {
|
||||
redirects.nitter = val
|
||||
nitterNormalRedirectsChecks = [...redirects.nitter.normal]
|
||||
for (const instance of [...r.cloudflareBlackList, ...r.authenticateBlackList, ...r.offlineBlackList]) {
|
||||
let i = nitterNormalRedirectsChecks.indexOf(instance)
|
||||
if (i > -1) nitterNormalRedirectsChecks.splice(i, 1)
|
||||
}
|
||||
browser.storage.local.set({
|
||||
twitterRedirects: redirects,
|
||||
nitterNormalRedirectsChecks,
|
||||
nitterTorRedirectsChecks: [...redirects.nitter.tor],
|
||||
nitterI2pRedirectsChecks: [...redirects.nitter.i2p],
|
||||
nitterLokiRedirectsChecks: [...redirects.nitter.loki],
|
||||
return new Promise(resolve =>
|
||||
browser.storage.local.get(["cloudflareBlackList", "authenticateBlackList", "offlineBlackList"], r => {
|
||||
redirects.nitter = val
|
||||
nitterNormalRedirectsChecks = [...redirects.nitter.normal]
|
||||
for (const instance of [...r.cloudflareBlackList, ...r.authenticateBlackList, ...r.offlineBlackList]) {
|
||||
let i = nitterNormalRedirectsChecks.indexOf(instance)
|
||||
if (i > -1) nitterNormalRedirectsChecks.splice(i, 1)
|
||||
}
|
||||
browser.storage.local.set(
|
||||
{
|
||||
twitterRedirects: redirects,
|
||||
nitterNormalRedirectsChecks,
|
||||
nitterTorRedirectsChecks: [...redirects.nitter.tor],
|
||||
nitterI2pRedirectsChecks: [...redirects.nitter.i2p],
|
||||
nitterLokiRedirectsChecks: [...redirects.nitter.loki],
|
||||
},
|
||||
() => resolve()
|
||||
)
|
||||
})
|
||||
})
|
||||
)
|
||||
}
|
||||
|
||||
let disableTwitter,
|
||||
|
@ -28,14 +28,48 @@ let authenticateBlackList = []
|
||||
let offlineBlackList = []
|
||||
async function initBlackList() {
|
||||
return new Promise(resolve => {
|
||||
fetch("/instances/blacklist.json")
|
||||
.then(response => response.text())
|
||||
.then(data => {
|
||||
cloudflareBlackList = JSON.parse(data).cloudflare
|
||||
authenticateBlackList = JSON.parse(data).authenticate
|
||||
offlineBlackList = JSON.parse(data).offline
|
||||
browser.storage.local.get(["cloudflareBlackList", "authenticateBlackList", "offlineBlackList"], r => {
|
||||
cloudflareBlackList = r.cloudflareBlackList
|
||||
authenticateBlackList = r.authenticateBlackList
|
||||
offlineBlackList = r.offlineBlackList
|
||||
})
|
||||
if (cloudflareBlackList.length == 0) {
|
||||
fetch("/instances/blacklist.json")
|
||||
.then(response => response.text())
|
||||
.then(data => {
|
||||
cloudflareBlackList = JSON.parse(data).cloudflare
|
||||
authenticateBlackList = JSON.parse(data).authenticate
|
||||
offlineBlackList = JSON.parse(data).offline
|
||||
})
|
||||
}
|
||||
resolve()
|
||||
})
|
||||
}
|
||||
|
||||
function updateBlackList() {
|
||||
return new Promise(async resolve => {
|
||||
let http = new XMLHttpRequest()
|
||||
let fallback = new XMLHttpRequest()
|
||||
http.open("GET", "https://codeberg.org/LibRedirect/libredirect/raw/branch/master/src/instances/blacklist.json", false)
|
||||
http.send(null)
|
||||
if (http.status != 200) {
|
||||
fallback.open("GET", "https://raw.githubusercontent.com/libredirect/libredirect/master/src/instances/blacklist.json", false)
|
||||
fallback.send(null)
|
||||
if (fallback.status === 200) {
|
||||
http = fallback
|
||||
} else {
|
||||
resolve()
|
||||
})
|
||||
return
|
||||
}
|
||||
}
|
||||
const blackList = JSON.parse(http.responseText)
|
||||
browser.storage.local.set({
|
||||
cloudflareBlackList: blackList.cloudflare,
|
||||
authenticateBlackList: blackList.authenticate,
|
||||
offlineBlackList: blackList.offline,
|
||||
})
|
||||
;(cloudflareBlackList = blackList.cloudflare), (authenticateBlackList = blackList.authenticate), (offlineBlackList = blackList.offline)
|
||||
resolve()
|
||||
})
|
||||
}
|
||||
|
||||
@ -55,45 +89,45 @@ function updateInstances() {
|
||||
return
|
||||
}
|
||||
}
|
||||
await initBlackList()
|
||||
await updateBlackList()
|
||||
const instances = JSON.parse(http.responseText)
|
||||
|
||||
youtubeHelper.setRedirects({
|
||||
await youtubeHelper.setRedirects({
|
||||
invidious: instances.invidious,
|
||||
piped: instances.piped,
|
||||
pipedMaterial: instances.pipedMaterial,
|
||||
cloudtube: instances.cloudtube,
|
||||
})
|
||||
twitterHelper.setRedirects(instances.nitter)
|
||||
instagramHelper.setRedirects(instances.bibliogram)
|
||||
redditHelper.setRedirects({
|
||||
await twitterHelper.setRedirects(instances.nitter)
|
||||
await instagramHelper.setRedirects(instances.bibliogram)
|
||||
await redditHelper.setRedirects({
|
||||
libreddit: instances.libreddit,
|
||||
teddit: instances.teddit,
|
||||
})
|
||||
translateHelper.setRedirects({
|
||||
await translateHelper.setRedirects({
|
||||
simplyTranslate: instances.simplyTranslate,
|
||||
lingva: instances.lingva,
|
||||
})
|
||||
searchHelper.setRedirects({
|
||||
await searchHelper.setRedirects({
|
||||
searx: instances.searx,
|
||||
searxng: instances.searxng,
|
||||
whoogle: instances.whoogle,
|
||||
librex: instances.librex,
|
||||
})
|
||||
wikipediaHelper.setRedirects(instances.wikiless)
|
||||
mediumHelper.setRedirects(instances.scribe)
|
||||
quoraHelper.setRedirects(instances.quetre)
|
||||
libremdbHelper.setRedirects(instances.libremdb)
|
||||
sendTargetsHelper.setRedirects(instances.send)
|
||||
tiktokHelper.setRedirects(instances.proxiTok)
|
||||
lbryHelper.setRedirects(instances.librarian)
|
||||
reutersHelper.setRedirects(instances.neuters)
|
||||
youtubeMusicHelper.setRedirects({
|
||||
await wikipediaHelper.setRedirects(instances.wikiless)
|
||||
await mediumHelper.setRedirects(instances.scribe)
|
||||
await quoraHelper.setRedirects(instances.quetre)
|
||||
await libremdbHelper.setRedirects(instances.libremdb)
|
||||
await sendTargetsHelper.setRedirects(instances.send)
|
||||
await tiktokHelper.setRedirects(instances.proxiTok)
|
||||
await lbryHelper.setRedirects(instances.librarian)
|
||||
await reutersHelper.setRedirects(instances.neuters)
|
||||
await youtubeMusicHelper.setRedirects({
|
||||
beatbump: instances.beatbump,
|
||||
hyperpipe: instances.hyperpipe,
|
||||
})
|
||||
mapsHelper.setRedirects(instances.facil)
|
||||
peertubeHelper.setRedirects(instances.simpleertube)
|
||||
await mapsHelper.setRedirects(instances.facil)
|
||||
await peertubeHelper.setRedirects(instances.simpleertube)
|
||||
|
||||
console.info("Successfully updated Instances")
|
||||
resolve(true)
|
||||
@ -511,7 +545,7 @@ function latency(name, frontend, document, location) {
|
||||
latencyElement.addEventListener("click", async () => {
|
||||
let reloadWindow = () => location.reload()
|
||||
latencyElement.addEventListener("click", reloadWindow)
|
||||
let key = `${name} Redirects`
|
||||
let key = `${name}Redirects`
|
||||
browser.storage.local.get(key, r => {
|
||||
let redirects = r[key]
|
||||
const oldHtml = latencyLabel.innerHTML
|
||||
|
@ -17,21 +17,26 @@ for (let i = 0; i < frontends.length; i++) {
|
||||
}
|
||||
|
||||
function setRedirects(val) {
|
||||
browser.storage.local.get(["cloudflareBlackList", "offlineBlackList"], r => {
|
||||
redirects.wikiless = val
|
||||
wikilessNormalRedirectsChecks = [...redirects.wikiless.normal]
|
||||
for (const instance of [...r.cloudflareBlackList, ...r.offlineBlackList]) {
|
||||
const a = wikilessNormalRedirectsChecks.indexOf(instance)
|
||||
if (a > -1) wikilessNormalRedirectsChecks.splice(a, 1)
|
||||
}
|
||||
browser.storage.local.set({
|
||||
wikipediaRedirects: redirects,
|
||||
wikilessNormalRedirectsChecks,
|
||||
wikilessTorRedirectsChecks: [...redirects.wikiless.tor],
|
||||
wikilessI2pRedirectsChecks: [...redirects.wikiless.i2p],
|
||||
wikilessLokiRedirectsChecks: [...redirects.wikiless.loki],
|
||||
return new Promise(resolve =>
|
||||
browser.storage.local.get(["cloudflareBlackList", "offlineBlackList"], r => {
|
||||
redirects.wikiless = val
|
||||
wikilessNormalRedirectsChecks = [...redirects.wikiless.normal]
|
||||
for (const instance of [...r.cloudflareBlackList, ...r.offlineBlackList]) {
|
||||
const a = wikilessNormalRedirectsChecks.indexOf(instance)
|
||||
if (a > -1) wikilessNormalRedirectsChecks.splice(a, 1)
|
||||
}
|
||||
browser.storage.local.set(
|
||||
{
|
||||
wikipediaRedirects: redirects,
|
||||
wikilessNormalRedirectsChecks,
|
||||
wikilessTorRedirectsChecks: [...redirects.wikiless.tor],
|
||||
wikilessI2pRedirectsChecks: [...redirects.wikiless.i2p],
|
||||
wikilessLokiRedirectsChecks: [...redirects.wikiless.loki],
|
||||
},
|
||||
() => resolve()
|
||||
)
|
||||
})
|
||||
})
|
||||
)
|
||||
}
|
||||
|
||||
let disableWikipedia,
|
||||
|
@ -30,45 +30,50 @@ for (let i = 0; i < frontends.length; i++) {
|
||||
}
|
||||
|
||||
function setRedirects(val) {
|
||||
browser.storage.local.get(["cloudflareBlackList", "offlineBlackList"], r => {
|
||||
redirects = val
|
||||
invidiousNormalRedirectsChecks = [...redirects.invidious.normal]
|
||||
pipedNormalRedirectsChecks = [...redirects.piped.normal]
|
||||
pipedMaterialNormalRedirectsChecks = [...redirects.pipedMaterial.normal]
|
||||
cloudtubeNormalRedirectsChecks = [...redirects.cloudtube.normal]
|
||||
for (const instance of [...r.cloudflareBlackList, ...r.offlineBlackList]) {
|
||||
const a = invidiousNormalRedirectsChecks.indexOf(instance)
|
||||
if (a > -1) invidiousNormalRedirectsChecks.splice(a, 1)
|
||||
return new Promise(resolve =>
|
||||
browser.storage.local.get(["cloudflareBlackList", "offlineBlackList"], r => {
|
||||
redirects = val
|
||||
invidiousNormalRedirectsChecks = [...redirects.invidious.normal]
|
||||
pipedNormalRedirectsChecks = [...redirects.piped.normal]
|
||||
pipedMaterialNormalRedirectsChecks = [...redirects.pipedMaterial.normal]
|
||||
cloudtubeNormalRedirectsChecks = [...redirects.cloudtube.normal]
|
||||
for (const instance of [...r.cloudflareBlackList, ...r.offlineBlackList]) {
|
||||
const a = invidiousNormalRedirectsChecks.indexOf(instance)
|
||||
if (a > -1) invidiousNormalRedirectsChecks.splice(a, 1)
|
||||
|
||||
const b = pipedNormalRedirectsChecks.indexOf(instance)
|
||||
if (b > -1) pipedNormalRedirectsChecks.splice(b, 1)
|
||||
const b = pipedNormalRedirectsChecks.indexOf(instance)
|
||||
if (b > -1) pipedNormalRedirectsChecks.splice(b, 1)
|
||||
|
||||
const c = pipedMaterialNormalRedirectsChecks.indexOf(instance)
|
||||
if (c > -1) pipedMaterialNormalRedirectsChecks.splice(c, 1)
|
||||
const c = pipedMaterialNormalRedirectsChecks.indexOf(instance)
|
||||
if (c > -1) pipedMaterialNormalRedirectsChecks.splice(c, 1)
|
||||
|
||||
const d = cloudtubeNormalRedirectsChecks.indexOf(instance)
|
||||
if (c > -1) cloudtubeNormalRedirectsChecks.splice(d, 1)
|
||||
}
|
||||
browser.storage.local.set({
|
||||
youtubeRedirects: redirects,
|
||||
invidiousNormalRedirectsChecks,
|
||||
invidiousTorRedirectsChecks: [...redirects.invidious.tor],
|
||||
invidiousI2pRedirectsChecks: [...redirects.invidious.i2p],
|
||||
invidiousLokiRedirectsChecks: [...redirects.invidious.loki],
|
||||
pipedNormalRedirectsChecks,
|
||||
pipedTorRedirectsChecks: [...redirects.piped.tor],
|
||||
pipedI2pRedirectsChecks: [...redirects.piped.i2p],
|
||||
pipedLokiRedirectsChecks: [...redirects.piped.loki],
|
||||
pipedMaterialNormalRedirectsChecks,
|
||||
pipedMaterialTorRedirectsChecks: [...redirects.pipedMaterial.tor],
|
||||
pipedMaterialI2pRedirectsChecks: [...redirects.pipedMaterial.i2p],
|
||||
pipedMaterialLokiRedirectsChecks: [...redirects.pipedMaterial.loki],
|
||||
cloudtubeNormalRedirectsChecks,
|
||||
cloudtubeTorRedirectsChecks: [...redirects.cloudtube.tor],
|
||||
cloudtubeI2pRedirectsChecks: [...redirects.cloudtube.i2p],
|
||||
cloudtubeLokiRedirectsChecks: [...redirects.cloudtube.loki],
|
||||
const d = cloudtubeNormalRedirectsChecks.indexOf(instance)
|
||||
if (c > -1) cloudtubeNormalRedirectsChecks.splice(d, 1)
|
||||
}
|
||||
browser.storage.local.set(
|
||||
{
|
||||
youtubeRedirects: redirects,
|
||||
invidiousNormalRedirectsChecks,
|
||||
invidiousTorRedirectsChecks: [...redirects.invidious.tor],
|
||||
invidiousI2pRedirectsChecks: [...redirects.invidious.i2p],
|
||||
invidiousLokiRedirectsChecks: [...redirects.invidious.loki],
|
||||
pipedNormalRedirectsChecks,
|
||||
pipedTorRedirectsChecks: [...redirects.piped.tor],
|
||||
pipedI2pRedirectsChecks: [...redirects.piped.i2p],
|
||||
pipedLokiRedirectsChecks: [...redirects.piped.loki],
|
||||
pipedMaterialNormalRedirectsChecks,
|
||||
pipedMaterialTorRedirectsChecks: [...redirects.pipedMaterial.tor],
|
||||
pipedMaterialI2pRedirectsChecks: [...redirects.pipedMaterial.i2p],
|
||||
pipedMaterialLokiRedirectsChecks: [...redirects.pipedMaterial.loki],
|
||||
cloudtubeNormalRedirectsChecks,
|
||||
cloudtubeTorRedirectsChecks: [...redirects.cloudtube.tor],
|
||||
cloudtubeI2pRedirectsChecks: [...redirects.cloudtube.i2p],
|
||||
cloudtubeLokiRedirectsChecks: [...redirects.cloudtube.loki],
|
||||
},
|
||||
() => resolve()
|
||||
)
|
||||
})
|
||||
})
|
||||
)
|
||||
}
|
||||
|
||||
let disableYoutube,
|
||||
|
@ -19,29 +19,34 @@ for (let i = 0; i < frontends.length; i++) {
|
||||
}
|
||||
|
||||
function setRedirects(val) {
|
||||
browser.storage.local.get(["cloudflareBlackList", "offlineBlackList"], r => {
|
||||
redirects = val
|
||||
beatbumpNormalRedirectsChecks = [...redirects.beatbump.normal]
|
||||
hyperpipeNormalRedirectsChecks = [...redirects.hyperpipe.normal]
|
||||
for (const instance of [...r.cloudflareBlackList, ...r.offlineBlackList]) {
|
||||
const a = beatbumpNormalRedirectsChecks.indexOf(instance)
|
||||
if (a > -1) beatbumpNormalRedirectsChecks.splice(a, 1)
|
||||
return new Promise(resolve =>
|
||||
browser.storage.local.get(["cloudflareBlackList", "offlineBlackList"], r => {
|
||||
redirects = val
|
||||
beatbumpNormalRedirectsChecks = [...redirects.beatbump.normal]
|
||||
hyperpipeNormalRedirectsChecks = [...redirects.hyperpipe.normal]
|
||||
for (const instance of [...r.cloudflareBlackList, ...r.offlineBlackList]) {
|
||||
const a = beatbumpNormalRedirectsChecks.indexOf(instance)
|
||||
if (a > -1) beatbumpNormalRedirectsChecks.splice(a, 1)
|
||||
|
||||
const b = hyperpipeNormalRedirectsChecks.indexOf(instance)
|
||||
if (b > -1) hyperpipeNormalRedirectsChecks.splice(b, 1)
|
||||
}
|
||||
browser.storage.local.set({
|
||||
youtubeMusicRedirects: redirects,
|
||||
beatbumpNormalRedirectsChecks,
|
||||
beatbumpTorRedirectsChecks: [...redirects.beatbump.tor],
|
||||
beatbumpI2pRedirectsChecks: [...redirects.beatbump.i2p],
|
||||
beatbumpLokiRedirectsChecks: [...redirects.beatbump.loki],
|
||||
hyperpipeNormalRedirectsChecks,
|
||||
hyperpipeTorRedirectsChecks: [...redirects.hyperpipe.tor],
|
||||
hyperpipeI2pRedirectsChecks: [...redirects.hyperpipe.i2p],
|
||||
hyperpipeLokiRedirectsChecks: [...redirects.hyperpipe.loki],
|
||||
const b = hyperpipeNormalRedirectsChecks.indexOf(instance)
|
||||
if (b > -1) hyperpipeNormalRedirectsChecks.splice(b, 1)
|
||||
}
|
||||
browser.storage.local.set(
|
||||
{
|
||||
youtubeMusicRedirects: redirects,
|
||||
beatbumpNormalRedirectsChecks,
|
||||
beatbumpTorRedirectsChecks: [...redirects.beatbump.tor],
|
||||
beatbumpI2pRedirectsChecks: [...redirects.beatbump.i2p],
|
||||
beatbumpLokiRedirectsChecks: [...redirects.beatbump.loki],
|
||||
hyperpipeNormalRedirectsChecks,
|
||||
hyperpipeTorRedirectsChecks: [...redirects.hyperpipe.tor],
|
||||
hyperpipeI2pRedirectsChecks: [...redirects.hyperpipe.i2p],
|
||||
hyperpipeLokiRedirectsChecks: [...redirects.hyperpipe.loki],
|
||||
},
|
||||
() => resolve()
|
||||
)
|
||||
})
|
||||
})
|
||||
)
|
||||
}
|
||||
|
||||
let disableYoutubeMusic,
|
||||
|
@ -661,7 +661,7 @@ for k1, v1 in mightyList.items():
|
||||
cloudflare.append(instance)
|
||||
if not instance.endswith('.onion') and not instance.endswith('.i2p') and not instance.endswith('.loki') and is_authenticate(instance):
|
||||
authenticate.append(instance)
|
||||
if not instance.endswith('.onion') and not instance.endswith('.i2p') and not instance.endswith('.loki') and is_offline(instance):
|
||||
elif not instance.endswith('.onion') and not instance.endswith('.i2p') and not instance.endswith('.loki') and is_offline(instance):
|
||||
offline.append(instance)
|
||||
|
||||
peertube()
|
||||
|
@ -22,8 +22,11 @@ import sendTargetsHelper from "../../assets/javascripts/sendTargets.js"
|
||||
import peertubeHelper from "../../assets/javascripts/peertube.js"
|
||||
import lbryHelper from "../../assets/javascripts/lbry.js"
|
||||
|
||||
import frontend from "../../assets/javascripts/frontend.js"
|
||||
|
||||
window.browser = window.browser || window.chrome
|
||||
|
||||
|
||||
browser.runtime.onInstalled.addListener(details => {
|
||||
function initDefaults() {
|
||||
fetch("/instances/blacklist.json")
|
||||
|
@ -30,9 +30,9 @@
|
||||
<ellipse cx="1682" cy="502" rx="88" ry="424"></ellipse>
|
||||
</svg><a href="#medium" data-localise="__MSG_medium__">Medium</a>
|
||||
</div>
|
||||
<div class="title"><img src="../../../assets/images/quora.png"><a href="#quora" data-localise="__MSG_quora__">Quora</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/quora.png"><a href="#quora">Quora</a></div>
|
||||
<div class="title"><img src="../../../assets/images/imdb.svg"><a href="#imdb">IMDb</a></div>
|
||||
<div class="title"><img src="../../../assets/images/reuters.svg"><a href="#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/lbry-icon.png"><a href="#lbry" data-localise="__MSG_lbry__">LBRY</a></div>
|
||||
<div class="title">
|
||||
@ -237,19 +237,19 @@
|
||||
</div>
|
||||
<div>
|
||||
<div> <img src="../../../assets/images/quora.png">
|
||||
<x data-localise="__MSG_quora__">Quora</x>
|
||||
<x>Quora</x>
|
||||
</div>
|
||||
<input id="quora" type="checkbox">
|
||||
</div>
|
||||
<div>
|
||||
<div> <img src="../../../assets/images/imdb.svg">
|
||||
<x data-localise="__MSG_imdb__">IMDb</x>
|
||||
<x>IMDb</x>
|
||||
</div>
|
||||
<input id="imdb" type="checkbox">
|
||||
</div>
|
||||
<div>
|
||||
<div> <img src="../../../assets/images/reuters.svg">
|
||||
<x data-localise="__MSG_reuters__">Reuters</x>
|
||||
<x>Reuters</x>
|
||||
</div>
|
||||
<input id="reuters" type="checkbox">
|
||||
</div>
|
||||
@ -1774,7 +1774,7 @@
|
||||
</section>
|
||||
<section class="option-block" id="quora_page">
|
||||
<div class="some-block option-block">
|
||||
<h1 data-localise="__MSG_quora__">Quora</h1>
|
||||
<h1>Quora</h1>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="some-block option-block">
|
||||
@ -1881,7 +1881,7 @@
|
||||
</section>
|
||||
<section class="option-block" id="imdb_page">
|
||||
<div class="some-block option-block">
|
||||
<h1 data-localise="__MSG_imdb__">IMDb</h1>
|
||||
<h1>IMDb</h1>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="some-block option-block">
|
||||
@ -1988,7 +1988,7 @@
|
||||
</section>
|
||||
<section class="option-block" id="reuters_page">
|
||||
<div class="some-block option-block">
|
||||
<h1 data-localise="__MSG_reuters__">Reuters</h1>
|
||||
<h1>Reuters</h1>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="some-block option-block">
|
||||
@ -3186,4 +3186,4 @@
|
||||
</div>
|
||||
</body>
|
||||
<script type="module" src="./index.js"></script>
|
||||
</html>
|
||||
</html>
|
@ -36,15 +36,16 @@ updateInstancesElement.addEventListener("click", async () => {
|
||||
let exportSettingsElement = document.getElementById("export-settings")
|
||||
|
||||
function exportSettings() {
|
||||
browser.storage.local.get(null, result => {
|
||||
return browser.storage.local.get(null, result => {
|
||||
let resultString = JSON.stringify(result, null, " ")
|
||||
exportSettingsElement.href = "data:application/json;base64," + btoa(encodeURI(resultString))
|
||||
exportSettingsElement.download = "libredirect-settings.json"
|
||||
return
|
||||
})
|
||||
}
|
||||
exportSettings()
|
||||
|
||||
document.getElementById("general_page").addEventListener("click", exportSettings)
|
||||
document.getElementById("general_page").onclick = exportSettings
|
||||
|
||||
let importSettingsElement = document.getElementById("import-settings")
|
||||
let importSettingsElementText = document.getElementById("import_settings_text")
|
||||
@ -82,28 +83,28 @@ resetSettings.addEventListener("click", async () => {
|
||||
.then(async data => {
|
||||
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 () => {
|
||||
await generalHelper.initDefaults()
|
||||
await youtubeHelper.initDefaults()
|
||||
await youtubeMusicHelper.initDefaults()
|
||||
await twitterHelper.initDefaults()
|
||||
await instagramHelper.initDefaults()
|
||||
await mapsHelper.initDefaults()
|
||||
await searchHelper.initDefaults()
|
||||
await translateHelper.initDefaults()
|
||||
await mediumHelper.initDefaults()
|
||||
await quoraHelper.initDefaults()
|
||||
await libremdbHelper.initDefaults()
|
||||
await reutersHelper.initDefaults()
|
||||
await redditHelper.initDefaults()
|
||||
await wikipediaHelper.initDefaults()
|
||||
await imgurHelper.initDefaults()
|
||||
await tiktokHelper.initDefaults()
|
||||
await sendTargetsHelper.initDefaults()
|
||||
await peertubeHelper.initDefaults()
|
||||
await lbryHelper.initDefaults()
|
||||
location.reload()
|
||||
})
|
||||
browser.storage.local.set({ authenticateBlackList: JSON.parse(data).authenticate }, async () => {
|
||||
await generalHelper.initDefaults()
|
||||
await youtubeHelper.initDefaults()
|
||||
await youtubeMusicHelper.initDefaults()
|
||||
await twitterHelper.initDefaults()
|
||||
await instagramHelper.initDefaults()
|
||||
await mapsHelper.initDefaults()
|
||||
await searchHelper.initDefaults()
|
||||
await translateHelper.initDefaults()
|
||||
await mediumHelper.initDefaults()
|
||||
await quoraHelper.initDefaults()
|
||||
await libremdbHelper.initDefaults()
|
||||
await reutersHelper.initDefaults()
|
||||
await redditHelper.initDefaults()
|
||||
await wikipediaHelper.initDefaults()
|
||||
await imgurHelper.initDefaults()
|
||||
await tiktokHelper.initDefaults()
|
||||
await sendTargetsHelper.initDefaults()
|
||||
await peertubeHelper.initDefaults()
|
||||
await lbryHelper.initDefaults()
|
||||
location.reload()
|
||||
})
|
||||
})
|
||||
})
|
||||
})
|
||||
|
@ -172,19 +172,19 @@ section#general_page.option-block
|
||||
div
|
||||
div
|
||||
img(src="../../../assets/images/quora.png")
|
||||
x(data-localise="__MSG_quora__") Quora
|
||||
x() Quora
|
||||
input#quora(type="checkbox")
|
||||
|
||||
div
|
||||
div
|
||||
img(src="../../../assets/images/imdb.svg")
|
||||
x(data-localise="__MSG_imdb__") IMDb
|
||||
x IMDb
|
||||
input#imdb(type="checkbox")
|
||||
|
||||
div
|
||||
div
|
||||
img(src="../../../assets/images/reuters.svg")
|
||||
x(data-localise="__MSG_reuters__") Reuters
|
||||
x Reuters
|
||||
input#reuters(type="checkbox")
|
||||
|
||||
div
|
||||
|
@ -1,6 +1,6 @@
|
||||
section#imdb_page.option-block
|
||||
.some-block.option-block
|
||||
h1(data-localise="__MSG_imdb__") IMDb
|
||||
h1() IMDb
|
||||
hr
|
||||
.some-block.option-block
|
||||
h4(data-localise="__MSG_enable__") Enable
|
||||
|
@ -1,6 +1,6 @@
|
||||
section#quora_page.option-block
|
||||
.some-block.option-block
|
||||
h1(data-localise="__MSG_quora__") Quora
|
||||
h1() Quora
|
||||
hr
|
||||
.some-block.option-block
|
||||
h4(data-localise="__MSG_enable__") Enable
|
||||
|
@ -1,6 +1,6 @@
|
||||
section#reuters_page.option-block
|
||||
.some-block.option-block
|
||||
h1(data-localise="__MSG_reuters__") Reuters
|
||||
h1() Reuters
|
||||
hr
|
||||
.some-block.option-block
|
||||
h4(data-localise="__MSG_enable__") Enable
|
||||
|
@ -50,15 +50,15 @@
|
||||
<input class="disable-medium" type="checkbox"/>
|
||||
</div>
|
||||
<div class="quora some-block"><a class="title" href="https://quora.com"><img src="../../assets/images/quora.png"/>
|
||||
<h4 data-localise="__MSG_quora__">Quora</h4></a>
|
||||
<h4>Quora</h4></a>
|
||||
<input class="disable-quora" type="checkbox"/>
|
||||
</div>
|
||||
<div class="imdb some-block"><a class="title" href="https://imdb.com"><img src="../../assets/images/imdb.svg"/>
|
||||
<h4 data-localise="__MSG_imdb__">IMDb</h4></a>
|
||||
<h4>IMDb</h4></a>
|
||||
<input class="disable-imdb" type="checkbox"/>
|
||||
</div>
|
||||
<div class="reuters some-block"><a class="title" href="https://reuters.com"><img src="../../assets/images/reuters.svg"/>
|
||||
<h4 data-localise="__MSG_reuters__">Reuters</h4></a>
|
||||
<h4>Reuters</h4></a>
|
||||
<input class="disable-reuters" type="checkbox"/>
|
||||
</div>
|
||||
<div class="peertube some-block"><a class="title" href="https://search.joinpeertube.org"><img src="../../assets/images/peertube-icon.svg"/>
|
||||
@ -144,15 +144,15 @@
|
||||
<input class="disable-medium" type="checkbox"/>
|
||||
</div>
|
||||
<div class="quora some-block"><a class="title" href="https://quora.com"><img src="../../assets/images/quora.png"/>
|
||||
<h4 data-localise="__MSG_quora__">Quora</h4></a>
|
||||
<h4>Quora</h4></a>
|
||||
<input class="disable-quora" type="checkbox"/>
|
||||
</div>
|
||||
<div class="imdb some-block"><a class="title" href="https://imdb.com"><img src="../../assets/images/imdb.svg"/>
|
||||
<h4 data-localise="__MSG_imdb__">IMDb</h4></a>
|
||||
<h4>IMDb</h4></a>
|
||||
<input class="disable-imdb" type="checkbox"/>
|
||||
</div>
|
||||
<div class="reuters some-block"><a class="title" href="https://reuters.com"><img src="../../assets/images/reuters.svg"/>
|
||||
<h4 data-localise="__MSG_reuters__">Reuters</h4></a>
|
||||
<h4>Reuters</h4></a>
|
||||
<input class="disable-reuters" type="checkbox"/>
|
||||
</div>
|
||||
<div class="peertube some-block"><a class="title" href="https://search.joinpeertube.org"><img src="../../assets/images/peertube-icon.svg"/>
|
||||
|
@ -58,19 +58,19 @@ mixin services
|
||||
.quora.some-block
|
||||
a.title(href="https://quora.com")
|
||||
img(src="../../assets/images/quora.png")
|
||||
h4(data-localise="__MSG_quora__") Quora
|
||||
h4() Quora
|
||||
input.disable-quora(type="checkbox")
|
||||
|
||||
.imdb.some-block
|
||||
a.title(href="https://imdb.com")
|
||||
img(src="../../assets/images/imdb.svg")
|
||||
h4(data-localise="__MSG_imdb__") IMDb
|
||||
h4() IMDb
|
||||
input.disable-imdb(type="checkbox")
|
||||
|
||||
.reuters.some-block
|
||||
a.title(href="https://reuters.com")
|
||||
img(src="../../assets/images/reuters.svg")
|
||||
h4(data-localise="__MSG_reuters__") Reuters
|
||||
h4() Reuters
|
||||
input.disable-reuters(type="checkbox")
|
||||
|
||||
.peertube.some-block
|
||||
|
@ -44,15 +44,15 @@ mixin links(service)
|
||||
|
||||
.title
|
||||
img(src="../../../assets/images/quora.png")
|
||||
a(href="#quora" data-localise="__MSG_quora__") Quora
|
||||
a(href="#quora" ) Quora
|
||||
|
||||
.title
|
||||
img(src="../../../assets/images/imdb.svg")
|
||||
a(href="#imdb" data-localise="__MSG_imdb__") IMDb
|
||||
a(href="#imdb") IMDb
|
||||
|
||||
.title
|
||||
img(src="../../../assets/images/reuters.svg")
|
||||
a(href="#reuters" data-localise="__MSG_reuters__") Reuters
|
||||
a(href="#reuters") Reuters
|
||||
|
||||
.title
|
||||
img(src="../../../assets/images/peertube-icon.svg")
|
||||
|
Loading…
x
Reference in New Issue
Block a user