From d3df133f4e9bf930179f700e93c2ec69058f1b44 Mon Sep 17 00:00:00 2001 From: ManeraKai Date: Thu, 10 Mar 2022 10:30:23 +0300 Subject: Added send, fixed a bug in #89 --- src/pages/background/background.js | 20 +-- src/pages/options/general/general.html | 7 + src/pages/options/imgur/imgur.html | 7 + src/pages/options/instagram/instagram.html | 7 + src/pages/options/maps/maps.html | 8 +- src/pages/options/medium/medium.html | 7 + src/pages/options/pixiv/pixiv.html | 7 + src/pages/options/reddit/reddit.html | 7 + src/pages/options/search/search.html | 7 + src/pages/options/sendTargets/sendTargets.html | 168 +++++++++++++++++++++++ src/pages/options/sendTargets/sendTargets.js | 59 ++++++++ src/pages/options/tiktok/tiktok.html | 7 + src/pages/options/translate/translate.html | 7 + src/pages/options/twitter/twitter.html | 7 + src/pages/options/wikipedia/wikipedia.html | 7 + src/pages/options/youtube/youtube.html | 7 + src/pages/options/youtubeMusic/youtubeMusic.html | 7 + 17 files changed, 332 insertions(+), 14 deletions(-) create mode 100644 src/pages/options/sendTargets/sendTargets.html create mode 100644 src/pages/options/sendTargets/sendTargets.js (limited to 'src/pages') diff --git a/src/pages/background/background.js b/src/pages/background/background.js index 8ab6ad8e..6b41b347 100644 --- a/src/pages/background/background.js +++ b/src/pages/background/background.js @@ -12,6 +12,7 @@ import mediumHelper from "../../assets/javascripts/helpers/medium.js"; import imgurHelper from "../../assets/javascripts/helpers/imgur.js"; import tiktokHelper from "../../assets/javascripts/helpers/tiktok.js"; import pixivHelper from "../../assets/javascripts/helpers/pixiv.js"; +import sendTargetsHelper from "../../assets/javascripts/helpers/sendTargets.js"; import generalHelper from "../../assets/javascripts/helpers/general.js"; import youtubeMusicHelper from "../../assets/javascripts/helpers/youtubeMusic.js"; @@ -31,6 +32,7 @@ async function wholeInit() { imgurHelper.init() tiktokHelper.init() pixivHelper.init() + sendTargetsHelper.init() generalHelper.init() } wholeInit(); @@ -52,7 +54,6 @@ browser.webRequest.onBeforeRequest.addListener( var newUrl; if (!newUrl) newUrl = youtubeHelper.redirect(url, details, initiator) - // if (youtubeHelper.isPipedorInvidious(newUrl ?? url, details.type, 'invidious')) newUrl = youtubeHelper.addUrlParams(newUrl ?? url); if (youtubeMusicHelper.isYoutubeMusic(url, initiator)) newUrl = youtubeMusicHelper.redirect(url, details.type) if (!newUrl) newUrl = twitterHelper.redirect(url, initiator); @@ -71,6 +72,8 @@ browser.webRequest.onBeforeRequest.addListener( if (!newUrl) newUrl = pixivHelper.redirect(url, details.type, initiator); + if (!newUrl) newUrl = sendTargetsHelper.redirect(url, details.type, initiator); + if (translateHelper.isTranslate(url, initiator)) newUrl = translateHelper.redirect(url); if (searchHelper.isSearch(url)) newUrl = searchHelper.redirect(url) @@ -110,10 +113,6 @@ browser.tabs.onRemoved.addListener((tabId) => { } }); - - - - browser.webRequest.onResponseStarted.addListener( details => { console.log("onResponseStarted"); @@ -121,13 +120,13 @@ browser.webRequest.onResponseStarted.addListener( if (!autoRedirect) return null; - if (details.statusCode >= 500) { + console.log("statusCode", details.statusCode); + if (details.type == 'main_frame' && details.statusCode >= 500) { const url = new URL(details.url); let newUrl; newUrl = youtubeHelper.changeInstance(url); - if (!newUrl) newUrl = twitterHelper.changeInstance(url); if (!newUrl) newUrl = instagramHelper.changeInstance(url); @@ -145,12 +144,9 @@ browser.webRequest.onResponseStarted.addListener( if (!newUrl) newUrl = wikipediaHelper.changeInstance(url) if (newUrl) { - browser.tabs.update({ url: '../errors/instance_offline.html' }); - + browser.tabs.update({ url: '/pages/errors/instance_offline.html' }); setTimeout(() => browser.tabs.update({ url: newUrl }), 2000); } - - } }, { urls: [""], } @@ -162,8 +158,6 @@ browser.tabs.onUpdated.addListener( try { url = new URL(changeInfo.url); } catch (_) { return } if (youtubeHelper.isPipedorInvidious(url, 'main_frame', 'piped')) youtubeHelper.initPipedLocalStorage(tabId); - // if (twitterHelper.isNitter(url, 'main_frame')) twitterHelper.initNitterCookies(); if (instagramHelper.isBibliogram(url)) instagramHelper.initBibliogramCookies(url); // if (changeInfo.url && youtubeHelper.isPipedorInvidious(url, 'main_frame', 'pipedMaterial')) youtubeHelper.initPipedMaterialLocalStorage(tabId); - // if (changeInfo.url && youtubeHelper.isUrlPipedorInvidious(changeInfo.url, 'invidious')) youtubeHelper.initInvidiousCookies(tabId); }); \ No newline at end of file diff --git a/src/pages/options/general/general.html b/src/pages/options/general/general.html index acacc59f..d3b82af4 100644 --- a/src/pages/options/general/general.html +++ b/src/pages/options/general/general.html @@ -87,6 +87,13 @@ Maps +
+ + + + Send Files +
diff --git a/src/pages/options/imgur/imgur.html b/src/pages/options/imgur/imgur.html index 8f611caa..b1e1ac74 100644 --- a/src/pages/options/imgur/imgur.html +++ b/src/pages/options/imgur/imgur.html @@ -88,6 +88,13 @@ Maps +
+ + + + Send Files +
diff --git a/src/pages/options/instagram/instagram.html b/src/pages/options/instagram/instagram.html index fe99d12e..dbcd28c6 100644 --- a/src/pages/options/instagram/instagram.html +++ b/src/pages/options/instagram/instagram.html @@ -89,6 +89,13 @@ Maps +
+ + + + Send Files +
diff --git a/src/pages/options/maps/maps.html b/src/pages/options/maps/maps.html index c0a9b7d5..7be5bdbb 100644 --- a/src/pages/options/maps/maps.html +++ b/src/pages/options/maps/maps.html @@ -89,7 +89,13 @@ Maps - +
+ + + + Send Files +
diff --git a/src/pages/options/medium/medium.html b/src/pages/options/medium/medium.html index 89d73027..b323081e 100644 --- a/src/pages/options/medium/medium.html +++ b/src/pages/options/medium/medium.html @@ -88,6 +88,13 @@ Maps +
+ + + + Send Files +
diff --git a/src/pages/options/pixiv/pixiv.html b/src/pages/options/pixiv/pixiv.html index 43d3bf7c..1d10ca05 100644 --- a/src/pages/options/pixiv/pixiv.html +++ b/src/pages/options/pixiv/pixiv.html @@ -88,6 +88,13 @@ Maps +
+ + + + Send Files +
diff --git a/src/pages/options/reddit/reddit.html b/src/pages/options/reddit/reddit.html index 0ced873c..b0250dca 100644 --- a/src/pages/options/reddit/reddit.html +++ b/src/pages/options/reddit/reddit.html @@ -88,6 +88,13 @@ Maps +
+ + + + Send Files +
diff --git a/src/pages/options/search/search.html b/src/pages/options/search/search.html index 6f2bc64e..1349445a 100644 --- a/src/pages/options/search/search.html +++ b/src/pages/options/search/search.html @@ -88,6 +88,13 @@ Maps +
+ + + + Send Files +
diff --git a/src/pages/options/sendTargets/sendTargets.html b/src/pages/options/sendTargets/sendTargets.html new file mode 100644 index 00000000..387e87dd --- /dev/null +++ b/src/pages/options/sendTargets/sendTargets.html @@ -0,0 +1,168 @@ + + + + + + + + + + LibRedirect Options: TikTok + + + + + +
+
+

