about summary refs log tree commit diff stats
path: root/src/assets/javascripts/twitter.js
diff options
context:
space:
mode:
authorManeraKai <manerakai@protonmail.com>2022-07-27 17:44:04 +0200
committerManeraKai <manerakai@protonmail.com>2022-07-27 17:44:04 +0200
commita9a7dba5a329eb17e23ba08802406a4e2e2cb836 (patch)
tree2cb69c855b36e82128a00e5895d5f5409d5e0a5e /src/assets/javascripts/twitter.js
parentMerge branch 'BobIsMyManager-librex' (diff)
parent, (diff)
downloadlibredirect-a9a7dba5a329eb17e23ba08802406a4e2e2cb836.zip
Merge pull request 'Squashed a few bugs' (#10) from BobIsMyManager/libredirect:master into master
Reviewed-on: https://codeberg.org/LibRedirect/libredirect/pulls/10
Diffstat (limited to 'src/assets/javascripts/twitter.js')
-rw-r--r--src/assets/javascripts/twitter.js495
1 files changed, 249 insertions, 246 deletions
diff --git a/src/assets/javascripts/twitter.js b/src/assets/javascripts/twitter.js
index 0a851923..1ec4d8eb 100644
--- a/src/assets/javascripts/twitter.js
+++ b/src/assets/javascripts/twitter.js
@@ -1,13 +1,8 @@
-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\.|mobile\.|)twitter\.com/,
-  /^https?:\/{2}(pbs\.|video\.|)twimg\.com/,
-  /^https?:\/{2}platform\.twitter\.com\/embed/,
-  /^https?:\/{2}t\.co/
-];
+const targets = [/^https?:\/{2}(www\.|mobile\.|)twitter\.com/, /^https?:\/{2}(pbs\.|video\.|)twimg\.com/, /^https?:\/{2}platform\.twitter\.com\/embed/, /^https?:\/{2}t\.co/]
 
 const frontends = new Array("nitter")
 const protocols = new Array("normal", "tor", "i2p", "loki")
@@ -15,287 +10,295 @@ 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]] = []
-    }
+	redirects[frontends[i]] = {}
+	for (let x = 0; x < protocols.length; x++) {
+		redirects[frontends[i]][protocols[x]] = []
+	}
 }
 
 function setRedirects(val) {
-  browser.storage.local.get(['cloudflareBlackList', 'authenticateBlackList'], r => {
-    redirects.nitter = val;
-    nitterNormalRedirectsChecks = [...redirects.nitter.normal];
-    for (const instance of [...r.cloudflareBlackList, ...r.authenticateBlackList]) {
-      let i = nitterNormalRedirectsChecks.indexOf(instance);
-      if (i > -1) nitterNormalRedirectsChecks.splice(i, 1);
-    }
-    browser.storage.local.set({
-      twitterRedirects: redirects,
-      nitterNormalRedirectsChecks,
-      nitterTorRedirectsChecks: [...redirects.nitter.tor]
-    })
-  })
+	browser.storage.local.get(["cloudflareBlackList", "authenticateBlackList"], r => {
+		redirects.nitter = val
+		nitterNormalRedirectsChecks = [...redirects.nitter.normal]
+		for (const instance of [...r.cloudflareBlackList, ...r.authenticateBlackList]) {
+			let i = nitterNormalRedirectsChecks.indexOf(instance)
+			if (i > -1) nitterNormalRedirectsChecks.splice(i, 1)
+		}
+		browser.storage.local.set({
+			twitterRedirects: redirects,
+			nitterNormalRedirectsChecks,
+			nitterTorRedirectsChecks: [...redirects.nitter.tor],
+		})
+	})
 }
 
