summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--README.md2
-rw-r--r--background.js49
-rw-r--r--manifest.json11
-rw-r--r--pages/options/options.js2
-rw-r--r--pages/popup/popup.html2
-rw-r--r--pages/popup/popup.js4
6 files changed, 25 insertions, 45 deletions
diff --git a/README.md b/README.md
index 4a38b52..a270372 100644
--- a/README.md
+++ b/README.md
@@ -5,7 +5,7 @@
A simple browser extension that redirects Twitter & Youtube requests to privacy friendly alternatives - [Nitter](https://github.com/zedeus/nitter) & [Invidious](https://github.com/omarroth/invidious).
-No unnecessary permissions required, only listens for and redirects requests made to twitter.com, www.twitter.com, mobile.twitter.com, youtube.com, www.youtube.com, youtube-nocookie.com, www.youtube-nocookie.com, and m.youtube.com, nothing else.
+Listens for and redirects requests made to `twitter.com`, `www.twitter.com`, `mobile.twitter.com`, `youtube.com`, `www.youtube.com`, `youtube-nocookie.com`, `www.youtube-nocookie.com`, and `m.youtube.com`.
Allows for setting custom [Nitter](https://github.com/zedeus/nitter/wiki/Instances) & [Invidious](https://github.com/omarroth/invidious/wiki/Invidious-Instances) instances and toggling redirects on & off.
diff --git a/background.js b/background.js
index d5c8346..8d6c6b3 100644
--- a/background.js
+++ b/background.js
@@ -3,6 +3,7 @@
const nitterDefault = 'https://nitter.net';
const invidiousDefault = 'https://invidio.us';
const youtubeRegex = /((www|m)\.)?youtube(-nocookie)?\.com/;
+const twitterRegex = /((www|mobile)\.)?twitter\.com/;
const pathRegex = /^https?:\/\/[^\/]+([\S\s]*)/;
let nitterInstance;
@@ -12,7 +13,7 @@ let disableInvidious;
chrome.storage.sync.get(
['disableNitter', 'disableInvidious', 'nitterInstance', 'invidiousInstance'],
- (result) => {
+ result => {
disableNitter = result.disableNitter;
disableInvidious = result.disableInvidious;
nitterInstance = result.nitterInstance || nitterDefault;
@@ -20,7 +21,7 @@ chrome.storage.sync.get(
}
);
-chrome.storage.onChanged.addListener(function (changes) {
+chrome.storage.onChanged.addListener(changes => {
if ('nitterInstance' in changes) {
nitterInstance = changes.nitterInstance.newValue || nitterDefault;
}
@@ -36,44 +37,30 @@ chrome.storage.onChanged.addListener(function (changes) {
});
chrome.webRequest.onBeforeRequest.addListener(
- function (details) {
+ details => {
+ let redirect;
if (details.url.match(youtubeRegex)) {
if (!disableInvidious) {
- return {
- redirectUrl:
- invidiousInstance + details.url.match(pathRegex)[1]
+ redirect = {
+ redirectUrl: invidiousInstance + details.url.match(pathRegex)[1]
};
}
- } else {
+ } else if (details.url.match(twitterRegex)) {
if (!disableNitter) {
- return {
- redirectUrl:
- nitterInstance + details.url.match(pathRegex)[1]
+ redirect = {
+ redirectUrl: nitterInstance + details.url.match(pathRegex)[1]
};
}
}
+ if (redirect) {
+ console.log('Redirecting', `"${details.url}"`, '=>', `"${redirect.redirectUrl}"`);
+ console.log('Details', details);
+ }
+ return redirect;
},
{
- urls: [
- "*://twitter.com/*",
- "*://www.twitter.com/*",
- "*://mobile.twitter.com/*",
- "*://youtube.com/*",
- "*://www.youtube.com/*",
- "*://youtube-nocookie.com/*",
- "*://www.youtube-nocookie.com/*",
- "*://m.youtube.com/"
- ],
- types: [
- "main_frame",
- "sub_frame",
- "stylesheet",
- "script",
- "image",
- "object",
- "xmlhttprequest",
- "other"
- ]
+ urls: ["<all_urls>"],
+ types: ['main_frame', 'sub_frame',]
},
- ["blocking"]
+ ['blocking']
);
diff --git a/manifest.json b/manifest.json
index 629bfae..90c8691 100644
--- a/manifest.json
+++ b/manifest.json
@@ -1,7 +1,7 @@
{
"name": "Privacy Redirect",
"description": "Redirects Twitter & Youtube requests to privacy friendly alternatives (Nitter & Invidious).",
- "version": "1.1.2",
+ "version": "1.1.3",
"manifest_version": 2,
"background": {
"scripts": [
@@ -19,14 +19,7 @@
"storage",
"webRequest",
"webRequestBlocking",
- "*://twitter.com/*",
- "*://www.twitter.com/*",
- "*://mobile.twitter.com/*",
- "*://youtube.com/*",
- "*://www.youtube.com/*",
- "*://youtube-nocookie.com/*",
- "*://www.youtube-nocookie.com/*",
- "*://m.youtube.com/"
+ "<all_urls>"
],
"browser_action": {
"default_popup": "pages/popup/popup.html",
diff --git a/pages/options/options.js b/pages/options/options.js
index b5c097d..092a503 100644
--- a/pages/options/options.js
+++ b/pages/options/options.js
@@ -7,7 +7,7 @@ let invidiousInstance = document.querySelector('#invidiousInstance');
chrome.storage.sync.get(
['disableNitter', 'disableInvidious', 'nitterInstance', 'invidiousInstance'],
- (result) => {
+ result => {
disableNitter.checked = !result.disableNitter;
disableInvidious.checked = !result.disableInvidious;
nitterInstance.value = result.nitterInstance || '';
diff --git a/pages/popup/popup.html b/pages/popup/popup.html
index 22ccb02..b5285de 100644
--- a/pages/popup/popup.html
+++ b/pages/popup/popup.html
@@ -14,7 +14,7 @@
<img src="../../images/logo.png" alt="Privacy Redirect logo">
</div>
<small>
- <span>Version</span>: 1.1.2</span>
+ <span>Version</span>: 1.1.3</span>
</small>
</header>
diff --git a/pages/popup/popup.js b/pages/popup/popup.js
index 799b5ea..cc1aa56 100644
--- a/pages/popup/popup.js
+++ b/pages/popup/popup.js
@@ -17,9 +17,9 @@ chrome.storage.sync.get(
function debounce(func, wait, immediate) {
let timeout;
- return function () {
+ return () => {
let context = this, args = arguments;
- let later = function () {
+ let later = () => {
timeout = null;
if (!immediate) func.apply(context, args);
};