// ==UserScript== // @name LinkSpy concatenated with clicksfly.com Bypass // @version 1.0 // @description Redirects from LinkSpy shortened URLs to the original URLs before any content is loaded. // @author Rust1667 // @match https://linkspy.cc/tr/* // @run-at document-start // @grant none // @namespace https://greasyfork.org/users/980489 // @downloadURL none // ==/UserScript== // Example link: // https://linkspy.cc/tr/aHR0cHM6Ly9jbGlja3NmbHkuY29tL2Z1bGw/YXBpPWNhMDNkN2Q1YzBjODgzMzViMGY5YmVmZDkyMWQ5YWYxMWZmZmM4OTEmdXJsPWFIUjBjSE02THk5M2QzY3VabWxzWldOeWVYQjBMbU5qTDBOdmJuUmhhVzVsY2k5RlFrTTVSRE5GUkVZNUxtaDBiV3c9JnR5cGU9Mg== // Decoded to: // https://clicksfly.com/full?api=ca03d7d5c0c88335b0f9befd921d9af11fffc891&url=aHR0cHM6Ly93d3cuZmlsZWNyeXB0LmNjL0NvbnRhaW5lci9FQkM5RDNFREY5Lmh0bWw=&type=2 // Decoded to: // https://www.filecrypt.cc/Container/EBC9D3EDF9.html //---------------------------Bypass clicksfly.com------------------------- function getParameter(url, parameterName) { parameterName = parameterName.replace(/[\[\]]/g, "\\$&"); var regex = new RegExp("[?&]" + parameterName + "(=([^&#]*)|&|#|$)"), results = regex.exec(url); if (!results) return null; if (!results[2]) return ''; return decodeURIComponent(results[2].replace(/\+/g, " ")); } function bypassClicksfly(linkShortener) { var urlParam = getParameter(linkShortener, "url"); var decodedURL = atob(urlParam); //window.location.href = decodedURL; //window.location.replace(decodedURL); window.location.assign(decodedURL); } //------------------------------------------------------------------------ (function() { 'use strict'; //----Bypass linkspy.cc---- var encodedUrl = window.location.href.split('/tr/')[1]; var decodedUrl = atob(encodedUrl); if (decodedUrl.startsWith('https://clicksfly.com/')) { //----Bypass clicksfly.com---- bypassClicksfly(decodedUrl); //window.location.assign(decodedUrl); } else { window.location.assign(decodedUrl); } })();