about summary refs log tree commit diff stats
path: root/src/assets/javascripts/reddit.js
diff options
context:
space:
mode:
authorBobIsMyManager <bimmgitsignature.nly8m@simplelogin.co>2022-07-26 22:28:50 +0100
committerBobIsMyManager <bimmgitsignature.nly8m@simplelogin.co>2022-07-26 22:28:50 +0100
commit2a0596f08fb54e2faef4bcb4548a28f5837fc067 (patch)
treecf5851f95c37da269a561623cee0d3967ca321ec /src/assets/javascripts/reddit.js
parentI should really inspect diffs before commiting (diff)
downloadlibredirect-2a0596f08fb54e2faef4bcb4548a28f5837fc067.zip
Many things
Made all instances updateable

Added hyperpipe

Closes https://github.com/libredirect/libredirect/issues/398

Added cloudtube

Closes https://github.com/libredirect/libredirect/issues/397

Start using prettier
Diffstat (limited to 'src/assets/javascripts/reddit.js')
-rw-r--r--src/assets/javascripts/reddit.js802
1 files changed, 400 insertions, 402 deletions
diff --git a/src/assets/javascripts/reddit.js b/src/assets/javascripts/reddit.js
index bc7b687f..699dcf1a 100644
--- a/src/assets/javascripts/reddit.js
+++ b/src/assets/javascripts/reddit.js
@@ -1,264 +1,261 @@
-window.browser = window.browser || window.chrome;
+window.browser = window.browser || window.chrome
 
-import utils from './utils.js'
+import utils from "./utils.js"
 
-const targets = [
-  /^https?:\/{2}(www\.|old\.|np\.|new\.|amp\.|)reddit\.com/,
-  /^https?:\/{2}(i\.|preview\.)redd\.it/,
-];
-let redirects = {};
+const targets = [/^https?:\/{2}(www\.|old\.|np\.|new\.|amp\.|)reddit\.com/, /^https?:\/{2}(i\.|preview\.)redd\.it/]
+let redirects = {}
 
 const frontends = new Array("libreddit", "teddit")
 const protocols = new Array("normal", "tor", "i2p", "loki")
 
 for (let i = 0; i < frontends.length; i++) {
-  redirects[frontends[i]] = {}
-  for (let x = 0; x < protocols.length; x++) {
-    redirects[frontends[i]][protocols[x]] = []
-  }
+	redirects[frontends[i]] = {}
+	for (let x = 0; x < protocols.length; x++) {
+		redirects[frontends[i]][protocols[x]] = []
+	}
 }
 
 function setRedirects(val) {
-  browser.storage.local.get('cloudflareBlackList', r => {
-    redirects = val;
-    libredditNormalRedirectsChecks = [...redirects.libreddit.normal];
-    tedditNormalRedirectsChecks = [...redirects.teddit.normal]
-    for (const instance of r.cloudflareBlackList) {
-      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,
-      tedditNormalRedirectsChecks
-    })
-  })
+	browser.storage.local.get("cloudflareBlackList", r => {
+		redirects = val
+		libredditNormalRedirectsChecks = [...redirects.libreddit.normal]
+		tedditNormalRedirectsChecks = [...redirects.teddit.normal]
+		for (const instance of r.cloudflareBlackList) {
+			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,
+			tedditNormalRedirectsChecks,
+		})
+	})
 }
 
