summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSimonBrazell <simon@brazell.com.au>2020-06-07 22:08:15 +1000
committerSimonBrazell <simon@brazell.com.au>2020-06-07 22:08:15 +1000
commitb21610202fcddf01e251dee1c67b90f8f369f002 (patch)
treea41d2e492f70d00c7b574cde0fb06d246655a648
parent3f015690992c8e0bd43c90e15a9aa88889defcc6 (diff)
downloadprivacy-redirect-b21610202fcddf01e251dee1c67b90f8f369f002.tar.gz
privacy-redirect-b21610202fcddf01e251dee1c67b90f8f369f002.tar.bz2
privacy-redirect-b21610202fcddf01e251dee1c67b90f8f369f002.zip
Closes #38, fixes #61, closes #64v1.1.33
-rw-r--r--assets/remove-twitter-sw.js10
-rw-r--r--background.js22
-rw-r--r--manifest.json2
3 files changed, 23 insertions, 11 deletions
diff --git a/assets/remove-twitter-sw.js b/assets/remove-twitter-sw.js
index b897a18..37200f1 100644
--- a/assets/remove-twitter-sw.js
+++ b/assets/remove-twitter-sw.js
@@ -20,6 +20,10 @@ function redirectTwitter(url) {
browser.storage.sync.get(
['nitterInstance', 'disableNitter', 'removeTwitterSW', 'redirectBypassFlag'],
(result) => {
+ const redirectBypassFlag = result.redirectBypassFlag;
+ browser.storage.sync.set({
+ redirectBypassFlag: false
+ });
if (!result.removeTwitterSW) {
disableNitter = result.disableNitter;
nitterInstance = result.nitterInstance || nitterDefault;
@@ -32,11 +36,7 @@ browser.storage.sync.get(
}
});
const url = new URL(window.location);
- const redirectBypassFlag = result.redirectBypassFlag;
- browser.storage.sync.set({
- redirectBypassFlag: false
- });
- if (!redirectBypassFlag && !disableNitter && url.host !== nitterInstance) {
+ if (!redirectBypassFlag && !disableNitter && url.host !== nitterInstance && !url.pathname.includes('/home')) {
const redirect = redirectTwitter(url);
console.info(
'Redirecting', `"${url.href}"`, '=>', `"${redirect}"`
diff --git a/background.js b/background.js
index 1a64639..f3a50cf 100644
--- a/background.js
+++ b/background.js
@@ -10,6 +10,7 @@ const youtubeDomains = [
'www.youtube-nocookie.com',
'youtu.be',
's.ytimg.com',
+ 'music.youtube.com'
];
const nitterDefault = 'https://nitter.net';
const twitterDomains = [
@@ -85,6 +86,7 @@ let onlyEmbeddedVideo;
let videoQuality;
let invidiousDarkMode;
let whitelist;
+let redirectBypassFlag;
window.browser = window.browser || window.chrome;
@@ -161,6 +163,9 @@ browser.storage.onChanged.addListener(changes => {
if ('whitelist' in changes) {
whitelist = changes.whitelist.newValue.map(e => new RegExp(e));
}
+ if ('redirectBypassFlag' in changes) {
+ redirectBypassFlag = changes.redirectBypassFlag.newValue;
+ }
});
function addressToLatLng(address, callback) {
@@ -193,6 +198,10 @@ function isWhitelisted(initiator) {
return initiator && whitelist.some(regex => (regex.test(initiator.href)));
}
+function isFirefox() {
+ return typeof InstallTrigger !== 'undefined';
+}
+
function redirectYouTube(url, initiator, type) {
if (disableInvidious || isWhitelisted(initiator)) {
return null;
@@ -208,16 +217,16 @@ function redirectYouTube(url, initiator, type) {
// Avoid redirecting `studio.youtube.com`
return null;
}
- // Proxy video through the server if enabled by user
+ if (onlyEmbeddedVideo && type !== 'sub_frame') {
+ return null;
+ }
+ // Apply settings
if (alwaysProxy) {
url.searchParams.append('local', true);
}
if (videoQuality) {
url.searchParams.append('quality', videoQuality);
}
- if (onlyEmbeddedVideo && type !== 'sub_frame') {
- return null;
- }
if (invidiousDarkMode) {
url.searchParams.append('dark_mode', invidiousDarkMode);
}
@@ -228,7 +237,10 @@ function redirectTwitter(url, initiator) {
if (disableNitter || isWhitelisted(initiator)) {
return null;
}
- if (initiator && (initiator.origin === nitterInstance || twitterDomains.includes(initiator.host))) {
+ if (url.pathname.includes('/home')) {
+ return null;
+ }
+ if (isFirefox() && initiator && (initiator.origin === nitterInstance || twitterDomains.includes(initiator.host))) {
browser.storage.sync.set({
redirectBypassFlag: true
});
diff --git a/manifest.json b/manifest.json
index a0a927a..542c81c 100644
--- a/manifest.json
+++ b/manifest.json
@@ -1,7 +1,7 @@
{
"name": "Privacy Redirect",
"description": "Redirects Twitter, YouTube, Instagram & Google Maps requests to privacy friendly alternatives.",
- "version": "1.1.32",
+ "version": "1.1.33",
"manifest_version": 2,
"background": {
"scripts": [