diff options
author | SimonBrazell <simon@brazell.com.au> | 2021-07-25 14:56:28 +1000 |
---|---|---|
committer | SimonBrazell <simon@brazell.com.au> | 2021-07-25 14:56:28 +1000 |
commit | b31c5bf75a8e7dfef9ef5e55b8479bd553978578 (patch) | |
tree | 2c775bddc252c78090f25174cb693655b2019e6d /src/pages/background/background.js | |
parent | Merge pull request #263 from git-bruh/master (diff) | |
download | libredirect-b31c5bf75a8e7dfef9ef5e55b8479bd553978578.zip |
Disable Wikiless redirects by default, add "New" tag (#232).
Diffstat (limited to 'src/pages/background/background.js')
-rw-r--r-- | src/pages/background/background.js | 62 |
1 files changed, 33 insertions, 29 deletions
diff --git a/src/pages/background/background.js b/src/pages/background/background.js index 5f60f8b9..9b8c3a13 100644 --- a/src/pages/background/background.js +++ b/src/pages/background/background.js @@ -8,7 +8,7 @@ import mapsHelper from "../../assets/javascripts/helpers/google-maps.js"; import redditHelper from "../../assets/javascripts/helpers/reddit.js"; import searchHelper from "../../assets/javascripts/helpers/google-search.js"; import googleTranslateHelper from "../../assets/javascripts/helpers/google-translate.js"; -import wikipediaHelper from "../../assets/javascripts/helpers/wikipedia.js"; +import wikipediaHelper from "../../assets/javascripts/helpers/wikipedia.js"; const nitterInstances = twitterHelper.redirects; const twitterDomains = twitterHelper.targets; @@ -79,7 +79,7 @@ browser.storage.sync.get( "redditInstance", "searchEngineInstance", "simplyTranslateInstance", - "wikipediaInstance", + "wikipediaInstance", "disableNitter", "disableInvidious", "disableBibliogram", @@ -87,7 +87,7 @@ browser.storage.sync.get( "disableReddit", "disableSearchEngine", "disableSimplyTranslate", - "disableWikipedia", + "disableWikipedia", "alwaysProxy", "onlyEmbeddedVideo", "videoQuality", @@ -111,7 +111,7 @@ browser.storage.sync.get( searchEngineInstance = result.searchEngineInstance; simplyTranslateInstance = result.simplyTranslateInstance || simplyTranslateDefault; - wikipediaInstance = result.wikipediaInstance || wikipediaDefault; + wikipediaInstance = result.wikipediaInstance || wikipediaDefault; disableNitter = result.disableNitter; disableInvidious = result.disableInvidious; disableBibliogram = result.disableBibliogram; @@ -164,8 +164,7 @@ browser.storage.onChanged.addListener((changes) => { changes.simplyTranslateInstance.newValue || simplyTranslateDefault; } if ("wikipediaInstance" in changes) { - wikipediaInstance = - changes.wikipediaInstance.newValue || wikipediaDefault; + wikipediaInstance = changes.wikipediaInstance.newValue || wikipediaDefault; } if ("redditInstance" in changes) { redditInstance = changes.redditInstance.newValue || redditDefault; @@ -547,35 +546,35 @@ function redirectWikipedia(url, initiator) { return null; } let GETArguments = []; - if (url.search.length > 0) { - let search = url.search.substring(1); //get rid of '?' - let argstrings = search.split('&'); - for (let i = 0; i < argstrings.length;i++) { - let args = argstrings[i].split('='); - GETArguments.push([args[0],args[1]]); - } + if (url.search.length > 0) { + let search = url.search.substring(1); //get rid of '?' + let argstrings = search.split("&"); + for (let i = 0; i < argstrings.length; i++) { + let args = argstrings[i].split("="); + GETArguments.push([args[0], args[1]]); } + } let link = `${wikipediaInstance}${url.pathname}`; - let urlSplit = url.host.split('.'); + let urlSplit = url.host.split("."); if (urlSplit[0] != "wikipedia" && urlSplit[0] != "www") { - if (urlSplit[0] == 'm') - GETArguments.push(["mobileaction","toggle_view_mobile"]); - else - GETArguments.push(["lang",urlSplit[0]]); - if (urlSplit[1] == 'm') - GETArguments.push(["mobileaction","toggle_view_mobile"]); - //wikiless doesn't have mobile view support yet + if (urlSplit[0] == "m") + GETArguments.push(["mobileaction", "toggle_view_mobile"]); + else GETArguments.push(["lang", urlSplit[0]]); + if (urlSplit[1] == "m") + GETArguments.push(["mobileaction", "toggle_view_mobile"]); + //wikiless doesn't have mobile view support yet } for (let i = 0; i < GETArguments.length; i++) { - link += (i == 0 ? '?' : '&') + GETArguments[i][0] + - '=' + GETArguments[i][1]; + link += + (i == 0 ? "?" : "&") + GETArguments[i][0] + "=" + GETArguments[i][1]; } - if (urlSplit[urlSplit.length - 1] == "org" && - urlSplit[urlSplit.length - 2] == "wikipedia") + if ( + urlSplit[urlSplit.length - 1] == "org" && + urlSplit[urlSplit.length - 2] == "wikipedia" + ) //just in case someone wanted to visit wikipedia.org.foo.bar.net - return link; - else - return null; + return link; + else return null; } browser.webRequest.onBeforeRequest.addListener( @@ -640,7 +639,7 @@ browser.webRequest.onBeforeRequest.addListener( browser.runtime.onInstalled.addListener((details) => { browser.storage.sync.get( - ["disableSearchEngine", "disableSimplyTranslate"], + ["disableSearchEngine", "disableSimplyTranslate", "disableWikipedia"], (result) => { if (result.disableSearchEngine === undefined) { browser.storage.sync.set({ @@ -652,6 +651,11 @@ browser.runtime.onInstalled.addListener((details) => { disableSimplyTranslate: true, }); } + if (result.disableWikipedia === undefined) { + browser.storage.sync.set({ + disableWikipedia: true, + }); + } } ); if (details.reason === "update") { |