-let
-  disableReddit,
-  redditFrontend,
-  redditRedirects,
-  protocol,
-  protocolFallback,
-
-  libredditNormalRedirectsChecks,
-  libredditNormalCustomRedirects,
-
-  libredditTorRedirectsChecks,
-  libredditTorCustomRedirects,
-
-  libredditI2pCustomRedirects,
-
-  libredditLokiCustomRedirects,
-
-  tedditNormalRedirectsChecks,
-  tedditNormalCustomRedirects,
-
-  tedditTorRedirectsChecks,
-  tedditTorCustomRedirects,
-
-  tedditI2pCustomRedirects,
-  tedditLokiCustomRedirects;
+let disableReddit,
+	redditFrontend,
+	redditRedirects,
+	protocol,
+	protocolFallback,
+	libredditNormalRedirectsChecks,
+	libredditNormalCustomRedirects,
+	libredditTorRedirectsChecks,
+	libredditTorCustomRedirects,
+	libredditI2pCustomRedirects,
+	libredditLokiCustomRedirects,
+	tedditNormalRedirectsChecks,
+	tedditNormalCustomRedirects,
+	tedditTorRedirectsChecks,
+	tedditTorCustomRedirects,
+	tedditI2pCustomRedirects,
+	tedditLokiCustomRedirects
 
 function init() {
-  return new Promise(resolve => {
-    browser.storage.local.get(
-      [
-        "disableReddit",
-        "redditFrontend",
-        "redditRedirects",
-        "protocol",
-        "protocolFallback",
-        "libredditNormalRedirectsChecks",
-        "libredditNormalCustomRedirects",
-        "libredditTorRedirectsChecks",
-        "libredditTorCustomRedirects",
-        "libredditI2pCustomRedirects",
-        "libredditLokiCustomRedirects",
-        "tedditNormalRedirectsChecks",
-        "tedditNormalCustomRedirects",
-        "tedditTorRedirectsChecks",
-        "tedditTorCustomRedirects",
-        "tedditI2pCustomRedirects",
-        "tedditLokiCustomRedirects"
-      ],
-      r => {
-        disableReddit = r.disableReddit;
-        redditFrontend = r.redditFrontend;
-        redditRedirects = r.redditRedirects;
-        protocol = r.protocol;
-        protocolFallback = r.protocolFallback;
-        libredditNormalRedirectsChecks = r.libredditNormalRedirectsChecks;
-        libredditNormalCustomRedirects = r.libredditNormalCustomRedirects;
-        libredditTorRedirectsChecks = r.libredditTorRedirectsChecks;
-        libredditTorCustomRedirects = r.libredditTorCustomRedirects;
-        libredditI2pCustomRedirects = r.libredditI2pCustomRedirects;
-        libredditLokiCustomRedirects = r.libredditLokiCustomRedirects;
-        tedditNormalRedirectsChecks = r.tedditNormalRedirectsChecks;
-        tedditNormalCustomRedirects = r.tedditNormalCustomRedirects;
-        tedditTorRedirectsChecks = r.tedditTorRedirectsChecks;
-        tedditTorCustomRedirects = r.tedditTorCustomRedirects;
-        tedditI2pCustomRedirects = r.tedditI2pCustomRedirects;
-        tedditLokiCustomRedirects = r.tedditLokiCustomRedirects;
-        resolve();
-      }
-    )
-  })
+	return new Promise(resolve => {
+		browser.storage.local.get(
+			[
+				"disableReddit",
+				"redditFrontend",
+				"redditRedirects",
+				"protocol",
+				"protocolFallback",
+				"libredditNormalRedirectsChecks",
+				"libredditNormalCustomRedirects",
+				"libredditTorRedirectsChecks",
+				"libredditTorCustomRedirects",
+				"libredditI2pCustomRedirects",
+				"libredditLokiCustomRedirects",
+				"tedditNormalRedirectsChecks",
+				"tedditNormalCustomRedirects",
+				"tedditTorRedirectsChecks",
+				"tedditTorCustomRedirects",
+				"tedditI2pCustomRedirects",
+				"tedditLokiCustomRedirects",
+			],
+			r => {
+				disableReddit = r.disableReddit
+				redditFrontend = r.redditFrontend
+				redditRedirects = r.redditRedirects
+				protocol = r.protocol
+				protocolFallback = r.protocolFallback
+				libredditNormalRedirectsChecks = r.libredditNormalRedirectsChecks
+				libredditNormalCustomRedirects = r.libredditNormalCustomRedirects
+				libredditTorRedirectsChecks = r.libredditTorRedirectsChecks
+				libredditTorCustomRedirects = r.libredditTorCustomRedirects
+				libredditI2pCustomRedirects = r.libredditI2pCustomRedirects
+				libredditLokiCustomRedirects = r.libredditLokiCustomRedirects
+				tedditNormalRedirectsChecks = r.tedditNormalRedirectsChecks
+				tedditNormalCustomRedirects = r.tedditNormalCustomRedirects
+				tedditTorRedirectsChecks = r.tedditTorRedirectsChecks
+				tedditTorCustomRedirects = r.tedditTorCustomRedirects
+				tedditI2pCustomRedirects = r.tedditI2pCustomRedirects
+				tedditLokiCustomRedirects = r.tedditLokiCustomRedirects
+				resolve()
+			}
+		)
+	})
 }
 
