diff options
Diffstat (limited to 'src/assets')
-rw-r--r-- | src/assets/javascripts/imgur.js | 2 | ||||
-rw-r--r-- | src/assets/javascripts/search.js | 3 | ||||
-rw-r--r-- | src/assets/javascripts/twitter.js | 10 | ||||
-rw-r--r-- | src/assets/javascripts/utils.js | 25 | ||||
-rw-r--r-- | src/assets/javascripts/youtube/youtube.js | 4 |
5 files changed, 26 insertions, 18 deletions
diff --git a/src/assets/javascripts/imgur.js b/src/assets/javascripts/imgur.js index e6097a67..90dda136 100644 --- a/src/assets/javascripts/imgur.js +++ b/src/assets/javascripts/imgur.js @@ -2,7 +2,7 @@ window.browser = window.browser || window.chrome; import utils from './utils.js' -const targets = /^https?:\/{2}([im]\.)?imgur\.com(\/|$)/ +const targets = /^https?:\/{2}([im]\.)?imgur\.(com|io)(\/|$)/ let redirects = { "rimgo": { diff --git a/src/assets/javascripts/search.js b/src/assets/javascripts/search.js index 53d7c183..2b51f868 100644 --- a/src/assets/javascripts/search.js +++ b/src/assets/javascripts/search.js @@ -3,9 +3,6 @@ window.browser = window.browser || window.chrome; import utils from './utils.js' const targets = [ - /^https?:\/{2}(www\.|search\.|)google(\.[a-z]{2,3}){1,2}(\/search(\?.*|$)|\/$)/, - /^https?:\/{2}(www\.|www2\.|)bing\.com/, - /^https?:\/{2}yandex(\.[a-z]{2,3}){1,2}/, /^https?:\/{2}search\.libredirect\.invalid/, ]; diff --git a/src/assets/javascripts/twitter.js b/src/assets/javascripts/twitter.js index 120ad691..28689aa5 100644 --- a/src/assets/javascripts/twitter.js +++ b/src/assets/javascripts/twitter.js @@ -36,6 +36,7 @@ let disableTwitter, twitterProtocol, twitterRedirects, + twitterRedirectType, nitterNormalRedirectsChecks, nitterNormalCustomRedirects, nitterTorRedirectsChecks, @@ -48,6 +49,7 @@ function init() { "disableTwitter", "twitterProtocol", "twitterRedirects", + "twitterRedirectType", "nitterNormalRedirectsChecks", "nitterNormalCustomRedirects", "nitterTorRedirectsChecks", @@ -57,6 +59,7 @@ function init() { disableTwitter = r.disableTwitter; twitterProtocol = r.twitterProtocol; twitterRedirects = r.twitterRedirects; + twitterRedirectType = r.twitterRedirectType; nitterNormalRedirectsChecks = r.nitterNormalRedirectsChecks; nitterNormalCustomRedirects = r.nitterNormalCustomRedirects; nitterTorRedirectsChecks = r.nitterTorRedirectsChecks; @@ -79,11 +82,13 @@ function all() { ]; } -function redirect(url, initiator) { +function redirect(url, type, initiator) { if (disableTwitter) 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 (twitterProtocol == 'normal') instancesList = [...nitterNormalRedirectsChecks, ...nitterNormalCustomRedirects]; @@ -206,7 +211,7 @@ function pasteNitterCookies() { 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'); @@ -231,6 +236,7 @@ function initDefaults() { disableTwitter: false, twitterRedirects: redirects, twitterProtocol: "normal", + twitterRedirectType: "both", nitterNormalRedirectsChecks: nitterNormalRedirectsChecks, nitterNormalCustomRedirects: [], diff --git a/src/assets/javascripts/utils.js b/src/assets/javascripts/utils.js index 26056d10..c03ca31c 100644 --- a/src/assets/javascripts/utils.js +++ b/src/assets/javascripts/utils.js @@ -307,17 +307,21 @@ function getCookiesFromStorage(frontend, urls, name) { browser.storage.local.get([key, 'firstPartyIsolate'], r => { const cookie = r[key]; if (cookie === undefined) return; - let query; - if (!r.firstPartyIsolate) query = { - url: url, name: cookie.name, value: cookie.value, secure: true, - expirationDate: cookie.expirationDate, - }; - else query = { - url: url, name: cookie.name, value: cookie.value, secure: true, - expirationDate: null, - firstPartyDomain: new URL(url).hostname, + for (const url of urls) { + let query = + r.firstPartyIsolate ? + { + url: url, name: cookie.name, value: cookie.value, secure: true, + expirationDate: null, + firstPartyDomain: new URL(url).hostname, + } + : + { + url: url, name: cookie.name, value: cookie.value, secure: true, + expirationDate: cookie.expirationDate, + }; + browser.cookies.set(query) } - for (const url of urls) browser.cookies.set(query) }) } @@ -367,6 +371,7 @@ function unify(test) { let url; try { url = new URL(currTab.url); } catch { resolve(); return; } + if (currTab.incognito) { resolve(); return; } let result = await youtubeHelper.copyPasteInvidiousCookies(test, url); if (!result) result = await youtubeHelper.copyPastePipedLocalStorage(test, url, currTab.id); diff --git a/src/assets/javascripts/youtube/youtube.js b/src/assets/javascripts/youtube/youtube.js index 39b48e0a..a1916032 100644 --- a/src/assets/javascripts/youtube/youtube.js +++ b/src/assets/javascripts/youtube/youtube.js @@ -169,8 +169,8 @@ function redirect(url, details, initiator) { const sub_frame = details.type === "sub_frame"; if (url.pathname.match(/iframe_api/) || url.pathname.match(/www-widgetapi/)) return; // Don't redirect YouTube Player API. - if (onlyEmbeddedVideo == 'onlyEmbedded' && !sub_frame) return; - if (onlyEmbeddedVideo == 'onlyNotEmbedded' && sub_frame) return; + if (onlyEmbeddedVideo == 'onlyEmbedded' && main_frame) return; + if (onlyEmbeddedVideo == 'onlyNotEmbedded' && !main_frame) return; if ((isFreetube || isYatte) && sub_frame && isFrontendYoutube) return; |