about summary refs log tree commit diff stats
path: root/src/assets/javascripts/reuters.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/assets/javascripts/reuters.js')
-rw-r--r--src/assets/javascripts/reuters.js155
1 files changed, 0 insertions, 155 deletions
diff --git a/src/assets/javascripts/reuters.js b/src/assets/javascripts/reuters.js
deleted file mode 100644
index 16459b4a..00000000
--- a/src/assets/javascripts/reuters.js
+++ /dev/null
@@ -1,155 +0,0 @@
-window.browser = window.browser || window.chrome
-
-import utils from "./utils.js"
-
-const targets = [/^https?:\/{2}(www\.|)reuters\.com.*/]
-
-const frontends = new Array("neuters")
-const protocols = new Array("normal", "tor", "i2p", "loki")
-
-let redirects = {}
-
-for (let i = 0; i < frontends.length; i++) {
-	redirects[frontends[i]] = {}
-	for (let x = 0; x < protocols.length; x++) {
-		redirects[frontends[i]][protocols[x]] = []
-	}
-}
-
-function setRedirects(val) {
-	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,
-	protocol,
-	protocolFallback,
-	reutersRedirects,
-	neutersNormalRedirectsChecks,
-	neutersNormalCustomRedirects,
-	neutersTorRedirectsChecks,
-	neutersTorCustomRedirects,
-	neutersI2pCustomRedirects,
-	neutersLokiCustomRedirects
-
-function init() {
-	return new Promise(async resolve => {
-		browser.storage.local.get(
-			[
-				"disableReuters",
-				"protocol",
-				"protocolFallback",
-				"reutersRedirects",
-				"neutersNormalRedirectsChecks",
-				"neutersNormalCustomRedirects",
-				"neutersTorRedirectsChecks",
-				"neutersTorCustomRedirects",
-				"neutersI2pCustomRedirects",
-				"neutersLokiCustomRedirects",
-			],
-			r => {
-				disableReuters = r.disableReuters
-				protocol = r.protocol
-				protocolFallback = r.protocolFallback
-				reutersRedirects = r.reutersRedirects
-				neutersNormalRedirectsChecks = r.neutersNormalRedirectsChecks
-				neutersNormalCustomRedirects = r.neutersNormalCustomRedirects
-				neutersTorRedirectsChecks = r.neutersTorRedirectsChecks
-				neutersTorCustomRedirects = r.neutersTorCustomRedirects
-				neutersI2pCustomRedirects = r.neutersI2pCustomRedirects
-				neutersLokiCustomRedirects = r.neutersLokiCustomRedirects
-				resolve()
-			}
-		)
-	})
-}
-
-init()
-browser.storage.onChanged.addListener(init)
-
-function redirect(url, type, initiator, disableOverride) {
-	if (disableReuters && !disableOverride) return
-	if (type != "main_frame") return
-	const all = [...reutersRedirects.neuters.normal, ...neutersNormalCustomRedirects]
-	if (initiator && (all.includes(initiator.origin) || targets.includes(initiator.host))) return
-	if (!targets.some(rx => rx.test(url.href))) return
-
-	let instancesList = []
-	if (protocol == "loki") instancesList = [...neutersLokiCustomRedirects]
-	else if (protocol == "i2p") instancesList = [...neutersI2pCustomRedirects]
-	else if (protocol == "tor") instancesList = [...neutersTorRedirectsChecks, ...neutersTorCustomRedirects]
-	if ((instancesList.length === 0 && protocolFallback) || protocol == "normal") {
-		instancesList = [...neutersNormalRedirectsChecks, ...neutersNormalCustomRedirects]
-	}
-	if (instancesList.length === 0) return
-
-	const randomInstance = utils.getRandomInstance(instancesList)
-	// stolen from https://addons.mozilla.org/en-US/firefox/addon/reuters-redirect/
-	if (url.pathname.startsWith("/article/") || url.pathname.startsWith("/pf/") || url.pathname.startsWith("/arc/") || url.pathname.startsWith("/resizer/")) return null
-	else if (url.pathname.endsWith("/")) return `${randomInstance}${url.pathname}`
-	else return `${randomInstance}${url.pathname}/`
-}
-
-function initDefaults() {
-	return new Promise(async resolve => {
-		fetch("/instances/data.json")
-			.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]]
-				}
-				browser.storage.local.get(["cloudflareBlackList", "offlineBlackList"], async r => {
-					neutersNormalRedirectsChecks = [...redirects.neuters.normal]
-					for (const instance of [...r.cloudflareBlackList, ...r.offlineBlackList]) {
-						const a = neutersNormalRedirectsChecks.indexOf(instance)
-						if (a > -1) neutersNormalRedirectsChecks.splice(a, 1)
-					}
-					browser.storage.local.set(
-						{
-							disableReuters: true,
-
-							reutersRedirects: redirects,
-
-							neutersNormalRedirectsChecks,
-							neutersNormalCustomRedirects: [],
-
-							neutersTorRedirectsChecks: [...redirects.neuters.tor],
-							neutersTorCustomRedirects: [],
-
-							neutersI2pRedirectsChecks: [...redirects.neuters.i2p],
-							neutersI2pCustomRedirects: [],
-
-							neutersLokiRedirectsChecks: [...redirects.neuters.loki],
-							neutersLokiCustomRedirects: [],
-						},
-						() => resolve()
-					)
-				})
-			})
-	})
-}
-
-export default {
-	setRedirects,
-	redirect,
-	initDefaults,
-}