-init();
+init()
 browser.storage.onChanged.addListener(init)
 
 function initLibredditCookies(test, from) {
-  return new Promise(async resolve => {
-    await init();
-    const protocolHost = utils.protocolHost(from);
-    if (![
-      ...libredditNormalRedirectsChecks,
-      ...libredditTorRedirectsChecks,
-      ...libredditNormalCustomRedirects,
-      ...libredditTorCustomRedirects,
-      ...libredditI2pCustomRedirects,
-      ...libredditLokiCustomRedirects
-    ].includes(protocolHost)) { resolve(); return; }
-
-    if (!test) {
-      let checkedInstances = [];
-      if (protocol == 'loki') checkedInstances = [...libredditLokiCustomRedirects];
-      else if (protocol == 'i2p') checkedInstances = [...libredditI2pCustomRedirects];
-      else if (protocol == 'tor') checkedInstances = [...libredditTorRedirectsChecks, ...libredditTorCustomRedirects];
-      if ((checkedInstances.length === 0 && protocolFallback) || protocol == 'normal') {
-        checkedInstances = [...libredditNormalRedirectsChecks, ...libredditNormalCustomRedirects];
-      }
-      await utils.copyCookie('libreddit', from, checkedInstances, "theme");
-      await utils.copyCookie('libreddit', from, checkedInstances, "front_page");
-      await utils.copyCookie('libreddit', from, checkedInstances, "layout");
-      await utils.copyCookie('libreddit', from, checkedInstances, "wide");
-      await utils.copyCookie('libreddit', from, checkedInstances, "post_sort");
-      await utils.copyCookie('libreddit', from, checkedInstances, "comment_sort");
-      await utils.copyCookie('libreddit', from, checkedInstances, "show_nsfw");
-      await utils.copyCookie('libreddit', from, checkedInstances, "autoplay_videos");
-      await utils.copyCookie('libreddit', from, checkedInstances, "use_hls");
-      await utils.copyCookie('libreddit', from, checkedInstances, "hide_hls_notification");
-      await utils.copyCookie('libreddit', from, checkedInstances, "subscriptions");
-      await utils.copyCookie('libreddit', from, checkedInstances, "filters");
-    }
-    resolve(true);
-  })
+	return new Promise(async resolve => {
+		await init()
+		const protocolHost = utils.protocolHost(from)
+		if (
+			![
+				...libredditNormalRedirectsChecks,
+				...libredditTorRedirectsChecks,
+				...libredditNormalCustomRedirects,
+				...libredditTorCustomRedirects,
+				...libredditI2pCustomRedirects,
+				...libredditLokiCustomRedirects,
+			].includes(protocolHost)
+		) {
+			resolve()
+			return
+		}
+
+		if (!test) {
+			let checkedInstances = []
+			if (protocol == "loki") checkedInstances = [...libredditLokiCustomRedirects]
+			else if (protocol == "i2p") checkedInstances = [...libredditI2pCustomRedirects]
+			else if (protocol == "tor") checkedInstances = [...libredditTorRedirectsChecks, ...libredditTorCustomRedirects]
+			if ((checkedInstances.length === 0 && protocolFallback) || protocol == "normal") {
+				checkedInstances = [...libredditNormalRedirectsChecks, ...libredditNormalCustomRedirects]
+			}
+			await utils.copyCookie("libreddit", from, checkedInstances, "theme")
+			await utils.copyCookie("libreddit", from, checkedInstances, "front_page")
+			await utils.copyCookie("libreddit", from, checkedInstances, "layout")
+			await utils.copyCookie("libreddit", from, checkedInstances, "wide")
+			await utils.copyCookie("libreddit", from, checkedInstances, "post_sort")
+			await utils.copyCookie("libreddit", from, checkedInstances, "comment_sort")
+			await utils.copyCookie("libreddit", from, checkedInstances, "show_nsfw")
+			await utils.copyCookie("libreddit", from, checkedInstances, "autoplay_videos")
+			await utils.copyCookie("libreddit", from, checkedInstances, "use_hls")
+			await utils.copyCookie("libreddit", from, checkedInstances, "hide_hls_notification")
+			await utils.copyCookie("libreddit", from, checkedInstances, "subscriptions")
+			await utils.copyCookie("libreddit", from, checkedInstances, "filters")
+		}
+		resolve(true)
+	})
 }
 
 function pasteLibredditCookies() {
-  return new Promise(async resolve => {
-    await init();
-    if (disableReddit || redditFrontend != 'libreddit' || protocol === undefined) { resolve(); return; }
-    let checkedInstances = [];
-    if (protocol == 'loki') checkedInstances = [...libredditLokiCustomRedirects];
-    else if (protocol == 'i2p') checkedInstances = [...libredditI2pCustomRedirects];
-    else if (protocol == 'tor') checkedInstances = [...libredditTorRedirectsChecks, ...libredditTorCustomRedirects];
-    if ((checkedInstances.length === 0 && protocolFallback) || protocol == 'normal') {
-      checkedInstances = [...libredditNormalRedirectsChecks, ...libredditNormalCustomRedirects];
-    }
-    utils.getCookiesFromStorage('libreddit', checkedInstances, "theme");
-    utils.getCookiesFromStorage('libreddit', checkedInstances, "front_page");
-    utils.getCookiesFromStorage('libreddit', checkedInstances, "layout");
-    utils.getCookiesFromStorage('libreddit', checkedInstances, "wide");
-    utils.getCookiesFromStorage('libreddit', checkedInstances, "post_sort");
-    utils.getCookiesFromStorage('libreddit', checkedInstances, "comment_sort");
-    utils.getCookiesFromStorage('libreddit', checkedInstances, "show_nsfw");
-    utils.getCookiesFromStorage('libreddit', checkedInstances, "autoplay_videos");
-    utils.getCookiesFromStorage('libreddit', checkedInstances, "use_hls");
-    utils.getCookiesFromStorage('libreddit', checkedInstances, "hide_hls_notification");
-    utils.getCookiesFromStorage('libreddit', checkedInstances, "subscriptions");
-    utils.getCookiesFromStorage('libreddit', checkedInstances, "filters");
-    resolve();
-  })
+	return new Promise(async resolve => {
+		await init()
+		if (disableReddit || redditFrontend != "libreddit" || protocol === undefined) {
+			resolve()
+			return
+		}
+		let checkedInstances = []
+		if (protocol == "loki") checkedInstances = [...libredditLokiCustomRedirects]
+		else if (protocol == "i2p") checkedInstances = [...libredditI2pCustomRedirects]
+		else if (protocol == "tor") checkedInstances = [...libredditTorRedirectsChecks, ...libredditTorCustomRedirects]
+		if ((checkedInstances.length === 0 && protocolFallback) || protocol == "normal") {
+			checkedInstances = [...libredditNormalRedirectsChecks, ...libredditNormalCustomRedirects]
+		}
+		utils.getCookiesFromStorage("libreddit", checkedInstances, "theme")
+		utils.getCookiesFromStorage("libreddit", checkedInstances, "front_page")
+		utils.getCookiesFromStorage("libreddit", checkedInstances, "layout")
+		utils.getCookiesFromStorage("libreddit", checkedInstances, "wide")
+		utils.getCookiesFromStorage("libreddit", checkedInstances, "post_sort")
+		utils.getCookiesFromStorage("libreddit", checkedInstances, "comment_sort")
+		utils.getCookiesFromStorage("libreddit", checkedInstances, "show_nsfw")
+		utils.getCookiesFromStorage("libreddit", checkedInstances, "autoplay_videos")
+		utils.getCookiesFromStorage("libreddit", checkedInstances, "use_hls")
+		utils.getCookiesFromStorage("libreddit", checkedInstances, "hide_hls_notification")
+		utils.getCookiesFromStorage("libreddit", checkedInstances, "subscriptions")
+		utils.getCookiesFromStorage("libreddit", checkedInstances, "filters")
+		resolve()
+	})
 }
 
 function initTedditCookies(test, from) {
-  return new Promise(async resolve => {
-    await init();
-    let protocolHost = utils.protocolHost(from);
-    if (![
-      ...tedditNormalRedirectsChecks,
-      ...tedditTorRedirectsChecks,
-      ...tedditNormalCustomRedirects,
-      ...tedditTorCustomRedirects,
-      ...tedditI2pCustomRedirects,
-      ...tedditI2pCustomRedirects
-
-    ].includes(protocolHost)) resolve();
-
-    if (!test) {
-      let checkedInstances = [];
-      if (protocol == 'loki') checkedInstances = [...tedditLokiCustomRedirects];
-      else if (protocol == 'i2p') checkedInstances = [...tedditI2pCustomRedirects];
-      else if (protocol == 'tor') checkedInstances = [...tedditTorRedirectsChecks, ...tedditTorCustomRedirects];
-      if ((checkedInstances.length === 0 && protocolFallback) || protocol == 'normal') {
-        checkedInstances = [...tedditNormalRedirectsChecks, ...tedditNormalCustomRedirects];
-      }
-      await utils.copyCookie('teddit', from, checkedInstances, 'collapse_child_comments')
-      await utils.copyCookie('teddit', from, checkedInstances, 'domain_instagram')
-      await utils.copyCookie('teddit', from, checkedInstances, 'domain_twitter')
-      await utils.copyCookie('teddit', from, checkedInstances, 'domain_youtube')
-      await utils.copyCookie('teddit', from, checkedInstances, 'flairs')
-      await utils.copyCookie('teddit', from, checkedInstances, 'highlight_controversial')
-      await utils.copyCookie('teddit', from, checkedInstances, 'nsfw_enabled')
-      await utils.copyCookie('teddit', from, checkedInstances, 'post_media_max_height')
-      await utils.copyCookie('teddit', from, checkedInstances, 'show_upvoted_percentage')
-      await utils.copyCookie('teddit', from, checkedInstances, 'show_upvotes')
-      await utils.copyCookie('teddit', from, checkedInstances, 'theme')
-      await utils.copyCookie('teddit', from, checkedInstances, 'videos_muted')
-    }
-    resolve(true);
-  })
+	return new Promise(async resolve => {
+		await init()
+		let protocolHost = utils.protocolHost(from)
+		if (
+			![...tedditNormalRedirectsChecks, ...tedditTorRedirectsChecks, ...tedditNormalCustomRedirects, ...tedditTorCustomRedirects, ...tedditI2pCustomRedirects, ...tedditI2pCustomRedirects].includes(
+				protocolHost
+			)
+		)
+			resolve()
+
+		if (!test) {
+			let checkedInstances = []
+			if (protocol == "loki") checkedInstances = [...tedditLokiCustomRedirects]
+			else if (protocol == "i2p") checkedInstances = [...tedditI2pCustomRedirects]
+			else if (protocol == "tor") checkedInstances = [...tedditTorRedirectsChecks, ...tedditTorCustomRedirects]
+			if ((checkedInstances.length === 0 && protocolFallback) || protocol == "normal") {
+				checkedInstances = [...tedditNormalRedirectsChecks, ...tedditNormalCustomRedirects]
+			}
+			await utils.copyCookie("teddit", from, checkedInstances, "collapse_child_comments")
+			await utils.copyCookie("teddit", from, checkedInstances, "domain_instagram")
+			await utils.copyCookie("teddit", from, checkedInstances, "domain_twitter")
+			await utils.copyCookie("teddit", from, checkedInstances, "domain_youtube")
+			await utils.copyCookie("teddit", from, checkedInstances, "flairs")
+			await utils.copyCookie("teddit", from, checkedInstances, "highlight_controversial")
+			await utils.copyCookie("teddit", from, checkedInstances, "nsfw_enabled")
+			await utils.copyCookie("teddit", from, checkedInstances, "post_media_max_height")
+			await utils.copyCookie("teddit", from, checkedInstances, "show_upvoted_percentage")
+			await utils.copyCookie("teddit", from, checkedInstances, "show_upvotes")
+			await utils.copyCookie("teddit", from, checkedInstances, "theme")
+			await utils.copyCookie("teddit", from, checkedInstances, "videos_muted")
+		}
+		resolve(true)
+	})
 }
 
 function pasteTedditCookies() {
-  return new Promise(async resolve => {
-    await init();
-    if (disableReddit || redditFrontend != 'teddit' || protocol === undefined) { resolve(); return; }
-    let checkedInstances = [];
-    if (protocol == 'loki') checkedInstances = [...tedditLokiCustomRedirects];
-    else if (protocol == 'i2p') checkedInstances = [...tedditI2pCustomRedirects];
-    else if (protocol == 'tor') checkedInstances = [...tedditTorRedirectsChecks, ...tedditTorCustomRedirects];
-    if ((checkedInstances.length === 0 && protocolFallback) || protocol == 'normal') {
-      checkedInstances = [...tedditNormalRedirectsChecks, ...tedditNormalCustomRedirects];
-    }
-    utils.getCookiesFromStorage('teddit', checkedInstances, 'collapse_child_comments')
-    utils.getCookiesFromStorage('teddit', checkedInstances, 'domain_instagram')
-    utils.getCookiesFromStorage('teddit', checkedInstances, 'domain_twitter')
-    utils.getCookiesFromStorage('teddit', checkedInstances, 'domain_youtube')
-    utils.getCookiesFromStorage('teddit', checkedInstances, 'flairs')
-    utils.getCookiesFromStorage('teddit', checkedInstances, 'highlight_controversial')
-    utils.getCookiesFromStorage('teddit', checkedInstances, 'nsfw_enabled')
-    utils.getCookiesFromStorage('teddit', checkedInstances, 'post_media_max_height')
-    utils.getCookiesFromStorage('teddit', checkedInstances, 'show_upvoted_percentage')
-    utils.getCookiesFromStorage('teddit', checkedInstances, 'show_upvotes')
-    utils.getCookiesFromStorage('teddit', checkedInstances, 'theme')
-    utils.getCookiesFromStorage('teddit', checkedInstances, 'videos_muted')
-    resolve();
-  })
+	return new Promise(async resolve => {
+		await init()
+		if (disableReddit || redditFrontend != "teddit" || protocol === undefined) {
+			resolve()
+			return
+		}
+		let checkedInstances = []
+		if (protocol == "loki") checkedInstances = [...tedditLokiCustomRedirects]
+		else if (protocol == "i2p") checkedInstances = [...tedditI2pCustomRedirects]
+		else if (protocol == "tor") checkedInstances = [...tedditTorRedirectsChecks, ...tedditTorCustomRedirects]
+		if ((checkedInstances.length === 0 && protocolFallback) || protocol == "normal") {
+			checkedInstances = [...tedditNormalRedirectsChecks, ...tedditNormalCustomRedirects]
+		}
+		utils.getCookiesFromStorage("teddit", checkedInstances, "collapse_child_comments")
+		utils.getCookiesFromStorage("teddit", checkedInstances, "domain_instagram")
+		utils.getCookiesFromStorage("teddit", checkedInstances, "domain_twitter")
+		utils.getCookiesFromStorage("teddit", checkedInstances, "domain_youtube")
+		utils.getCookiesFromStorage("teddit", checkedInstances, "flairs")
+		utils.getCookiesFromStorage("teddit", checkedInstances, "highlight_controversial")
+		utils.getCookiesFromStorage("teddit", checkedInstances, "nsfw_enabled")
+		utils.getCookiesFromStorage("teddit", checkedInstances, "post_media_max_height")
+		utils.getCookiesFromStorage("teddit", checkedInstances, "show_upvoted_percentage")
+		utils.getCookiesFromStorage("teddit", checkedInstances, "show_upvotes")
+		utils.getCookiesFromStorage("teddit", checkedInstances, "theme")
+		utils.getCookiesFromStorage("teddit", checkedInstances, "videos_muted")
+		resolve()
+	})
 }
 
 function all() {
-  return [
-    ...redditRedirects.libreddit.normal,
-    ...redditRedirects.libreddit.tor,
-    ...redditRedirects.teddit.normal,
-    ...redditRedirects.teddit.tor,
-    ...libredditNormalCustomRedirects,
-    ...libredditTorCustomRedirects,
-    ...libredditI2pCustomRedirects,
-    ...libredditLokiCustomRedirects,
-    ...tedditNormalCustomRedirects,
-    ...tedditTorCustomRedirects,
-    ...tedditI2pCustomRedirects,
-    ...tedditLokiCustomRedirects
-  ];
+	return [
+		...redditRedirects.libreddit.normal,
+		...redditRedirects.libreddit.tor,
+		...redditRedirects.teddit.normal,
+		...redditRedirects.teddit.tor,
+		...libredditNormalCustomRedirects,
+		...libredditTorCustomRedirects,
+		...libredditI2pCustomRedirects,
+		...libredditLokiCustomRedirects,
+		...tedditNormalCustomRedirects,
+		...tedditTorCustomRedirects,
+		...tedditI2pCustomRedirects,
+		...tedditLokiCustomRedirects,
+	]
 }
 
 // https://libreddit.exonip.de/vid/1mq8d0ma3yk81/720.mp4
