// ==UserScript== // @name RedFlagDeals Redirect Stripper // @author Dave Gallant // @description Strip redirect links on forums.redflagdeals.com // @downloadURL https://raw.githubusercontent.com/davegallant/rfd-redirect-stripper/main/script.js // @grant none // @match *://forums.redflagdeals.com/* // @namespace http://tampermonkey.net/ // @updateURL https://raw.githubusercontent.com/davegallant/rfd-redirect-stripper/main/script.js // @version 0.0.1 // ==/UserScript== (function() { 'use strict'; var Links = document.querySelectorAll('a.postlink, a.autolinker_link'); const REDIRECT_REGEX = [ { "name": "Amazon", "pattern": ".*amazon\\.(?:ca|com)\/gp\/redirect\\.html\\?ie=UTF8&location=(?.*?)(?:&|ref%3D|%3F)" }, { "name": "Best Buy", "pattern": "bestbuyca.(.*).net(.*)\\?u=(?.*)\\?.*" }, { "name": "HP", "pattern": "www.awin1.com(.*)&clickref=&p=(?.*)&.*" }, { "name": "Samsung", "pattern": "www.awin1.com(.*)?p=(?.*)" }, { "name": "redirectingat.com", "pattern": "go.redirectingat.com/.*url=(?.*).*" }, { "name": "homedepot", "pattern": "the-home-depot-ca.pxf.io(.*)?u=(?.*)" }, { "name": "redirectingat", "pattern": "go.redirectingat.com(.*)?url=(?.*)" }, { "name": "sjv.io", "pattern": ".*sjv\\.io.*\\?u=(?.*)" }, { "name": "canadiantire", "pattern": "imp.i([0-9]*).net(.*)?u=(?.*)" }, { "name": "underarmour", "pattern": "www.awin1.com(.*)?ued=(?.*)" }, { "name": "lenovo", "pattern": "(.*).evyy.net(.*)?u=(?.*)" }, { "name": "kqzyfj", "pattern": "www.kqzyfj.com(.*)?url=(?.*)&sid=.*" }, { "name": "walmart", "pattern": "click.linksynergy.com(.*)?murl=(?.*)&u1=.*" }, { "name": "dpbolvw.net", "pattern": "www.dpbolvw.net(.*)?url=(?.*)" }, { "name": "jdoqocy.com", "pattern": "www.jdoqocy.com(.*)?url=(?.*)&sid=rfdcb" }, { "name": "pfx.io", "pattern": "(.*).pxf.io(.*)?u=(?.*)" }, { "name": "avantlink.com", "pattern": "(.*).avantlink.com(.*)?url=(?.*)" }, { "name": "anrdoezrs.net", "pattern": ".*anrdoezrs\\.net.+\\?url=(?.*)&sid=.*" }, { "name": "tkqlhce.com", "pattern": ".*tkqlhce\\.com.+?url=(?.*)&sid=.*" }, { "name": "staples", "pattern": ".*staplescanada\\.4u8mqw\\.net.+\\?u=(?.*)" }, { "name": "pjtra.com", "pattern": ".*pjtra\\.com.*\\?url=(?.*)&sid.*" }, { "name": "pjatr.com", "pattern": ".*pjatr\\.com.*\\?url=(?.*)&sid.*" }, { "name": "pntra.com", "pattern": ".*pntra\\.com.*\\?url=(?.*)&sid.*" }, { "name": "pntrs.com", "pattern": ".*pntrs\\.com.*\\?url=(?.*)&sid.*" }, { "name": "pntrac.com", "pattern": ".*pntrac\\.com.*\\?url=(?.*)&sid.*" }, { "name": "shareasale.com", "pattern": ".*shareasale\\.com.*&urllink=(?.*)" }, { "name": "mkr3.net", "pattern": ".*mkr3\\.net.*\\?u=(?.*)" }, { "name": "fintelconnect.com", "pattern": ".*fintelconnect\\.com.*\\?u=(?.*)" }, { "name": "c2ukkg.net", "pattern": ".*c2ukkg\\.net.*\\?u=(?.*)" }, { "name": "dodxnr.net", "pattern": ".*dodxnr\\.net.*\\?u=(?.*)" } ] ; var StripRedirect = function(URL) { for (var i = 0; i < REDIRECT_REGEX.length; i++) { var rule = REDIRECT_REGEX[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; }; Links.forEach(function(Link) { var ReferralURL = Link.href; Link.href = StripRedirect(ReferralURL); }); })();