Fixed bypass to twitter bug #71

This commit is contained in:
ManeraKai 2022-03-01 22:42:48 +03:00
parent 082016dcde
commit feb20fe96c
No known key found for this signature in database
GPG Key ID: 5ABC31FFD562E337
4 changed files with 36 additions and 37 deletions

View File

@ -214,7 +214,7 @@ function redirect(url, type, initiator) {
].includes(initiator.origin) || ].includes(initiator.origin) ||
targets.includes(initiator.host) targets.includes(initiator.host)
) )
) return 'BYBASSTAB'; ) return 'BYPASSTAB';
if ((!targets.includes(url.host))) return null; if ((!targets.includes(url.host))) return null;

View File

@ -94,24 +94,24 @@ function setProtocol(val) {
console.log("twitterProtocol: ", val) console.log("twitterProtocol: ", val)
} }
function isTwitter(url, initiator) { function redirect(url, initiator) {
if (disable) return false;
if (disable) return null;
if (!targets.some((rx) => rx.test(url.href))) return null;
if (url.pathname.split("/").includes("home")) return null; if (url.pathname.split("/").includes("home")) return null;
if ( if (
commonHelper.isFirefox() &&
initiator && ( initiator && (
[ [...redirects.nitter.normal,
...redirects.nitter.normal, ...redirects.nitter.tor,
...redirects.nitter.tor, ...nitterTorCustomRedirects,
...nitterTorCustomRedirects, ...nitterNormalCustomRedirects
...nitterNormalCustomRedirects ].includes(initiator.origin)
].includes(initiator.origin) || targets.includes(initiator.host)) )
) return false; ) return 'BYPASSTAB';
return targets.some((rx) => rx.test(url.href));
}
function redirect(url) {
let instancesList; let instancesList;
if (protocol == 'normal') if (protocol == 'normal')
instancesList = [...nitterNormalRedirectsChecks, ...nitterNormalCustomRedirects]; instancesList = [...nitterNormalRedirectsChecks, ...nitterNormalCustomRedirects];
@ -216,7 +216,6 @@ export default {
setProtocol, setProtocol,
redirect, redirect,
isTwitter,
init, init,
changeInstance, changeInstance,
}; };

View File

@ -328,20 +328,18 @@ function redirect(url, details, initiator) {
if ( if (
bypassWatchOnYoutube && bypassWatchOnYoutube &&
initiator && ( initiator && (
[ [...redirects.invidious.normal,
...redirects.invidious.normal, ...invidiousNormalCustomRedirects,
...invidiousNormalCustomRedirects, ...redirects.invidious.tor,
...redirects.invidious.tor, ...invidiousTorCustomRedirects,
...invidiousTorCustomRedirects,
...redirects.piped.normal, ...redirects.piped.normal,
...redirects.piped.tor, ...redirects.piped.tor,
...pipedNormalCustomRedirects, ...pipedNormalCustomRedirects,
...pipedTorCustomRedirects ...pipedTorCustomRedirects
].includes(initiator.origin) || ].includes(initiator.origin)
targets.includes(initiator.host)
) )
) return 'BYBASSTAB'; ) return 'BYPASSTAB';
if (url.pathname.match(/iframe_api/) || url.pathname.match(/www-widgetapi/)) return null; // Don't redirect YouTube Player API. if (url.pathname.match(/iframe_api/) || url.pathname.match(/www-widgetapi/)) return null; // Don't redirect YouTube Player API.

View File

@ -36,7 +36,7 @@ wholeInit();
browser.storage.onChanged.addListener(wholeInit); browser.storage.onChanged.addListener(wholeInit);
let bybassTabs = []; let BYPASSTABs = [];
browser.webRequest.onBeforeRequest.addListener( browser.webRequest.onBeforeRequest.addListener(
(details) => { (details) => {
@ -53,7 +53,7 @@ browser.webRequest.onBeforeRequest.addListener(
if (youtubeHelper.isPipedorInvidious(newUrl ?? url, details.type)) newUrl = youtubeHelper.addUrlParams(newUrl ?? url); if (youtubeHelper.isPipedorInvidious(newUrl ?? url, details.type)) newUrl = youtubeHelper.addUrlParams(newUrl ?? url);
if (youtubeMusicHelper.isYoutubeMusic(url, initiator)) newUrl = youtubeMusicHelper.redirect(url, details.type) if (youtubeMusicHelper.isYoutubeMusic(url, initiator)) newUrl = youtubeMusicHelper.redirect(url, details.type)
if (twitterHelper.isTwitter(url, initiator)) newUrl = twitterHelper.redirect(url); if (!newUrl) newUrl = twitterHelper.redirect(url, initiator);
if (instagramHelper.isInstagram(url, initiator)) newUrl = instagramHelper.redirect(url, details.type); if (instagramHelper.isInstagram(url, initiator)) newUrl = instagramHelper.redirect(url, details.type);
@ -75,16 +75,16 @@ browser.webRequest.onBeforeRequest.addListener(
if (exceptionsHelper.isException(url, initiator)) newUrl = null; if (exceptionsHelper.isException(url, initiator)) newUrl = null;
if (bybassTabs.includes(details.tabId)) newUrl = null; if (BYPASSTABs.includes(details.tabId)) newUrl = null;
if (newUrl) { if (newUrl) {
if (newUrl == 'CANCEL') { if (newUrl == 'CANCEL') {
console.log(`Canceled ${url}`); console.log(`Canceled ${url}`);
return { cancel: true }; return { cancel: true };
} }
else if (newUrl == 'BYBASSTAB') { else if (newUrl == 'BYPASSTAB') {
console.log(`Bybassed ${details.tabId}`); console.log(`Bybassed ${details.tabId} ${url}`);
bybassTabs.push(details.tabId); BYPASSTABs.push(details.tabId);
return null; return null;
} }
else { else {
@ -99,9 +99,11 @@ browser.webRequest.onBeforeRequest.addListener(
); );
browser.tabs.onRemoved.addListener((tabId) => { browser.tabs.onRemoved.addListener((tabId) => {
let index = bybassTabs.indexOf(tabId); let index = BYPASSTABs.indexOf(tabId);
if (index > -1) bybassTabs.splice(index, 1); if (index > -1) {
console.log("Removed bybassTabs", tabId); BYPASSTABs.splice(index, 1);
console.log("Removed BYPASSTABs", tabId);
}
}); });