diff options
author | SimonBrazell <simon@brazell.com.au> | 2020-01-14 20:48:37 +1100 |
---|---|---|
committer | SimonBrazell <simon@brazell.com.au> | 2020-01-15 17:29:39 +1100 |
commit | e272de67afbc548a0656c11eda253f607bf448af (patch) | |
tree | 8e120642eb6d2c5a79ab6c8281f3d1d336c0e42a /background.js | |
parent | Update screen shots for latest build (diff) | |
download | libredirect-e272de67afbc548a0656c11eda253f607bf448af.zip |
Fix embedded video redirects
Diffstat (limited to '')
-rw-r--r-- | background.js | 49 |
1 files changed, 18 insertions, 31 deletions
diff --git a/background.js b/background.js index d5c8346a..8d6c6b3b 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'] ); |