-let
-  disableTwitter,
-  protocol,
-  protocolFallback,
-  twitterRedirects,
-  twitterRedirectType,
-  nitterNormalRedirectsChecks,
-  nitterNormalCustomRedirects,
-  nitterTorRedirectsChecks,
-  nitterTorCustomRedirects,
-  nitterI2pCustomRedirects,
-  nitterLokiCustomRedirects;
+let disableTwitter,
+	protocol,
+	protocolFallback,
+	twitterRedirects,
+	twitterRedirectType,
+	nitterNormalRedirectsChecks,
+	nitterNormalCustomRedirects,
+	nitterTorRedirectsChecks,
+	nitterTorCustomRedirects,
+	nitterI2pCustomRedirects,
+	nitterLokiCustomRedirects
 
 function init() {
-  return new Promise(async resolve => {
-    browser.storage.local.get(
-      [
-        "disableTwitter",
-        "protocol",
-        "protocolFallback",
-        "twitterRedirects",
-        "twitterRedirectType",
-        "nitterNormalRedirectsChecks",
-        "nitterNormalCustomRedirects",
-        "nitterTorRedirectsChecks",
-        "nitterTorCustomRedirects",
-        "nitterI2pCustomRedirects",
-        "nitterLokiCustomRedirects"
-      ],
-      r => {
-        disableTwitter = r.disableTwitter;
-        protocol = r.protocol;
-        protocolFallback = r.protocolFallback;
-        twitterRedirects = r.twitterRedirects;
-        twitterRedirectType = r.twitterRedirectType;
-        nitterNormalRedirectsChecks = r.nitterNormalRedirectsChecks;
-        nitterNormalCustomRedirects = r.nitterNormalCustomRedirects;
-        nitterTorRedirectsChecks = r.nitterTorRedirectsChecks;
-        nitterTorCustomRedirects = r.nitterTorCustomRedirects;
-        nitterI2pCustomRedirects = r.nitterI2pCustomRedirects;
-        nitterLokiCustomRedirects = r.nitterLokiCustomRedirects;
-        resolve();
-      }
-    )
-  })
+	return new Promise(async resolve => {
+		browser.storage.local.get(
+			[
+				"disableTwitter",
+				"protocol",
+				"protocolFallback",
+				"twitterRedirects",
+				"twitterRedirectType",
+				"nitterNormalRedirectsChecks",
+				"nitterNormalCustomRedirects",
+				"nitterTorRedirectsChecks",
+				"nitterTorCustomRedirects",
+				"nitterI2pCustomRedirects",
+				"nitterLokiCustomRedirects",
+			],
+			r => {
+				disableTwitter = r.disableTwitter
+				protocol = r.protocol
+				protocolFallback = r.protocolFallback
+				twitterRedirects = r.twitterRedirects
+				twitterRedirectType = r.twitterRedirectType
+				nitterNormalRedirectsChecks = r.nitterNormalRedirectsChecks
+				nitterNormalCustomRedirects = r.nitterNormalCustomRedirects
+				nitterTorRedirectsChecks = r.nitterTorRedirectsChecks
+				nitterTorCustomRedirects = r.nitterTorCustomRedirects
+				nitterI2pCustomRedirects = r.nitterI2pCustomRedirects
+				nitterLokiCustomRedirects = r.nitterLokiCustomRedirects
+				resolve()
+			}
+		)
+	})
 }
 