Enable

+ +
+ +
+

Protocol

+ +
+ +
+ +
+
+

Default Instances

+
+
+
+
+

Custom Instances

+
+
+
+ + +
+
+
+
+
+
+

Default Instances

+
+
+
+
+

Custom Instances

+
+
+
+ + +
+
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/src/pages/options/sendTargets/sendTargets.js b/src/pages/options/sendTargets/sendTargets.js new file mode 100644 index 00000000..0b0a9379 --- /dev/null +++ b/src/pages/options/sendTargets/sendTargets.js @@ -0,0 +1,59 @@ +import sendTargetsHelper from "../../../assets/javascripts/helpers/sendTargets.js"; +import commonHelper from "../../../assets/javascripts/helpers/common.js"; + +let disableSendTargetsElement = document.getElementById("disable-sendTargets"); +disableSendTargetsElement.addEventListener("change", + (event) => sendTargetsHelper.setDisable(!event.target.checked) +); + +let protocolElement = document.getElementById("protocol") +protocolElement.addEventListener("change", + (event) => { + let protocol = event.target.options[protocolElement.selectedIndex].value + sendTargetsHelper.setProtocol(protocol); + changeProtocolSettings(protocol); + } +); + +function changeProtocolSettings(protocol) { + let normalDiv = document.getElementById("normal"); + let torDiv = document.getElementById("tor"); + if (protocol == 'normal') { + normalDiv.style.display = 'block'; + torDiv.style.display = 'none'; + } + else if (protocol == 'tor') { + normalDiv.style.display = 'none'; + torDiv.style.display = 'block'; + } +} + +sendTargetsHelper.init().then(() => { + disableSendTargetsElement.checked = !sendTargetsHelper.getDisable(); + + let protocol = sendTargetsHelper.getProtocol(); + protocolElement.value = protocol; + changeProtocolSettings(protocol); + + commonHelper.processDefaultCustomInstances( + 'send', + 'normal', + sendTargetsHelper, + document, + sendTargetsHelper.getSendNormalRedirectsChecks, + sendTargetsHelper.setSendNormalRedirectsChecks, + sendTargetsHelper.getSendNormalCustomRedirects, + sendTargetsHelper.setSendNormalCustomRedirects + ); + + commonHelper.processDefaultCustomInstances( + 'send', + 'tor', + sendTargetsHelper, + document, + sendTargetsHelper.getSendTorRedirectsChecks, + sendTargetsHelper.setSendTorRedirectsChecks, + sendTargetsHelper.getSendTorCustomRedirects, + sendTargetsHelper.setSendTorCustomRedirects + ) +}) \ No newline at end of file diff --git a/src/pages/options/tiktok/tiktok.html b/src/pages/options/tiktok/tiktok.html index 0e003f36..c493fc24 100644 --- a/src/pages/options/tiktok/tiktok.html +++ b/src/pages/options/tiktok/tiktok.html @@ -88,6 +88,13 @@ Maps +
+ + + + Send Files +
diff --git a/src/pages/options/translate/translate.html b/src/pages/options/translate/translate.html index 01b02243..ed74416e 100644 --- a/src/pages/options/translate/translate.html +++ b/src/pages/options/translate/translate.html @@ -88,6 +88,13 @@ Maps +
+ + + + Send Files +
diff --git a/src/pages/options/twitter/twitter.html b/src/pages/options/twitter/twitter.html index 00ae8e9b..fadba316 100644 --- a/src/pages/options/twitter/twitter.html +++ b/src/pages/options/twitter/twitter.html @@ -89,6 +89,13 @@ Maps
+
+ + + + Send Files +
diff --git a/src/pages/options/wikipedia/wikipedia.html b/src/pages/options/wikipedia/wikipedia.html index c38def39..258578ba 100644 --- a/src/pages/options/wikipedia/wikipedia.html +++ b/src/pages/options/wikipedia/wikipedia.html @@ -88,6 +88,13 @@ Maps +
+ + + + Send Files +
diff --git a/src/pages/options/youtube/youtube.html b/src/pages/options/youtube/youtube.html index 7ef7f961..32555ebf 100644 --- a/src/pages/options/youtube/youtube.html +++ b/src/pages/options/youtube/youtube.html @@ -89,6 +89,13 @@ Maps
+
+ + + + Send Files +
diff --git a/src/pages/options/youtubeMusic/youtubeMusic.html b/src/pages/options/youtubeMusic/youtubeMusic.html index e327ba31..15d1c384 100644 --- a/src/pages/options/youtubeMusic/youtubeMusic.html +++ b/src/pages/options/youtubeMusic/youtubeMusic.html @@ -89,6 +89,13 @@ Maps +
+ + + + Send Files +
-- cgit 1.4.1