aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorManeraKai <manerakai@protonmail.com>2022-02-26 18:28:19 +0300
committerManeraKai <manerakai@protonmail.com>2022-02-26 18:28:19 +0300
commit3246d6fd69804474568e4d5d41b10333cf8f78e1 (patch)
tree830504e56819a725bbd42cd89109d533c0b93b2e
parentAdded bypass to WatchOnYoutube and made invidious as default #56 (diff)
downloadlibredirect-3246d6fd69804474568e4d5d41b10333cf8f78e1.zip
Added bypass on reddit option
Diffstat (limited to '')
-rw-r--r--src/assets/javascripts/helpers/reddit.js41
-rw-r--r--src/pages/background/background.js2
-rw-r--r--src/pages/options/reddit/reddit.html5
-rw-r--r--src/pages/options/reddit/reddit.js6
4 files changed, 45 insertions, 9 deletions
diff --git a/src/assets/javascripts/helpers/reddit.js b/src/assets/javascripts/helpers/reddit.js
index d04588e4..deb9fd5b 100644
--- a/src/assets/javascripts/helpers/reddit.js
+++ b/src/assets/javascripts/helpers/reddit.js
@@ -184,20 +184,39 @@ function setProtocol(val) {
console.log("redditProtocol: ", val)
}
-function isReddit(url, initiator) {
+function isReddit(url,) {
+
+}
+
+let bypassWatchOnReddit;
+const getBypassWatchOnReddit = () => bypassWatchOnReddit;
+function setBypassWatchOnReddit(val) {
+ bypassWatchOnReddit = val;
+ browser.storage.local.set({ bypassWatchOnReddit })
+ console.log("bypassWatchOnReddit: ", bypassWatchOnReddit)
+}
+
+function redirect(url, type, initiator) {
+ if (disableReddit) return null;
+
if (
+ bypassWatchOnReddit &&
initiator &&
(
- [...redirects.libreddit.normal, ...libredditNormalCustomRedirects].includes(initiator.origin) ||
- [...redirects.teddit.normal, ...tedditNormalCustomRedirects].includes(initiator.origin) ||
+ [...redirects.libreddit.normal,
+ ...redirects.libreddit.tor,
+ ...libredditNormalCustomRedirects,
+ ...libredditTorCustomRedirects,
+ ...redirects.teddit.normal,
+ ...redirects.teddit.tor,
+ ...tedditNormalCustomRedirects,
+ ...tedditTorCustomRedirects,
+ ].includes(initiator.origin) ||
targets.includes(initiator.host)
)
- ) return false;
- return targets.includes(url.host)
-}
+ ) return 'BYBASSTAB';
-function redirect(url, type) {
- if (disableReddit) return null;
+ if ((!targets.includes(url.host))) return null;
if (type !== "main_frame" || url.pathname.match(bypassPaths)) return null;
@@ -314,11 +333,14 @@ async function init() {
"tedditTorCustomRedirects",
"redditProtocol",
+ "bypassWatchOnReddit",
], (result) => {
disableReddit = result.disableReddit ?? false;
protocol = result.redditProtocol ?? 'normal';
frontend = result.redditFrontend ?? 'libreddit';
+ bypassWatchOnReddit = result.bypassWatchOnReddit ?? true;
+
redirects.teddit = dataJson.teddit;
if (result.redditRedirects) redirects = result.redditRedirects;
@@ -359,6 +381,9 @@ export default {
getProtocol,
setProtocol,
+ getBypassWatchOnReddit,
+ setBypassWatchOnReddit,
+
getLibredditNormalRedirectsChecks,
setLibredditNormalRedirectsChecks,
getLibredditTorRedirectsChecks,
diff --git a/src/pages/background/background.js b/src/pages/background/background.js
index 1ae7be17..0207321b 100644
--- a/src/pages/background/background.js
+++ b/src/pages/background/background.js
@@ -60,7 +60,7 @@ browser.webRequest.onBeforeRequest.addListener(
if (mapsHelper.isMaps(url, initiator)) newUrl = mapsHelper.redirect(url);
- if (redditHelper.isReddit(url, initiator)) newUrl = redditHelper.redirect(url, details.type);
+ if (!newUrl) newUrl = redditHelper.redirect(url, details.type, initiator);
if (mediumHelper.isMedium(url, initiator)) newUrl = mediumHelper.redirect(url, details.type);
diff --git a/src/pages/options/reddit/reddit.html b/src/pages/options/reddit/reddit.html
index 7b232688..63d7647d 100644
--- a/src/pages/options/reddit/reddit.html
+++ b/src/pages/options/reddit/reddit.html
@@ -136,6 +136,11 @@
</select>
</div>
+ <div class="some-block option-block">
+ <h4>Bypass Watch On Reddit</h4>
+ <input id="bypass-watch-on-reddit" type="checkbox" checked />
+ </div>
+
<hr>
<div id="libreddit">
diff --git a/src/pages/options/reddit/reddit.js b/src/pages/options/reddit/reddit.js
index a47576d4..8e435675 100644
--- a/src/pages/options/reddit/reddit.js
+++ b/src/pages/options/reddit/reddit.js
@@ -61,8 +61,14 @@ function changeProtocolSettings(protocol) {
}
}
+let bypassWatchOnRedditElement = document.getElementById("bypass-watch-on-reddit")
+bypassWatchOnRedditElement.addEventListener("change",
+ event => redditHelper.setBypassWatchOnReddit(event.target.checked)
+);
+
redditHelper.init().then(() => {
disableRedditElement.checked = !redditHelper.getDisableReddit();
+ bypassWatchOnRedditElement.checked = redditHelper.getBypassWatchOnReddit();
let frontend = redditHelper.getFrontend();
redditFrontendElement.value = frontend;