diff --git a/src/assets/javascripts/helpers/imgur.js b/src/assets/javascripts/helpers/imgur.js
index 4b34afc..9ed16b1 100644
--- a/src/assets/javascripts/helpers/imgur.js
+++ b/src/assets/javascripts/helpers/imgur.js
@@ -11,7 +11,6 @@ let redirects = {
"i2p": []
}
}
-const getRedirects = () => redirects;
function setRedirects(val) {
redirects.rimgo = val;
browser.storage.local.set({ imgurRedirects: redirects })
@@ -98,28 +97,30 @@ function redirect(url, type, initiator) {
}
async function reverse(url) {
- browser.storage.local.get(
- [
- "imgurRedirects",
- "rimgoNormalCustomRedirects",
- "rimgoTorCustomRedirects",
- "rimgoI2pCustomRedirects",
- ],
- r => {
- let protocolHost = utils.protocolHost(url);
- if (
- ![
- ...r.imgurRedirects.rimgo.normal,
- ...r.imgurRedirects.rimgo.tor,
- ...r.imgurRedirects.rimgo.i2p,
- ...r.rimgoNormalCustomRedirects,
- ...r.rimgoTorCustomRedirects,
- ...r.rimgoI2pCustomRedirects
- ].includes(protocolHost)
- ) return;
- return `https://imgur.com${url.pathname}${url.search}`;
- }
- )
+ return new Promise(resolve => {
+ browser.storage.local.get(
+ [
+ "imgurRedirects",
+ "rimgoNormalCustomRedirects",
+ "rimgoTorCustomRedirects",
+ "rimgoI2pCustomRedirects",
+ ],
+ r => {
+ let protocolHost = utils.protocolHost(url);
+ if (
+ ![
+ ...r.imgurRedirects.rimgo.normal,
+ ...r.imgurRedirects.rimgo.tor,
+ ...r.imgurRedirects.rimgo.i2p,
+ ...r.rimgoNormalCustomRedirects,
+ ...r.rimgoTorCustomRedirects,
+ ...r.rimgoI2pCustomRedirects
+ ].includes(protocolHost)
+ ) { resolve(); return; }
+ resolve(`https://imgur.com${url.pathname}${url.search}`);
+ }
+ )
+ })
}
function switchInstance(url) {
@@ -197,7 +198,6 @@ async function initDefaults() {
}
export default {
- getRedirects,
setRedirects,
redirect,
diff --git a/src/assets/javascripts/helpers/instagram.js b/src/assets/javascripts/helpers/instagram.js
index 621de39..a5f5b81 100644
--- a/src/assets/javascripts/helpers/instagram.js
+++ b/src/assets/javascripts/helpers/instagram.js
@@ -76,32 +76,36 @@ function redirect(url, type, initiator) {
})
}
function reverse(url) {
- browser.storage.local.get(
- [
- "instagramRedirects",
- "bibliogramNormalCustomRedirects",
- "bibliogramTorCustomRedirects",
- ],
- r => {
- let protocolHost = utils.protocolHost(url);
- if (
- ![
- ...r.instagramRedirects.bibliogram.normal,
- ...r.instagramRedirects.bibliogram.tor,
- ...r.bibliogramNormalCustomRedirects,
- ...r.bibliogramTorCustomRedirects
- ].includes(protocolHost)
- ) return;
+ return new Promise(resolve => {
+ browser.storage.local.get(
+ [
+ "instagramRedirects",
+ "bibliogramNormalCustomRedirects",
+ "bibliogramTorCustomRedirects",
+ ],
+ r => {
+ let protocolHost = utils.protocolHost(url);
+ if (
+ ![
+ ...r.instagramRedirects.bibliogram.normal,
+ ...r.instagramRedirects.bibliogram.tor,
+ ...r.bibliogramNormalCustomRedirects,
+ ...r.bibliogramTorCustomRedirects
+ ].includes(protocolHost)
+ ) { resolve(); return; }
- if (url.pathname.startsWith('/p'))
- return `https://instagram.com${url.pathname.replace('/p', '')}${url.search}`;
+ if (url.pathname.startsWith('/p')) {
+ resolve(`https://instagram.com${url.pathname.replace('/p', '')}${url.search}`); return;
+ }
- if (url.pathname.startsWith('/u'))
- return `https://instagram.com${url.pathname.replace('/u', '')}${url.search}`;
+ if (url.pathname.startsWith('/u')) {
+ resolve(`https://instagram.com${url.pathname.replace('/u', '')}${url.search}`); return;
+ }
- return `https://instagram.com${url.pathname}${url.search}`;
- }
- )
+ resolve(`https://instagram.com${url.pathname}${url.search}`);
+ }
+ )
+ })
}
function switchInstance(url) {
diff --git a/src/assets/javascripts/helpers/medium.js b/src/assets/javascripts/helpers/medium.js
index a0892df..788096c 100644
--- a/src/assets/javascripts/helpers/medium.js
+++ b/src/assets/javascripts/helpers/medium.js
@@ -34,7 +34,6 @@ let redirects = {
"tor": []
}
};
-const getRedirects = () => redirects;
function setRedirects(val) {
redirects.scribe = val;
browser.storage.local.set({ mediumRedirects: redirects })
@@ -160,7 +159,6 @@ function initDefaults() {
}
export default {
- getRedirects,
setRedirects,
redirect,
diff --git a/src/assets/javascripts/helpers/peertube.js b/src/assets/javascripts/helpers/peertube.js
index c431d25..f741f9c 100644
--- a/src/assets/javascripts/helpers/peertube.js
+++ b/src/assets/javascripts/helpers/peertube.js
@@ -16,8 +16,6 @@ let redirects = {
"tor": []
}
}
-
-const getRedirects = () => redirects;
function setRedirects(val) {
redirects.simpleertube = val;
browser.storage.local.set({ peertubeTargetsRedirects: redirects })
@@ -165,7 +163,6 @@ async function init() {
}
export default {
- getRedirects,
setRedirects,
switchInstance,
diff --git a/src/assets/javascripts/helpers/reddit.js b/src/assets/javascripts/helpers/reddit.js
index 1bb54b7..9617d92 100644
--- a/src/assets/javascripts/helpers/reddit.js
+++ b/src/assets/javascripts/helpers/reddit.js
@@ -16,8 +16,6 @@ let redirects = {
"tor": []
},
};
-const getRedirects = () => redirects;
-
function setLibredditRedirects(val) {
redirects.libreddit = val;
browser.storage.local.set({ redditRedirects: redirects })
@@ -443,7 +441,6 @@ function initDefaults() {
}
export default {
- getRedirects,
setTedditRedirects,
setLibredditRedirects,
diff --git a/src/assets/javascripts/helpers/sendTargets.js b/src/assets/javascripts/helpers/sendTargets.js
index 39cbf31..c593913 100644
--- a/src/assets/javascripts/helpers/sendTargets.js
+++ b/src/assets/javascripts/helpers/sendTargets.js
@@ -14,8 +14,6 @@ let redirects = {
"tor": []
}
}
-
-const getRedirects = () => redirects;
function setRedirects(val) {
redirects.send = val;
browser.storage.local.set({ sendTargetsRedirects: redirects })
@@ -158,7 +156,6 @@ async function init() {
}
export default {
- getRedirects,
setRedirects,
redirect,
diff --git a/src/assets/javascripts/helpers/tiktok.js b/src/assets/javascripts/helpers/tiktok.js
index 90d8a8d..590fca1 100644
--- a/src/assets/javascripts/helpers/tiktok.js
+++ b/src/assets/javascripts/helpers/tiktok.js
@@ -12,8 +12,6 @@ let redirects = {
"tor": []
}
}
-
-const getRedirects = () => redirects;
function setRedirects(val) {
redirects.proxiTok = val;
browser.storage.local.set({ tiktokRedirects: redirects })
@@ -139,26 +137,28 @@ function redirect(url, type, initiator) {
}
async function reverse(url) {
- browser.storage.local.get(
- [
- "tiktokRedirects",
- "proxiTokNormalCustomRedirects",
- "proxiTokTorCustomRedirects",
- ],
- r => {
- let protocolHost = utils.protocolHost(url);
- if (
- ![
- ...r.tiktokRedirects.proxiTok.normal,
- ...r.tiktokRedirects.proxiTok.tor,
- ...r.proxiTokNormalCustomRedirects,
- ...r.proxiTokTorCustomRedirects
- ].includes(protocolHost)
- ) return;
+ return new Promise(resolve => {
+ browser.storage.local.get(
+ [
+ "tiktokRedirects",
+ "proxiTokNormalCustomRedirects",
+ "proxiTokTorCustomRedirects",
+ ],
+ r => {
+ let protocolHost = utils.protocolHost(url);
+ if (
+ ![
+ ...r.tiktokRedirects.proxiTok.normal,
+ ...r.tiktokRedirects.proxiTok.tor,
+ ...r.proxiTokNormalCustomRedirects,
+ ...r.proxiTokTorCustomRedirects
+ ].includes(protocolHost)
+ ) { resolve(); return; }
- return `https://tiktok.com${url.pathname}${url.search}`;
- }
- )
+ resolve(`https://tiktok.com${url.pathname}${url.search}`);
+ }
+ )
+ })
}
async function initDefaults() {
@@ -184,7 +184,6 @@ async function initDefaults() {
}
export default {
- getRedirects,
setRedirects,
redirect,
diff --git a/src/assets/javascripts/helpers/utils.js b/src/assets/javascripts/helpers/utils.js
index eec9e6b..f864f90 100644
--- a/src/assets/javascripts/helpers/utils.js
+++ b/src/assets/javascripts/helpers/utils.js
@@ -10,7 +10,7 @@ import wikipediaHelper from "./wikipedia.js";
import peertubeHelper from "./peertube.js";
import lbryHelper from "./lbry.js";
import sendTargetsHelper from "./sendTargets.js";
-import tikTokHelper from "./tiktok.js";
+import tiktokHelper from "./tiktok.js";
import imgurHelper from "./imgur.js";
import localise from '../localise.js'
@@ -30,7 +30,7 @@ async function initCloudflareList() {
async function wholeInit() {
await sendTargetsHelper.init();
- await tikTokHelper.init();
+ await tiktokHelper.init();
await initCloudflareList();
}
@@ -64,8 +64,7 @@ async function updateInstances() {
redditHelper.setTedditRedirects(instances.teddit);
redditHelper.setLibredditRedirects(instances.libreddit);
- translateHelper.setSimplyTranslateRedirects(instances.simplyTranslate);
- translateHelper.setLingvaRedirects(instances.lingva)
+ translateHelper.setRedirects({ "simplyTranslate": instances.simplyTranslate, "lingva": instances.lingva });
searchHelper.setSearxRedirects(instances.searx);
searchHelper.setSearxngRedirects(instances.searxng);
@@ -77,7 +76,7 @@ async function updateInstances() {
sendTargetsHelper.setRedirects(instances.send);
- tikTokHelper.setRedirects(instances.proxiTok);
+ tiktokHelper.setRedirects(instances.proxiTok);
console.info("Successfully updated Instances");
return true;
@@ -336,69 +335,83 @@ function getCookiesFromStorage(frontend, to, name) {
)
}
-function copyRaw() {
- browser.tabs.query(
- { active: true, currentWindow: true }, tabs => {
- let currTab = tabs[0];
- if (currTab) {
- let url = new URL(currTab.url);
- let newUrl;
- newUrl = youtubeHelper.reverse(url);
+function copyRaw(test, copyRawElement) {
+ return new Promise(resolve => {
+ browser.tabs.query(
+ { active: true, currentWindow: true }, async tabs => {
+ let currTab = tabs[0];
+ if (currTab) {
+ let url;
+ try {
+ url = new URL(currTab.url);
+ } catch { resolve(); return; }
+ let newUrl;
+ newUrl = await youtubeHelper.reverse(url);
- if (!newUrl) newUrl = twitterHelper.reverse(url);
- if (!newUrl) newUrl = instagramHelper.reverse(url);
- if (!newUrl) newUrl = tiktokHelper.reverse(url);
- if (!newUrl) newUrl = imgurHelper.reverse(url);
+ if (!newUrl) newUrl = await twitterHelper.reverse(url);
+ if (!newUrl) newUrl = await instagramHelper.reverse(url);
+ if (!newUrl) newUrl = await tiktokHelper.reverse(url);
+ if (!newUrl) newUrl = await imgurHelper.reverse(url);
- if (newUrl) {
- navigator.clipboard.writeText(newUrl);
- const textElement = copyRawElement.getElementsByTagName('h4')[0]
- const oldHtml = textElement.innerHTML;
- textElement.innerHTML = 'Copied';
- setTimeout(() => textElement.innerHTML = oldHtml, 1000);
+ if (newUrl) {
+ resolve(true);
+ if (test) return;
+ navigator.clipboard.writeText(newUrl);
+ if (copyRawElement) {
+ const textElement = copyRawElement.getElementsByTagName('h4')[0]
+ const oldHtml = textElement.innerHTML;
+ textElement.innerHTML = 'Copied';
+ setTimeout(() => textElement.innerHTML = oldHtml, 1000);
+ }
+ } else resolve()
}
}
- }
- )
+ )
+ })
}
+function unify(unifyElement) {
+ return new Promise(resolve => {
+ browser.tabs.query(
+ { active: true, currentWindow: true },
+ async tabs => {
+ let currTab = tabs[0]
+ if (currTab) {
+ let url;
+ try {
+ url = new URL(currTab.url);
+ } catch { resolve(); return; }
-function unify() {
- browser.tabs.query(
- { active: true, currentWindow: true },
- async tabs => {
- let currTab = tabs[0]
- if (currTab) {
- let url = new URL(currTab.url);
+ let result = await youtubeHelper.initInvidiousCookies(url);
+ if (!result) result = await youtubeHelper.initPipedLocalStorage(url, currTab.id);
+ if (!result) result = await youtubeHelper.initPipedMaterialLocalStorage(url, currTab.id);
- let result = await youtubeHelper.initInvidiousCookies(url);
- if (!result) result = await youtubeHelper.initPipedLocalStorage(url, currTab.id);
- if (!result) result = await youtubeHelper.initPipedMaterialLocalStorage(url, currTab.id);
+ if (!result) result = await twitterHelper.initNitterCookies(url);
- if (!result) result = await twitterHelper.initNitterCookies(url);
+ if (!result) result = await redditHelper.initLibredditCookies(url);
+ if (!result) result = await redditHelper.initTedditCookies(url);
- if (!result) result = await redditHelper.initLibredditCookies(url);
- if (!result) result = await redditHelper.initTedditCookies(url);
+ if (!result) result = await searchHelper.initSearxCookies(url);
+ if (!result) result = await searchHelper.initSearxngCookies(url);
- if (!result) result = await searchHelper.initSearxCookies(url);
- if (!result) result = await searchHelper.initSearxngCookies(url);
+ if (!result) result = await tiktokHelper.initProxiTokCookies(url);
- if (!result) result = await tiktokHelper.initProxiTokCookies(url);
+ if (!result) result = await wikipediaHelper.initWikilessCookies(url);
- if (!result) result = await wikipediaHelper.initWikilessCookies(url);
+ if (!result) result = await translateHelper.initSimplyTranslateCookies(url);
+ if (!result) result = await translateHelper.initLingvaLocalStorage(url);
- if (!result) result = await translateHelper.initSimplyTranslateCookies(url);
- if (!result) result = await translateHelper.initLingvaLocalStorage(url);
-
- if (result) {
- const textElement = unifyElement.getElementsByTagName('h4')[0]
- const oldHtml = textElement.innerHTML;
- textElement.innerHTML = 'Unified';
- setTimeout(() => textElement.innerHTML = oldHtml, 1000);
+ if (result) {
+ resolve(true);
+ const textElement = unifyElement.getElementsByTagName('h4')[0]
+ const oldHtml = textElement.innerHTML;
+ textElement.innerHTML = 'Unified';
+ setTimeout(() => textElement.innerHTML = oldHtml, 1000);
+ } else resolve()
}
}
- }
- )
+ )
+ })
}
function switchInstance() {
@@ -462,8 +475,6 @@ function latency(name, frontend, document, location, splitNames) {
);
}
-
-
export default {
getRandomInstance,
updateInstances,
diff --git a/src/assets/javascripts/helpers/wikipedia.js b/src/assets/javascripts/helpers/wikipedia.js
index c870bff..4bfdc2d 100644
--- a/src/assets/javascripts/helpers/wikipedia.js
+++ b/src/assets/javascripts/helpers/wikipedia.js
@@ -11,7 +11,6 @@ let redirects = {
"i2p": []
}
};
-const getRedirects = () => redirects;
function setRedirects(val) {
redirects.wikiless = val;
browser.storage.local.set({ wikipediaRedirects: redirects })
@@ -238,7 +237,6 @@ async function initDefaults() {
}
export default {
- getRedirects,
setRedirects,
initWikilessCookies,
diff --git a/src/assets/javascripts/helpers/youtube/youtube.js b/src/assets/javascripts/helpers/youtube/youtube.js
index 27cc539..835a5f8 100644
--- a/src/assets/javascripts/helpers/youtube/youtube.js
+++ b/src/assets/javascripts/helpers/youtube/youtube.js
@@ -485,7 +485,7 @@ function setPipedLocalStorage(url, tabId) {
})
}
-function initPipedMaterialLocalStorage(tabId) {
+function initPipedMaterialLocalStorage(url, tabId) {
return new Promise(resolve => {
browser.storage.local.get(
[
diff --git a/src/pages/popup/popup.html b/src/pages/popup/popup.html
index b815bc1..db7148c 100644
--- a/src/pages/popup/popup.html
+++ b/src/pages/popup/popup.html
@@ -94,12 +94,12 @@