Add chrome extension source

This commit is contained in:
Dave Gallant
2023-04-06 21:48:53 -04:00
parent 19bd601757
commit 1a9fbb061f
5 changed files with 87 additions and 2 deletions

View File

@@ -1,7 +1,23 @@
# rfd-redirect-stripper # rfd-redirect-stripper
This is a [Tampermonkey](https://www.tampermonkey.net/) userscript that strips affiliate redirects from deal links posted on https://forums.redflagdeals.com. rfd-redirect-stripper strips affiliate redirects from deal links posted on https://forums.redflagdeals.com.
## Why? ## Why?
This can help prevent broken links from collisions with adblockers. I wouldn't suggest using this unless you are experiencing difficulties opening links. Affiliate links and referrals help support RedFlagDeals.com. This helps prevent broken links from collisions with adblockers. Only use if you are experiencing difficulties opening links. Affiliate links and referrals help support RedFlagDeals.com.
## Tampermonkey Script
This was originally a [Tampermonkey](https://www.tampermonkey.net/) userscript before evolving into a browser extension.
Copy [script.js](./script.js) into Tampermonkey.
## Chrome extension
To load the browser extension, clone this repo and load [extensions/chrome](./extensions/chrome/).
## Updating redirects
The chrome extension will update itself by periodically fetching the latest [redirects.json](redirects.json).
Open a pull request to this repo to update the redirects.

View File

@@ -0,0 +1,18 @@
function updateRedirects() {
var URL =
"https://raw.githubusercontent.com/davegallant/rfd-redirect-stripper/main/redirects.json";
fetch(URL)
.then((res) => res.json())
.then((res) => {
chrome.storage.local.set({
"rfd-redirects": res,
});
});
}
chrome.runtime.onInstalled.addListener(() => {
updateRedirects();
});
setInterval(updateRedirects, 1 * 60 * 60 * 1000);

View File

@@ -0,0 +1,30 @@
function stripRedirect(URL, redirectRegex) {
for (var i = 0; i < redirectRegex.length; i++) {
var rule = redirectRegex[i];
var result = new RegExp(rule.pattern).exec(URL);
if (result) {
var newURL = result.groups.baseUrl;
try {
return decodeURIComponent(newURL);
} catch (e) {
console.log(e);
return URL;
}
}
}
return URL;
}
function stripRedirects() {
var Links = document.querySelectorAll("a.postlink, a.autolinker_link");
chrome.storage.local.get("rfd-redirects", function (redirectRegex) {
Links.forEach(function (Link) {
var ReferralURL = Link.href;
Link.href = stripRedirect(ReferralURL, redirectRegex["rfd-redirects"]);
});
});
}
stripRedirects();

BIN
extensions/chrome/icon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

View File

@@ -0,0 +1,21 @@
{
"manifest_version": 3,
"name": "rfd-redirect-stripper",
"description": "Strip tracking redirects on rfd",
"version": "0.1",
"content_scripts": [
{
"matches": ["*://forums.redflagdeals.com/*"],
"js": ["content.js"],
"run_at": "document_end"
}
],
"action": {
"default_icon": "icon.png"
},
"background": {
"service_worker": "background.js"
},
"permissions": ["scripting", "storage"],
"host_permissions": ["*://forums.redflagdeals.com/*"]
}