mirror of
https://github.com/SimonBrazell/privacy-redirect
synced 2025-02-08 15:58:53 +01:00
Update Reddit-related text for consistency, bugfix
Even when on an old Reddit view, redirect from desktop or mobile depending on whichever one the redirect is set to.
This commit is contained in:
parent
a8103915af
commit
2603e7a9ea
@ -88,14 +88,14 @@ const redditDomains = [
|
||||
"www.reddit.com",
|
||||
"np.reddit.com",
|
||||
"new.reddit.com",
|
||||
"amp.reddit.com"
|
||||
"amp.reddit.com",
|
||||
];
|
||||
const redditBypassPaths = /\/(gallery\/poll\/rpan\/settings\/topics)/;
|
||||
const redditVersions = [
|
||||
"https://old.reddit.com",
|
||||
"https://i.reddit.com" // Old Mobile view
|
||||
const oldRedditViews = [
|
||||
"https://old.reddit.com", // desktop
|
||||
"https://i.reddit.com" // mobile
|
||||
];
|
||||
const redditDefault = redditVersions[0];
|
||||
const redditDefault = oldRedditViews[0];
|
||||
const googleMapsRegex = /https?:\/\/(((www|maps)\.)?(google\.).*(\/maps)|maps\.(google\.).*)/;
|
||||
const mapCentreRegex = /@(-?\d[0-9.]*),(-?\d[0-9.]*),(\d{1,2})[.z]/;
|
||||
const dataLatLngRegex = /(!3d|!4d)(-?[0-9]{1,10}.[0-9]{1,10})/g;
|
||||
@ -117,12 +117,12 @@ let disableNitter;
|
||||
let disableInvidious;
|
||||
let disableBibliogram;
|
||||
let disableOsm;
|
||||
let disableRedditVersion;
|
||||
let disableOldReddit;
|
||||
let nitterInstance;
|
||||
let invidiousInstance;
|
||||
let bibliogramInstance;
|
||||
let osmInstance;
|
||||
let redditVersion;
|
||||
let oldRedditView;
|
||||
let alwaysProxy;
|
||||
let onlyEmbeddedVideo;
|
||||
let videoQuality;
|
||||
@ -141,12 +141,12 @@ browser.storage.sync.get(
|
||||
"invidiousInstance",
|
||||
"bibliogramInstance",
|
||||
"osmInstance",
|
||||
"redditVersion",
|
||||
"oldRedditView",
|
||||
"disableNitter",
|
||||
"disableInvidious",
|
||||
"disableBibliogram",
|
||||
"disableOsm",
|
||||
"disableRedditVersion",
|
||||
"disableOldReddit",
|
||||
"alwaysProxy",
|
||||
"onlyEmbeddedVideo",
|
||||
"videoQuality",
|
||||
@ -162,12 +162,12 @@ browser.storage.sync.get(
|
||||
disableInvidious = result.disableInvidious;
|
||||
disableBibliogram = result.disableBibliogram;
|
||||
disableOsm = result.disableOsm;
|
||||
disableRedditVersion = result.disableRedditVersion;
|
||||
disableOldReddit = result.disableOldReddit;
|
||||
nitterInstance = result.nitterInstance;
|
||||
invidiousInstance = result.invidiousInstance;
|
||||
bibliogramInstance = result.bibliogramInstance;
|
||||
osmInstance = result.osmInstance || osmDefault;
|
||||
redditVersion = result.redditVersion || redditDefault;
|
||||
oldRedditView = result.oldRedditView || redditDefault;
|
||||
alwaysProxy = result.alwaysProxy;
|
||||
onlyEmbeddedVideo = result.onlyEmbeddedVideo;
|
||||
videoQuality = result.videoQuality;
|
||||
@ -197,8 +197,8 @@ browser.storage.onChanged.addListener((changes) => {
|
||||
if ("osmInstance" in changes) {
|
||||
osmInstance = changes.osmInstance.newValue || osmDefault;
|
||||
}
|
||||
if ("redditVersion" in changes) {
|
||||
redditVersion = changes.redditVersion.newValue || redditDefault;
|
||||
if ("oldRedditView" in changes) {
|
||||
oldRedditView = changes.oldRedditView.newValue || redditDefault;
|
||||
}
|
||||
if ("disableNitter" in changes) {
|
||||
disableNitter = changes.disableNitter.newValue;
|
||||
@ -212,8 +212,8 @@ browser.storage.onChanged.addListener((changes) => {
|
||||
if ("disableOsm" in changes) {
|
||||
disableOsm = changes.disableOsm.newValue;
|
||||
}
|
||||
if ("disableRedditVersion" in changes) {
|
||||
disableRedditVersion = changes.disableRedditVersion.newValue;
|
||||
if ("disableOldReddit" in changes) {
|
||||
disableOldReddit = changes.disableOldReddit.newValue;
|
||||
}
|
||||
if ("alwaysProxy" in changes) {
|
||||
alwaysProxy = changes.alwaysProxy.newValue;
|
||||
@ -498,23 +498,18 @@ function redirectGoogleMaps(url, initiator) {
|
||||
}
|
||||
|
||||
function redirectReddit(url, initiator, type) {
|
||||
if (disableRedditVersion || isException(url, initiator)) {
|
||||
if (disableOldReddit || isException(url, initiator)) {
|
||||
return null;
|
||||
}
|
||||
// Do not redirect old or mobile Reddit versions on normal Reddit links
|
||||
if (
|
||||
initiator &&
|
||||
(initiator.origin === redditVersion ||
|
||||
redditVersions.includes(initiator.origin) ||
|
||||
redditVersions.includes(initiator.host))
|
||||
) {
|
||||
// Do not redirect when already on the selected view
|
||||
if (initiator && initiator.origin === oldRedditView || url.origin === oldRedditView) {
|
||||
return null;
|
||||
}
|
||||
// Do not redirect anything other than main_frame
|
||||
if (type !== "main_frame" || url.pathname.match(redditBypassPaths)) {
|
||||
return null;
|
||||
}
|
||||
return `${redditVersion}${url.pathname}${url.search}`;
|
||||
return `${oldRedditView}${url.pathname}${url.search}`;
|
||||
}
|
||||
|
||||
browser.webRequest.onBeforeRequest.addListener(
|
||||
@ -543,7 +538,7 @@ browser.webRequest.onBeforeRequest.addListener(
|
||||
redirect = {
|
||||
redirectUrl: redirectGoogleMaps(url, initiator),
|
||||
};
|
||||
} else if (redditDomains.includes(url.host)) {
|
||||
} else if (redditDomains.includes(url.host) || oldRedditViews.includes(url.origin)) {
|
||||
redirect = {
|
||||
redirectUrl: redirectReddit(url, initiator, details.type),
|
||||
}
|
||||
|
@ -121,22 +121,22 @@
|
||||
</table>
|
||||
</section>
|
||||
<section class="settings-block">
|
||||
<table class="option" aria-label="Toggle Reddit version redirects">
|
||||
<table class="option" aria-label="Toggle old Reddit redirects">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<h1 data-localise="__MSG_disableRedditVersion__">
|
||||
Reddit Version Redirects
|
||||
<h1 data-localise="__MSG_disableOldReddit__">
|
||||
Old Reddit Redirects
|
||||
</h1>
|
||||
</td>
|
||||
<td>
|
||||
<input
|
||||
aria-hidden="true"
|
||||
id="disable-reddit-version"
|
||||
id="disable-old-reddit"
|
||||
type="checkbox"
|
||||
checked
|
||||
/>
|
||||
<label for="disable-reddit-version" class="checkbox-label"> </label>
|
||||
<label for="disable-old-reddit" class="checkbox-label"> </label>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
@ -184,10 +184,10 @@
|
||||
</div>
|
||||
</section>
|
||||
<section class="settings-block">
|
||||
<h1 data-localise="__MSG_redditVersion__">Reddit Version</h1>
|
||||
<h1 data-localise="__MSG_oldRedditView__">Old Reddit View (Desktop or Mobile)</h1>
|
||||
<div class="autocomplete">
|
||||
<input
|
||||
id="reddit-version"
|
||||
id="old-reddit-view"
|
||||
type="url"
|
||||
placeholder="https://old.reddit.com"
|
||||
/>
|
||||
|
@ -45,28 +45,28 @@ const bibliogramInstances = [
|
||||
"https://bibliogram.ggc-project.de",
|
||||
];
|
||||
const osmInstances = ["https://openstreetmap.org"];
|
||||
const redditVersions = [
|
||||
"https://old.reddit.com",
|
||||
"https://i.reddit.com"
|
||||
const oldRedditViews = [
|
||||
"https://old.reddit.com", // desktop
|
||||
"https://i.reddit.com" // mobile
|
||||
];
|
||||
const autocompletes = [
|
||||
{ id: "nitter-instance", instances: nitterInstances },
|
||||
{ id: "invidious-instance", instances: invidiousInstances },
|
||||
{ id: "bibliogram-instance", instances: bibliogramInstances },
|
||||
{ id: "osm-instance", instances: osmInstances },
|
||||
{ id: "reddit-version", instances: redditVersions },
|
||||
{ id: "old-reddit-view", instances: oldRedditViews },
|
||||
];
|
||||
|
||||
let nitterInstance = document.getElementById("nitter-instance");
|
||||
let invidiousInstance = document.getElementById("invidious-instance");
|
||||
let bibliogramInstance = document.getElementById("bibliogram-instance");
|
||||
let osmInstance = document.getElementById("osm-instance");
|
||||
let redditVersion = document.getElementById("reddit-version");
|
||||
let oldRedditView = document.getElementById("old-reddit-view");
|
||||
let disableNitter = document.getElementById("disable-nitter");
|
||||
let disableInvidious = document.getElementById("disable-invidious");
|
||||
let disableBibliogram = document.getElementById("disable-bibliogram");
|
||||
let disableOsm = document.getElementById("disable-osm");
|
||||
let disableRedditVersion = document.getElementById("disable-reddit-version");
|
||||
let disableOldReddit = document.getElementById("disable-old-reddit");
|
||||
let alwaysProxy = document.getElementById("always-proxy");
|
||||
let onlyEmbeddedVideo = document.getElementById("only-embed");
|
||||
let videoQuality = document.getElementById("video-quality");
|
||||
@ -110,12 +110,12 @@ browser.storage.sync.get(
|
||||
"invidiousInstance",
|
||||
"bibliogramInstance",
|
||||
"osmInstance",
|
||||
"redditVersion",
|
||||
"oldRedditView",
|
||||
"disableNitter",
|
||||
"disableInvidious",
|
||||
"disableBibliogram",
|
||||
"disableOsm",
|
||||
"disableRedditVersion",
|
||||
"disableOldReddit",
|
||||
"alwaysProxy",
|
||||
"onlyEmbeddedVideo",
|
||||
"videoQuality",
|
||||
@ -136,12 +136,12 @@ browser.storage.sync.get(
|
||||
invidiousInstance.value = result.invidiousInstance || "";
|
||||
bibliogramInstance.value = result.bibliogramInstance || "";
|
||||
osmInstance.value = result.osmInstance || "";
|
||||
redditVersion.value = result.redditVersion || "";
|
||||
oldRedditView.value = result.oldRedditView || "";
|
||||
disableNitter.checked = !result.disableNitter;
|
||||
disableInvidious.checked = !result.disableInvidious;
|
||||
disableBibliogram.checked = !result.disableBibliogram;
|
||||
disableOsm.checked = !result.disableOsm;
|
||||
disableRedditVersion.checked = !result.disableRedditVersion;
|
||||
disableOldReddit.checked = !result.disableOldReddit;
|
||||
alwaysProxy.checked = result.alwaysProxy;
|
||||
onlyEmbeddedVideo.checked = result.onlyEmbeddedVideo;
|
||||
videoQuality.value = result.videoQuality || "";
|
||||
@ -284,14 +284,14 @@ let osmInstanceChange = debounce(() => {
|
||||
}, 500);
|
||||
osmInstance.addEventListener("input", osmInstanceChange);
|
||||
|
||||
let redditVersionChange = debounce(() => {
|
||||
if (redditVersion.checkValidity()) {
|
||||
let oldRedditViewChange = debounce(() => {
|
||||
if (oldRedditView.checkValidity()) {
|
||||
browser.storage.sync.set({
|
||||
redditVersion: parseURL(redditVersion.value),
|
||||
oldRedditView: parseURL(oldRedditView.value),
|
||||
});
|
||||
}
|
||||
}, 500);
|
||||
redditVersion.addEventListener("input", redditVersionChange);
|
||||
oldRedditView.addEventListener("input", oldRedditViewChange);
|
||||
|
||||
disableNitter.addEventListener("change", (event) => {
|
||||
browser.storage.sync.set({ disableNitter: !event.target.checked });
|
||||
@ -309,8 +309,8 @@ disableOsm.addEventListener("change", (event) => {
|
||||
browser.storage.sync.set({ disableOsm: !event.target.checked });
|
||||
});
|
||||
|
||||
disableRedditVersion.addEventListener("change", (event) => {
|
||||
browser.storage.sync.set({ disableRedditVersion: !event.target.checked });
|
||||
disableOldReddit.addEventListener("change", (event) => {
|
||||
browser.storage.sync.set({ disableOldReddit: !event.target.checked });
|
||||
});
|
||||
|
||||
alwaysProxy.addEventListener("change", (event) => {
|
||||
|
@ -117,22 +117,22 @@
|
||||
</section>
|
||||
|
||||
<section class="settings-block">
|
||||
<table class="option" aria-label="Toggle Reddit version redirects">
|
||||
<table class="option" aria-label="Toggle old Reddit redirects">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<h1 data-localise="__MSG_disableRedditVersion__">
|
||||
Reddit Version Redirects
|
||||
<h1 data-localise="__MSG_disableOldReddit__">
|
||||
Old Reddit Redirects
|
||||
</h1>
|
||||
</td>
|
||||
<td>
|
||||
<input
|
||||
aria-hidden="true"
|
||||
id="disable-reddit-version"
|
||||
id="disable-old-reddit"
|
||||
type="checkbox"
|
||||
checked
|
||||
/>
|
||||
<label for="disable-reddit-version" class="checkbox-label"> </label>
|
||||
<label for="disable-old-reddit" class="checkbox-label"> </label>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
|
@ -4,7 +4,7 @@ let disableNitter = document.querySelector("#disable-nitter");
|
||||
let disableInvidious = document.querySelector("#disable-invidious");
|
||||
let disableBibliogram = document.querySelector("#disable-bibliogram");
|
||||
let disableOsm = document.querySelector("#disable-osm");
|
||||
let disableRedditVersion = document.querySelector("#disable-reddit-version");
|
||||
let disableOldReddit = document.querySelector("#disable-old-reddit");
|
||||
let version = document.querySelector("#version");
|
||||
|
||||
window.browser = window.browser || window.chrome;
|
||||
@ -15,7 +15,7 @@ browser.storage.sync.get(
|
||||
"disableInvidious",
|
||||
"disableBibliogram",
|
||||
"disableOsm",
|
||||
"disableRedditVersion",
|
||||
"disableOldReddit",
|
||||
"theme",
|
||||
],
|
||||
(result) => {
|
||||
@ -24,7 +24,7 @@ browser.storage.sync.get(
|
||||
disableInvidious.checked = !result.disableInvidious;
|
||||
disableBibliogram.checked = !result.disableBibliogram;
|
||||
disableOsm.checked = !result.disableOsm;
|
||||
disableRedditVersion.checked = !result.disableRedditVersion;
|
||||
disableOldReddit.checked = !result.disableOldReddit;
|
||||
}
|
||||
);
|
||||
|
||||
@ -46,8 +46,8 @@ disableOsm.addEventListener("change", (event) => {
|
||||
browser.storage.sync.set({ disableOsm: !event.target.checked });
|
||||
});
|
||||
|
||||
disableRedditVersion.addEventListener("change", (event) => {
|
||||
browser.storage.sync.set({ disableRedditVersion: !event.target.checked });
|
||||
disableOldReddit.addEventListener("change", (event) => {
|
||||
browser.storage.sync.set({ disableOldReddit: !event.target.checked });
|
||||
});
|
||||
|
||||
document.querySelector("#more-options").addEventListener("click", () => {
|
||||
|
Loading…
x
Reference in New Issue
Block a user