@@ -267,188 +264,189 @@ function all() {
 // https://teddit.net/vids/1mq8d0ma3yk81.mp4
 // https://teddit.net/pics/w:null_4v3t1vgvrzk81.png
 
-
 // redd.it/t5379n
 // https://v.redd.it/z08avb339n801/DASH_1_2_M
 // https://i.redd.it/bfkhs659tzk81.jpg
 function redirect(url, type, initiator, disableOverride) {
-  if (disableReddit && !disableOverride) return;
-  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;
-
-  let libredditInstancesList = [];
-  let tedditInstancesList = [];
-
-  if (protocol == 'loki') {
-    libredditInstancesList = [...libredditLokiCustomRedirects];
-    tedditInstancesList = [...tedditLokiCustomRedirects];
-  }
-  else if (protocol == 'i2p') {
-    libredditInstancesList = [...libredditI2pCustomRedirects];
-    tedditInstancesList = [...tedditI2pCustomRedirects];
-  }
-  else if (protocol == 'tor') {
-    libredditInstancesList = [...libredditTorRedirectsChecks, ...libredditTorCustomRedirects];
-    tedditInstancesList = [...tedditTorRedirectsChecks, ...tedditTorCustomRedirects];
-  }
-  if ((instancesList.length === 0 && protocolFallback) || protocol == 'normal') {
-    libredditInstancesList = [...libredditNormalRedirectsChecks, ...libredditNormalCustomRedirects];
-    tedditInstancesList = [...tedditNormalRedirectsChecks, ...tedditNormalCustomRedirects];
-  }
-
-  if (url.host === "i.redd.it") {
-    if (redditFrontend == 'teddit') {
-      if (tedditInstancesList.length === 0) return;
-      let tedditRandomInstance = utils.getRandomInstance(tedditInstancesList);
-      return `${tedditRandomInstance}/pics/w:null_${url.pathname.substring(1)}${url.search}`;
-    }
-    if (redditFrontend == 'libreddit') {
-      if (libredditInstancesList.length === 0) return;
-      let libredditRandomInstance = utils.getRandomInstance(libredditInstancesList);
-      return `${libredditRandomInstance}/img${url.pathname}${url.search}`
-    }
-  }
-  else if (url.host === "redd.it") {
-    if (redditFrontend == 'libreddit' && !url.pathname.match(/^\/+[^\/]+\/+[^\/]/)) {
-      if (libredditInstancesList.length === 0) return;
-      let libredditRandomInstance = utils.getRandomInstance(libredditInstancesList);
-      // https://redd.it/foo => https://libredd.it/comments/foo
-      return `${libredditRandomInstance}/comments${url.pathname}${url.search}`;
-    }
-    if (redditFrontend == 'teddit' && !url.pathname.match(/^\/+[^\/]+\/+[^\/]/)) {
-      if (tedditInstancesList.length === 0) return;
-      let tedditRandomInstance = utils.getRandomInstance(tedditInstancesList);
-      // https://redd.it/foo => https://teddit.net/comments/foo
-      return `${tedditRandomInstance}/comments${url.pathname}${url.search}`
-    }
-  }
-  else if (url.host === 'preview.redd.it') {
-    if (redditFrontend == 'teddit') return;
-    if (redditFrontend == 'libreddit') {
-      if (libredditInstancesList.length === 0) return;
-      const libredditRandomInstance = utils.getRandomInstance(libredditInstancesList);
-      return `${libredditRandomInstance}/preview/pre${url.pathname}${url.search}`;
-    }
-  }
-
-  let randomInstance;
-  if (redditFrontend == 'libreddit') {
-    if (libredditInstancesList.length === 0) return;
-    randomInstance = utils.getRandomInstance(libredditInstancesList);
-  }
-  if (redditFrontend == 'teddit') {
-    if (tedditInstancesList.length === 0) return;
-    randomInstance = utils.getRandomInstance(tedditInstancesList);
-  }
-  return `${randomInstance}${url.pathname}${url.search}`;
+	if (disableReddit && !disableOverride) return
+	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
+
+	let libredditInstancesList = []
+	let tedditInstancesList = []
+
+	if (protocol == "loki") {
+		libredditInstancesList = [...libredditLokiCustomRedirects]
+		tedditInstancesList = [...tedditLokiCustomRedirects]
+	} else if (protocol == "i2p") {
+		libredditInstancesList = [...libredditI2pCustomRedirects]
+		tedditInstancesList = [...tedditI2pCustomRedirects]
+	} else if (protocol == "tor") {
+		libredditInstancesList = [...libredditTorRedirectsChecks, ...libredditTorCustomRedirects]
+		tedditInstancesList = [...tedditTorRedirectsChecks, ...tedditTorCustomRedirects]
+	}
+	if ((instancesList.length === 0 && protocolFallback) || protocol == "normal") {
+		libredditInstancesList = [...libredditNormalRedirectsChecks, ...libredditNormalCustomRedirects]
+		tedditInstancesList = [...tedditNormalRedirectsChecks, ...tedditNormalCustomRedirects]
+	}
+
+	if (url.host === "i.redd.it") {
+		if (redditFrontend == "teddit") {
+			if (tedditInstancesList.length === 0) return
+			let tedditRandomInstance = utils.getRandomInstance(tedditInstancesList)
+			return `${tedditRandomInstance}/pics/w:null_${url.pathname.substring(1)}${url.search}`
+		}
+		if (redditFrontend == "libreddit") {
+			if (libredditInstancesList.length === 0) return
+			let libredditRandomInstance = utils.getRandomInstance(libredditInstancesList)
+			return `${libredditRandomInstance}/img${url.pathname}${url.search}`
+		}
+	} else if (url.host === "redd.it") {
+		if (redditFrontend == "libreddit" && !url.pathname.match(/^\/+[^\/]+\/+[^\/]/)) {
+			if (libredditInstancesList.length === 0) return
+			let libredditRandomInstance = utils.getRandomInstance(libredditInstancesList)
+			// https://redd.it/foo => https://libredd.it/comments/foo
+			return `${libredditRandomInstance}/comments${url.pathname}${url.search}`
+		}
+		if (redditFrontend == "teddit" && !url.pathname.match(/^\/+[^\/]+\/+[^\/]/)) {
+			if (tedditInstancesList.length === 0) return
+			let tedditRandomInstance = utils.getRandomInstance(tedditInstancesList)
+			// https://redd.it/foo => https://teddit.net/comments/foo
+			return `${tedditRandomInstance}/comments${url.pathname}${url.search}`
+		}
+	} else if (url.host === "preview.redd.it") {
+		if (redditFrontend == "teddit") return
+		if (redditFrontend == "libreddit") {
+			if (libredditInstancesList.length === 0) return
+			const libredditRandomInstance = utils.getRandomInstance(libredditInstancesList)
+			return `${libredditRandomInstance}/preview/pre${url.pathname}${url.search}`
+		}
+	}
+
+	let randomInstance
+	if (redditFrontend == "libreddit") {
+		if (libredditInstancesList.length === 0) return
+		randomInstance = utils.getRandomInstance(libredditInstancesList)
+	}
+	if (redditFrontend == "teddit") {
+		if (tedditInstancesList.length === 0) return
+		randomInstance = utils.getRandomInstance(tedditInstancesList)
+	}
+	return `${randomInstance}${url.pathname}${url.search}`
 }
 
 function switchInstance(url, disableOverride) {
-  return new Promise(async resolve => {
-    await init();
-    if (disableReddit && !disableOverride) { resolve(); return; }
-    const protocolHost = utils.protocolHost(url);
-    if (!all().includes(protocolHost)) { resolve(); return; }
-    let instancesList = [];
-    if (redditFrontend == 'libreddit') {
-      if (protocol == 'loki') instancesList = [...libredditLokiCustomRedirects];
-      else if (protocol == 'i2p') instancesList = [...libredditI2pCustomRedirects];
-      else if (protocol == 'tor') instancesList = [...libredditTorRedirectsChecks, ...libredditTorCustomRedirects];
-      if ((instancesList.length === 0 && protocolFallback) || protocol == 'normal') {
-        instancesList = [...libredditNormalRedirectsChecks, ...libredditNormalCustomRedirects];
-      }
-      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];
-      else if (protocol == 'tor') instancesList = [...tedditTorRedirectsChecks, ...tedditTorCustomRedirects];
-      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_");
-    }
-
-    const i = instancesList.indexOf(protocolHost);
-    if (i > -1) instancesList.splice(i, 1);
-    if (instancesList.length === 0) { resolve(); return; }
-
-    const randomInstance = utils.getRandomInstance(instancesList);
-    resolve(`${randomInstance}${url.pathname}${url.search}`);
-  })
+	return new Promise(async resolve => {
+		await init()
+		if (disableReddit && !disableOverride) {
+			resolve()
+			return
+		}
+		const protocolHost = utils.protocolHost(url)
+		if (!all().includes(protocolHost)) {
+			resolve()
+			return
+		}
+		let instancesList = []
+		if (redditFrontend == "libreddit") {
+			if (protocol == "loki") instancesList = [...libredditLokiCustomRedirects]
+			else if (protocol == "i2p") instancesList = [...libredditI2pCustomRedirects]
+			else if (protocol == "tor") instancesList = [...libredditTorRedirectsChecks, ...libredditTorCustomRedirects]
+			if ((instancesList.length === 0 && protocolFallback) || protocol == "normal") {
+				instancesList = [...libredditNormalRedirectsChecks, ...libredditNormalCustomRedirects]
+			}
+			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]
+			else if (protocol == "tor") instancesList = [...tedditTorRedirectsChecks, ...tedditTorCustomRedirects]
+			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_")
+		}
+
+		const i = instancesList.indexOf(protocolHost)
+		if (i > -1) instancesList.splice(i, 1)
+		if (instancesList.length === 0) {
+			resolve()
+			return
+		}
+
+		const randomInstance = utils.getRandomInstance(instancesList)
+		resolve(`${randomInstance}${url.pathname}${url.search}`)
+	})
 }
 
 function initDefaults() {
-  return new Promise(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', async r => {
-        libredditNormalRedirectsChecks = [...redirects.libreddit.normal];
-        tedditNormalRedirectsChecks = [...redirects.teddit.normal]
-        for (const instance of r.cloudflareBlackList) {
-          let i;
-
-          i = libredditNormalRedirectsChecks.indexOf(instance);
-          if (i > -1) libredditNormalRedirectsChecks.splice(i, 1);
-
-          i = tedditNormalRedirectsChecks.indexOf(instance);
-          if (i > -1) tedditNormalRedirectsChecks.splice(i, 1);
-        }
-        browser.storage.local.set({
-          disableReddit: false,
-          redditFrontend: 'libreddit',
-          redditRedirects: redirects,
-
-          libredditNormalRedirectsChecks: libredditNormalRedirectsChecks,
-          libredditNormalCustomRedirects: [],
-
-          libredditTorRedirectsChecks: [...redirects.libreddit.tor],
-          libredditTorCustomRedirects: [],
-
-          libredditI2pRedirectsChecks: [...redirects.libreddit.i2p],
-          libredditI2pCustomRedirects: [],
-
-          libredditLokiRedirectsChecks: [...redirects.libreddit.loki],
-          libredditLokiCustomRedirects: [],
-
-          tedditNormalRedirectsChecks: tedditNormalRedirectsChecks,
-          tedditNormalCustomRedirects: [],
-
-          tedditTorRedirectsChecks: [...redirects.teddit.tor],
-          tedditTorCustomRedirects: [],
-
-          tedditI2pRedirectsChecks: [...redirects.teddit.i2p],
-          tedditI2pCustomRedirects: [],
-
-          tedditLokiRedirectsChecks: [...redirects.teddit.loki],
-          tedditLokiCustomRedirects: []
-        }, () => resolve());
-      });
-    });
-  });
+	return new Promise(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", async r => {
+					libredditNormalRedirectsChecks = [...redirects.libreddit.normal]
+					tedditNormalRedirectsChecks = [...redirects.teddit.normal]
+					for (const instance of r.cloudflareBlackList) {
+						let i
+
+						i = libredditNormalRedirectsChecks.indexOf(instance)
+						if (i > -1) libredditNormalRedirectsChecks.splice(i, 1)
+
+						i = tedditNormalRedirectsChecks.indexOf(instance)
+						if (i > -1) tedditNormalRedirectsChecks.splice(i, 1)
+					}
+					browser.storage.local.set(
+						{
+							disableReddit: false,
+							redditFrontend: "libreddit",
+							redditRedirects: redirects,
+
+							libredditNormalRedirectsChecks: libredditNormalRedirectsChecks,
+							libredditNormalCustomRedirects: [],
+
+							libredditTorRedirectsChecks: [...redirects.libreddit.tor],
+							libredditTorCustomRedirects: [],
+
+							libredditI2pRedirectsChecks: [...redirects.libreddit.i2p],
+							libredditI2pCustomRedirects: [],
+
+							libredditLokiRedirectsChecks: [...redirects.libreddit.loki],
+							libredditLokiCustomRedirects: [],
+
+							tedditNormalRedirectsChecks: tedditNormalRedirectsChecks,
+							tedditNormalCustomRedirects: [],
+
+							tedditTorRedirectsChecks: [...redirects.teddit.tor],
+							tedditTorCustomRedirects: [],
+
+							tedditI2pRedirectsChecks: [...redirects.teddit.i2p],
+							tedditI2pCustomRedirects: [],
+
+							tedditLokiRedirectsChecks: [...redirects.teddit.loki],
+							tedditLokiCustomRedirects: [],
+						},
+						() => resolve()
+					)
+				})
+			})
+	})
 }
 
 export default {
-  setRedirects,
-  initLibredditCookies,
-  pasteLibredditCookies,
-  initTedditCookies,
-  pasteTedditCookies,
-
-  redirect,
-  initDefaults,
-  switchInstance,
-};
+	setRedirects,
+	initLibredditCookies,
+	pasteLibredditCookies,
+	initTedditCookies,
+	pasteTedditCookies,
+
+	redirect,
+	initDefaults,
+	switchInstance,
+}