-init();
+init()
 browser.storage.onChanged.addListener(init)
 
 function all() {
-  return [
-    ...nitterNormalRedirectsChecks,
-    ...nitterTorRedirectsChecks,
-    ...nitterNormalCustomRedirects,
-    ...nitterTorCustomRedirects,
-    ...nitterI2pCustomRedirects,
-    ...nitterLokiCustomRedirects
-  ];
+	return [...nitterNormalRedirectsChecks, ...nitterTorRedirectsChecks, ...nitterNormalCustomRedirects, ...nitterTorCustomRedirects, ...nitterI2pCustomRedirects, ...nitterLokiCustomRedirects]
 }
 
 function redirect(url, type, initiator, disableOverride) {
-  if (disableTwitter && !disableOverride) return;
-  if (!targets.some(rx => rx.test(url.href))) return;
-  if (url.pathname.split("/").includes("home")) return;
-  if (initiator && all().includes(initiator.origin)) return 'BYPASSTAB';
-  if (twitterRedirectType == 'sub_frame' && type == "main_frame") return;
-  if (twitterRedirectType == 'main_frame' && type != "main_frame") return;
+	if (disableTwitter && !disableOverride) return
+	if (!targets.some(rx => rx.test(url.href))) return
+	if (url.pathname.split("/").includes("home")) return
+	if (initiator && all().includes(initiator.origin)) return "BYPASSTAB"
+	if (twitterRedirectType == "sub_frame" && type == "main_frame") return
+	if (twitterRedirectType == "main_frame" && type != "main_frame") return
 
-  let instancesList = [];
-  if (protocol == 'loki') instancesList = [...nitterI2pCustomRedirects];
-  else if (protocol == 'i2p') instancesList = [...nitterLokiCustomRedirects];
-  else if (protocol == 'tor') instancesList = [...nitterTorRedirectsChecks, ...nitterTorCustomRedirects];
-  if ((instancesList.length === 0 && protocolFallback) || protocol == 'normal') {
-    instancesList = [...nitterNormalRedirectsChecks, ...nitterNormalCustomRedirects];
-  }
-  if (instancesList.length === 0) return;
+	let instancesList = []
+	if (protocol == "loki") instancesList = [...nitterI2pCustomRedirects]
+	else if (protocol == "i2p") instancesList = [...nitterLokiCustomRedirects]
+	else if (protocol == "tor") instancesList = [...nitterTorRedirectsChecks, ...nitterTorCustomRedirects]
+	if ((instancesList.length === 0 && protocolFallback) || protocol == "normal") {
+		instancesList = [...nitterNormalRedirectsChecks, ...nitterNormalCustomRedirects]
+	}
+	if (instancesList.length === 0) return
 
-  const randomInstance = utils.getRandomInstance(instancesList);
-  // https://pbs.twimg.com/profile_images/648888480974508032/66_cUYfj_400x400.jpg
-  if (url.host.split(".")[0] === "pbs" || url.host.split(".")[0] === "video") {
-    const [, id, format, extra] = url.search.match(/(.*)\?format=(.*)&(.*)/);
-    const query = encodeURIComponent(`${id}.${format}?${extra}`);
-    return `${randomInstance}/pic${url.pathname}${query}`;
-  }
-  else if (url.pathname.split("/").includes("tweets"))
-    return `${randomInstance}${url.pathname.replace("/tweets", "")}${url.search}`;
-  else if (url.host == 't.co')
-    return `${randomInstance}/t.co${url.pathname}`;
-  else
-    return `${randomInstance}${url.pathname}${url.search}`;
+	const randomInstance = utils.getRandomInstance(instancesList)
+	// https://pbs.twimg.com/profile_images/648888480974508032/66_cUYfj_400x400.jpg
+	if (url.host.split(".")[0] === "pbs" || url.host.split(".")[0] === "video") {
+		const [, id, format, extra] = url.search.match(/(.*)\?format=(.*)&(.*)/)
+		const query = encodeURIComponent(`${id}.${format}?${extra}`)
+		return `${randomInstance}/pic${url.pathname}${query}`
+	} else if (url.pathname.split("/").includes("tweets")) return `${randomInstance}${url.pathname.replace("/tweets", "")}${url.search}`
+	else if (url.host == "t.co") return `${randomInstance}/t.co${url.pathname}`
+	else return `${randomInstance}${url.pathname}${url.search}`
 }
 
 function reverse(url) {
-  return new Promise(async resolve => {
-    await init();
-    const protocolHost = utils.protocolHost(url);
-    if (!all().includes(protocolHost)) { resolve(); return; }
-    resolve(`https://twitter.com${url.pathname}${url.search}`);
-  })
+	return new Promise(async resolve => {
+		await init()
+		const protocolHost = utils.protocolHost(url)
+		if (!all().includes(protocolHost)) {
+			resolve()
+			return
+		}
+		resolve(`https://twitter.com${url.pathname}${url.search}`)
+	})
 }
 
 function switchInstance(url, disableOverride) {
-  return new Promise(async resolve => {
-    await init();
-    if (disableTwitter && !disableOverride) { resolve(); return; }
-    const protocolHost = utils.protocolHost(url);
-    if (!all().includes(protocolHost)) { resolve(); return; }
-    let instancesList = [];
-    if (protocol == 'loki') instancesList = [...nitterI2pCustomRedirects];
-    else if (protocol == 'i2p') instancesList = [...nitterLokiCustomRedirects];
-    else if (protocol == 'tor') instancesList = [...nitterTorRedirectsChecks, ...nitterTorCustomRedirects];
-    if ((instancesList.length === 0 && protocolFallback) || protocol == 'normal') {
-      instancesList = [...nitterNormalRedirectsChecks, ...nitterNormalCustomRedirects];
-    }
+	return new Promise(async resolve => {
+		await init()
+		if (disableTwitter && !disableOverride) {
+			resolve()
+			return
+		}
+		const protocolHost = utils.protocolHost(url)
+		if (!all().includes(protocolHost)) {
+			resolve()
+			return
+		}
+		let instancesList = []
+		if (protocol == "loki") instancesList = [...nitterI2pCustomRedirects]
+		else if (protocol == "i2p") instancesList = [...nitterLokiCustomRedirects]
+		else if (protocol == "tor") instancesList = [...nitterTorRedirectsChecks, ...nitterTorCustomRedirects]
+		if ((instancesList.length === 0 && protocolFallback) || protocol == "normal") {
+			instancesList = [...nitterNormalRedirectsChecks, ...nitterNormalCustomRedirects]
+		}
 
-    let index = instancesList.indexOf(protocolHost);
-    if (index > -1) instancesList.splice(index, 1);
-    if (instancesList.length === 0) { resolve(); return; }
+		let index = instancesList.indexOf(protocolHost)
+		if (index > -1) instancesList.splice(index, 1)
+		if (instancesList.length === 0) {
+			resolve()
+			return
+		}
 
-    const randomInstance = utils.getRandomInstance(instancesList);
-    resolve(`${randomInstance}${url.pathname}${url.search}`);
-  })
+		const randomInstance = utils.getRandomInstance(instancesList)
+		resolve(`${randomInstance}${url.pathname}${url.search}`)
+	})
 }
 
 function removeXFrameOptions(e) {
-  if (e.type != 'sub_frame') return;
-  let url = new URL(e.url);
-  let protocolHost = utils.protocolHost(url);
-  if (!all().includes(protocolHost)) return;
-  let isChanged = false;
-  for (const i in e.responseHeaders) {
-    if (e.responseHeaders[i].name == 'x-frame-options') {
-      e.responseHeaders.splice(i, 1);
-      isChanged = true;
-    }
-    else if (e.responseHeaders[i].name == 'content-security-policy') {
-      e.responseHeaders.splice(i, 1);
-      isChanged = true;
-    }
-  }
-  if (isChanged) return { responseHeaders: e.responseHeaders };
+	if (e.type != "sub_frame") return
+	let url = new URL(e.url)
+	let protocolHost = utils.protocolHost(url)
+	if (!all().includes(protocolHost)) return
+	let isChanged = false
+	for (const i in e.responseHeaders) {
+		if (e.responseHeaders[i].name == "x-frame-options") {
+			e.responseHeaders.splice(i, 1)
+			isChanged = true
+		} else if (e.responseHeaders[i].name == "content-security-policy") {
+			e.responseHeaders.splice(i, 1)
+			isChanged = true
+		}
+	}
+	if (isChanged) return { responseHeaders: e.responseHeaders }
 }
 
 function initNitterCookies(test, from) {
-  return new Promise(async resolve => {
-    await init();
-    const protocolHost = utils.protocolHost(from);
-    if (!all().includes(protocolHost)
-    ) { resolve(); return; }
-    if (!test) {
-      let checkedInstances = [];
-      if (protocol == 'loki') checkedInstances = [...nitterI2pCustomRedirects];
-      else if (protocol == 'i2p') checkedInstances = [...nitterLokiCustomRedirects];
-      else if (protocol == 'tor') checkedInstances = [...nitterTorRedirectsChecks, ...nitterTorCustomRedirects];
-      if ((checkedInstances.length === 0 && protocolFallback) || protocol == 'normal') {
-        checkedInstances = [...nitterNormalRedirectsChecks, ...nitterNormalCustomRedirects];
-      }
-      await utils.copyCookie('nitter', from, checkedInstances, 'theme');
-      await utils.copyCookie('nitter', from, checkedInstances, 'infiniteScroll');
-      await utils.copyCookie('nitter', from, checkedInstances, 'stickyProfile');
-      await utils.copyCookie('nitter', from, checkedInstances, 'bidiSupport');
-      await utils.copyCookie('nitter', from, checkedInstances, 'hideTweetStats');
-      await utils.copyCookie('nitter', from, checkedInstances, 'hideBanner');
-      await utils.copyCookie('nitter', from, checkedInstances, 'hidePins');
-      await utils.copyCookie('nitter', from, checkedInstances, 'hideReplies');
-      await utils.copyCookie('nitter', from, checkedInstances, 'squareAvatars');
-      await utils.copyCookie('nitter', from, checkedInstances, 'mp4Playback');
-      await utils.copyCookie('nitter', from, checkedInstances, 'hlsPlayback');
-      await utils.copyCookie('nitter', from, checkedInstances, 'proxyVideos');
-      await utils.copyCookie('nitter', from, checkedInstances, 'muteVideos');
-      await utils.copyCookie('nitter', from, checkedInstances, 'autoplayGifs');
+	return new Promise(async resolve => {
+		await init()
+		const protocolHost = utils.protocolHost(from)
+		if (!all().includes(protocolHost)) {
+			resolve()
+			return
+		}
+		if (!test) {
+			let checkedInstances = []
+			if (protocol == "loki") checkedInstances = [...nitterI2pCustomRedirects]
+			else if (protocol == "i2p") checkedInstances = [...nitterLokiCustomRedirects]
+			else if (protocol == "tor") checkedInstances = [...nitterTorRedirectsChecks, ...nitterTorCustomRedirects]
+			if ((checkedInstances.length === 0 && protocolFallback) || protocol == "normal") {
+				checkedInstances = [...nitterNormalRedirectsChecks, ...nitterNormalCustomRedirects]
+			}
+			await utils.copyCookie("nitter", from, checkedInstances, "theme")
+			await utils.copyCookie("nitter", from, checkedInstances, "infiniteScroll")
+			await utils.copyCookie("nitter", from, checkedInstances, "stickyProfile")
+			await utils.copyCookie("nitter", from, checkedInstances, "bidiSupport")
+			await utils.copyCookie("nitter", from, checkedInstances, "hideTweetStats")
+			await utils.copyCookie("nitter", from, checkedInstances, "hideBanner")
+			await utils.copyCookie("nitter", from, checkedInstances, "hidePins")
+			await utils.copyCookie("nitter", from, checkedInstances, "hideReplies")
+			await utils.copyCookie("nitter", from, checkedInstances, "squareAvatars")
+			await utils.copyCookie("nitter", from, checkedInstances, "mp4Playback")
+			await utils.copyCookie("nitter", from, checkedInstances, "hlsPlayback")
+			await utils.copyCookie("nitter", from, checkedInstances, "proxyVideos")
+			await utils.copyCookie("nitter", from, checkedInstances, "muteVideos")
+			await utils.copyCookie("nitter", from, checkedInstances, "autoplayGifs")
 
-      await utils.copyCookie('nitter', from, checkedInstances, 'replaceInstagram');
-      await utils.copyCookie('nitter', from, checkedInstances, 'replaceReddit');
-      await utils.copyCookie('nitter', from, checkedInstances, 'replaceTwitter');
-      await utils.copyCookie('nitter', from, checkedInstances, 'replaceYouTube');
-    }
-    resolve(true);
-  })
+			await utils.copyCookie("nitter", from, checkedInstances, "replaceInstagram")
+			await utils.copyCookie("nitter", from, checkedInstances, "replaceReddit")
+			await utils.copyCookie("nitter", from, checkedInstances, "replaceTwitter")
+			await utils.copyCookie("nitter", from, checkedInstances, "replaceYouTube")
+		}
+		resolve(true)
+	})
 }
 
 function pasteNitterCookies() {
-  return new Promise(async resolve => {
-    await init();
-    if (disableTwitter || protocol === undefined) { resolve(); return; }
-    let checkedInstances = [];
-    if (protocol == 'loki') checkedInstances = [...nitterI2pCustomRedirects];
-    else if (protocol == 'i2p') checkedInstances = [...nitterLokiCustomRedirects];
-    else if (protocol == 'tor') checkedInstances = [...nitterTorRedirectsChecks, ...nitterTorCustomRedirects];
-    if ((checkedInstances.length === 0 && protocolFallback) || protocol == 'normal') {
-      checkedInstances = [...nitterNormalRedirectsChecks, ...nitterNormalCustomRedirects];
-    }
-    utils.getCookiesFromStorage('nitter', checkedInstances, 'theme');
-    utils.getCookiesFromStorage('nitter', checkedInstances, 'infiniteScroll');
-    utils.getCookiesFromStorage('nitter', checkedInstances, 'stickyProfile');
-    utils.getCookiesFromStorage('nitter', checkedInstances, 'bidiSupport');
-    utils.getCookiesFromStorage('nitter', checkedInstances, 'hideTweetStats');
-    utils.getCookiesFromStorage('nitter', checkedInstances, 'hideBanner');
-    utils.getCookiesFromStorage('nitter', checkedInstances, 'hidePins');
-    utils.getCookiesFromStorage('nitter', checkedInstances, 'hideReplies');
-    utils.getCookiesFromStorage('nitter', checkedInstances, 'squareAvatars');
-    utils.getCookiesFromStorage('nitter', checkedInstances, 'mp4Playback');
-    utils.getCookiesFromStorage('nitter', checkedInstances, 'hlsPlayback');
-    utils.getCookiesFromStorage('nitter', checkedInstances, 'proxyVideos');
-    utils.getCookiesFromStorage('nitter', checkedInstances, 'muteVideos');
-    utils.getCookiesFromStorage('nitter', checkedInstances, 'autoplayGifs');
+	return new Promise(async resolve => {
+		await init()
+		if (disableTwitter || protocol === undefined) {
+			resolve()
+			return
+		}
+		let checkedInstances = []
+		if (protocol == "loki") checkedInstances = [...nitterI2pCustomRedirects]
+		else if (protocol == "i2p") checkedInstances = [...nitterLokiCustomRedirects]
+		else if (protocol == "tor") checkedInstances = [...nitterTorRedirectsChecks, ...nitterTorCustomRedirects]
+		if ((checkedInstances.length === 0 && protocolFallback) || protocol == "normal") {
+			checkedInstances = [...nitterNormalRedirectsChecks, ...nitterNormalCustomRedirects]
+		}
+		utils.getCookiesFromStorage("nitter", checkedInstances, "theme")
+		utils.getCookiesFromStorage("nitter", checkedInstances, "infiniteScroll")
+		utils.getCookiesFromStorage("nitter", checkedInstances, "stickyProfile")
+		utils.getCookiesFromStorage("nitter", checkedInstances, "bidiSupport")
+		utils.getCookiesFromStorage("nitter", checkedInstances, "hideTweetStats")
+		utils.getCookiesFromStorage("nitter", checkedInstances, "hideBanner")
+		utils.getCookiesFromStorage("nitter", checkedInstances, "hidePins")
+		utils.getCookiesFromStorage("nitter", checkedInstances, "hideReplies")
+		utils.getCookiesFromStorage("nitter", checkedInstances, "squareAvatars")
+		utils.getCookiesFromStorage("nitter", checkedInstances, "mp4Playback")
+		utils.getCookiesFromStorage("nitter", checkedInstances, "hlsPlayback")
+		utils.getCookiesFromStorage("nitter", checkedInstances, "proxyVideos")
+		utils.getCookiesFromStorage("nitter", checkedInstances, "muteVideos")
+		utils.getCookiesFromStorage("nitter", checkedInstances, "autoplayGifs")
 
-    utils.getCookiesFromStorage('nitter', checkedInstances, 'replaceInstagram');
-    utils.getCookiesFromStorage('nitter', checkedInstances, 'replaceReddit');
-    utils.getCookiesFromStorage('nitter', checkedInstances, 'replaceTwitter');
-    utils.getCookiesFromStorage('nitter', checkedInstances, 'replaceYouTube');
-    resolve();
-  }
-  )
+		utils.getCookiesFromStorage("nitter", checkedInstances, "replaceInstagram")
+		utils.getCookiesFromStorage("nitter", checkedInstances, "replaceReddit")
+		utils.getCookiesFromStorage("nitter", checkedInstances, "replaceTwitter")
+		utils.getCookiesFromStorage("nitter", checkedInstances, "replaceYouTube")
+		resolve()
+	})
 }
 
 function initDefaults() {
-  return new Promise(resolve => {
-    fetch('/instances/data.json').then(response => response.text()).then(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', 'authenticateBlackList'], async r => {
-        nitterNormalRedirectsChecks = [...redirects.nitter.normal];
-        for (const instance of [...r.cloudflareBlackList, ...r.authenticateBlackList]) {
-          let i = nitterNormalRedirectsChecks.indexOf(instance);
-          if (i > -1) nitterNormalRedirectsChecks.splice(i, 1);
-        }
-        browser.storage.local.set({
-          disableTwitter: false,
-          twitterRedirects: redirects,
-          twitterRedirectType: "both",
+	return new Promise(resolve => {
+		fetch("/instances/data.json")
+			.then(response => response.text())
+			.then(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", "authenticateBlackList"], async r => {
+					nitterNormalRedirectsChecks = [...redirects.nitter.normal]
+					for (const instance of [...r.cloudflareBlackList, ...r.authenticateBlackList]) {
+						let i = nitterNormalRedirectsChecks.indexOf(instance)
+						if (i > -1) nitterNormalRedirectsChecks.splice(i, 1)
+					}
+					browser.storage.local.set(
+						{
+							disableTwitter: false,
+							twitterRedirects: redirects,
+							twitterRedirectType: "both",
 
-          nitterNormalRedirectsChecks: nitterNormalRedirectsChecks,
-          nitterNormalCustomRedirects: [],
+							nitterNormalRedirectsChecks: nitterNormalRedirectsChecks,
+							nitterNormalCustomRedirects: [],
 
-          nitterTorRedirectsChecks: [...redirects.nitter.tor],
-          nitterTorCustomRedirects: [],
+							nitterTorRedirectsChecks: [...redirects.nitter.tor],
+							nitterTorCustomRedirects: [],
 
-          nitterI2pRedirectsChecks: [...redirects.nitter.i2p],
-          nitterI2pCustomRedirects: [],
+							nitterI2pRedirectsChecks: [...redirects.nitter.i2p],
+							nitterI2pCustomRedirects: [],
 
-          nitterLokiRedirectsChecks: [...redirects.nitter.loki],
-          nitterLokiCustomRedirects: []
-        }, () => resolve());
-      })
-    })
-  })
+							nitterLokiRedirectsChecks: [...redirects.nitter.loki],
+							nitterLokiCustomRedirects: [],
+						},
+						() => resolve()
+					)
+				})
+			})
+	})
 }
 
 export default {
-  setRedirects,
-  redirect,
-  switchInstance,
-  reverse,
-  removeXFrameOptions,
-  initNitterCookies,
-  pasteNitterCookies,
-  initDefaults,
-};
+	setRedirects,
+	redirect,
+	switchInstance,
+	reverse,
+	removeXFrameOptions,
+	initNitterCookies,
+	pasteNitterCookies,
+	initDefaults,
+}