From ef0cff1a88a6432c39394ac219e3afd0d6b1e876 Mon Sep 17 00:00:00 2001 From: Amm0ni4 Date: Wed, 7 Feb 2024 12:06:33 +0100 Subject: [PATCH] bump to 91.1 and add my own bypasses --- 4_add_extra_bypasses.py | 75 +++++++++++++++++++++++++++ Bypass_All_Shortlinks.meta.js | 8 ++- Bypass_All_Shortlinks.user.js | 96 +++++++++++++++++++++++++++++++++-- README.md | 5 +- bypasses/dropgalaxy.user.js | 63 +++++++++++++++++++++++ bypasses/shareus.io.user.js | 33 ++++++++++++ 6 files changed, 273 insertions(+), 7 deletions(-) create mode 100644 4_add_extra_bypasses.py create mode 100644 bypasses/dropgalaxy.user.js create mode 100644 bypasses/shareus.io.user.js diff --git a/4_add_extra_bypasses.py b/4_add_extra_bypasses.py new file mode 100644 index 0000000..f822a73 --- /dev/null +++ b/4_add_extra_bypasses.py @@ -0,0 +1,75 @@ +import os + +def generate_metadata_file(input_file, output_file): + with open(input_file, 'r', encoding='utf-8') as f: + lines = f.readlines() + + start_index = None + end_index = None + + for i, line in enumerate(lines): + if line.startswith("// ==UserScript=="): + start_index = i + elif line.startswith("// ==/UserScript=="): + end_index = i + break + + if start_index is not None and end_index is not None: + metadata_lines = lines[start_index:end_index + 1] + with open(output_file, 'w', encoding='utf-8') as f: + f.writelines(metadata_lines) + print("Metadata extracted successfully!") + else: + print("Could not find metadata in the input file.") + + +# Function to read and modify .js files +def process_js_files(folder_path, target_file): + # Initialize lists to store lines to be added + match_lines = [] + require_lines = [] + after_user_script_lines = [] + + # Traverse through the files in the folder + for filename in os.listdir(folder_path): + if filename.endswith(".js"): + with open(os.path.join(folder_path, filename), 'r', encoding='utf-8') as f: + lines = f.readlines() + + # Find lines with "@match" or "@include" or "@require" + for line in lines: + if "@match" in line or "@include" in line: + match_lines.append(line) + if "@require" in line: + require_lines.append(line) + + # Find lines after "// ==/UserScript==" + after_user_script = False + for line in lines: + if after_user_script: + after_user_script_lines.append(line) + elif "// ==/UserScript==" in line: + after_user_script = True + + # Write gathered information to target_file + with open(target_file, 'r+', encoding='utf-8') as f: + content = f.readlines() + exclude_index = next((i for i, line in enumerate(content) if "@exclude" in line), None) + if exclude_index is not None: + # Add match_lines and require_lines before the first @exclude line + content = content[:exclude_index] + match_lines + require_lines + content[exclude_index:] + # Add lines after "// ==/UserScript==" + content.extend(after_user_script_lines) + f.seek(0) + f.writelines(content) + +# Main function to execute the process +def main(): + fixes_folder = "./bypasses" + target_file = "Bypass_All_Shortlinks.user.js" + process_js_files(fixes_folder, target_file) + print("Modification complete.") + generate_metadata_file("Bypass_All_Shortlinks.user.js", "Bypass_All_Shortlinks.meta.js") + +if __name__ == "__main__": + main() diff --git a/Bypass_All_Shortlinks.meta.js b/Bypass_All_Shortlinks.meta.js index 3686681..c1e3369 100644 --- a/Bypass_All_Shortlinks.meta.js +++ b/Bypass_All_Shortlinks.meta.js @@ -3,7 +3,7 @@ // @namespace Violentmonkey Scripts // @run-at document-start // @author Bloggerpemula -// @version 91.0 +// @version 91.1 // @grant GM_setValue // @grant GM_getValue // @grant GM_addStyle @@ -651,7 +651,11 @@ // @match *://*.playstore.pw/* // @match *://*.sigmalinks.in/* // @match *://*.r1.foxylinks.site/* -// @exclude /^(https?:\/\/)(.+)?((advertisingexcel|talkforfitness|rsadnetworkinfo|rsinsuranceinfo|rsfinanceinfo|rssoftwareinfo|rshostinginfo|rseducationinfo|gametechreviewer|vegan4k|phineypet|batmanfactor|techedifier|urlhives|linkhives|github|freeoseocheck|greenenez|aliyun|reddit|bing|live|yahoo|wiki-topia|edonmanor|vrtier|whatsapp|gearsadviser|edonmanor|tunebug|menrealitycalc|amazon|ebay|payoneer|paypal|skrill|stripe|tipalti|wise|discord|(cloud|mail|translate|analytics|accounts|myaccount|contacts|clients6|developers|payments|pay|ogs|safety|wallet).google).com|(thumb8|thumb9|crewbase|crewus|shinchu|shinbhu|ultraten|uniqueten|topcryptoz|allcryptoz|coinsvalue|cookinguide|cryptowidgets|webfreetools|carstopia|makeupguide|carsmania).net|(linksfly|shortsfly|urlsfly|wefly|blog24).me|(greasyfork|openuserjs|adarima|telegram).org|mcrypto.club|misterio.ro|insurancegold.in|coinscap.info|(dana|ovo).id)(\/.*)/ +// @match https://dropgalaxy.com/drive/* +// @match https://dropgalaxy.co/drive/* +// @match *://*.shareus.io/* +// @require https://code.jquery.com/jquery-2.1.1.min.js +// @exclude /^(https?:\/\/)(.+)?((advertisingexcel|talkforfitness|rsadnetworkinfo|rsinsuranceinfo|rsfinanceinfo|rssoftwareinfo|rshostinginfo|rseducationinfo|gametechreviewer|vegan4k|phineypet|batmanfactor|techedifier|urlhives|linkhives|github|freeoseocheck|greenenez|aliyun|reddit|bing|live|yahoo|wiki-topia|edonmanor|vrtier|whatsapp|gearsadviser|edonmanor|tunebug|menrealitycalc|amazon|ebay|payoneer|paypal|skrill|stripe|tipalti|wise|discord|tokopedia|taobao|aliexpress|(cloud|mail|translate|analytics|accounts|myaccount|contacts|clients6|developers|payments|pay|ogs|safety|wallet).google).com|(thumb8|thumb9|crewbase|crewus|shinchu|shinbhu|ultraten|uniqueten|topcryptoz|allcryptoz|coinsvalue|cookinguide|cryptowidgets|webfreetools|carstopia|makeupguide|carsmania).net|(linksfly|shortsfly|urlsfly|wefly|blog24).me|(greasyfork|openuserjs|adarima|telegram).org|mcrypto.club|misterio.ro|insurancegold.in|coinscap.info|(shopee|lazada|rakuten).*|(dana|ovo).id)(\/.*)/ // @downloadURL https://codeberg.org/Amm0ni4/bypass-all-shortlinks-debloated/raw/branch/main/Bypass_All_Shortlinks.user.js // @updateURL https://codeberg.org/Amm0ni4/bypass-all-shortlinks-debloated/raw/branch/main/Bypass_All_Shortlinks.meta.js // ==/UserScript== diff --git a/Bypass_All_Shortlinks.user.js b/Bypass_All_Shortlinks.user.js index 6fd503a..f7fb2a6 100644 --- a/Bypass_All_Shortlinks.user.js +++ b/Bypass_All_Shortlinks.user.js @@ -3,7 +3,7 @@ // @namespace Violentmonkey Scripts // @run-at document-start // @author Bloggerpemula -// @version 91.0 +// @version 91.1 // @grant GM_setValue // @grant GM_getValue // @grant GM_addStyle @@ -651,7 +651,11 @@ // @match *://*.playstore.pw/* // @match *://*.sigmalinks.in/* // @match *://*.r1.foxylinks.site/* -// @exclude /^(https?:\/\/)(.+)?((advertisingexcel|talkforfitness|rsadnetworkinfo|rsinsuranceinfo|rsfinanceinfo|rssoftwareinfo|rshostinginfo|rseducationinfo|gametechreviewer|vegan4k|phineypet|batmanfactor|techedifier|urlhives|linkhives|github|freeoseocheck|greenenez|aliyun|reddit|bing|live|yahoo|wiki-topia|edonmanor|vrtier|whatsapp|gearsadviser|edonmanor|tunebug|menrealitycalc|amazon|ebay|payoneer|paypal|skrill|stripe|tipalti|wise|discord|(cloud|mail|translate|analytics|accounts|myaccount|contacts|clients6|developers|payments|pay|ogs|safety|wallet).google).com|(thumb8|thumb9|crewbase|crewus|shinchu|shinbhu|ultraten|uniqueten|topcryptoz|allcryptoz|coinsvalue|cookinguide|cryptowidgets|webfreetools|carstopia|makeupguide|carsmania).net|(linksfly|shortsfly|urlsfly|wefly|blog24).me|(greasyfork|openuserjs|adarima|telegram).org|mcrypto.club|misterio.ro|insurancegold.in|coinscap.info|(dana|ovo).id)(\/.*)/ +// @match https://dropgalaxy.com/drive/* +// @match https://dropgalaxy.co/drive/* +// @match *://*.shareus.io/* +// @require https://code.jquery.com/jquery-2.1.1.min.js +// @exclude /^(https?:\/\/)(.+)?((advertisingexcel|talkforfitness|rsadnetworkinfo|rsinsuranceinfo|rsfinanceinfo|rssoftwareinfo|rshostinginfo|rseducationinfo|gametechreviewer|vegan4k|phineypet|batmanfactor|techedifier|urlhives|linkhives|github|freeoseocheck|greenenez|aliyun|reddit|bing|live|yahoo|wiki-topia|edonmanor|vrtier|whatsapp|gearsadviser|edonmanor|tunebug|menrealitycalc|amazon|ebay|payoneer|paypal|skrill|stripe|tipalti|wise|discord|tokopedia|taobao|aliexpress|(cloud|mail|translate|analytics|accounts|myaccount|contacts|clients6|developers|payments|pay|ogs|safety|wallet).google).com|(thumb8|thumb9|crewbase|crewus|shinchu|shinbhu|ultraten|uniqueten|topcryptoz|allcryptoz|coinsvalue|cookinguide|cryptowidgets|webfreetools|carstopia|makeupguide|carsmania).net|(linksfly|shortsfly|urlsfly|wefly|blog24).me|(greasyfork|openuserjs|adarima|telegram).org|mcrypto.club|misterio.ro|insurancegold.in|coinscap.info|(shopee|lazada|rakuten).*|(dana|ovo).id)(\/.*)/ // @downloadURL https://codeberg.org/Amm0ni4/bypass-all-shortlinks-debloated/raw/branch/main/Bypass_All_Shortlinks.user.js // @updateURL https://codeberg.org/Amm0ni4/bypass-all-shortlinks-debloated/raw/branch/main/Bypass_All_Shortlinks.meta.js // ==/UserScript== @@ -666,7 +670,7 @@ // There will be a Special Tricks and Bypass Adblock Codes only for Good Users (Anyone who have good attitude , Good Feedback, will be invited to my group) // Change Your Delay in the settings options from 5 to 10 or 20 if you have issues like Your action marked Suspicious,Don't try to bypass ,Don't use Speedster, etc const window = unsafeWindow; // Some of My Codes Not Running Well Without this , Please Let Me Know if You Find any Bugs - const cfg = new MonkeyConfig({title: 'Bypass Version 91.0 Settings :', menuCommand: true, + const cfg = new MonkeyConfig({title: 'Bypass Version 91.1 Settings :', menuCommand: true, params: {Announcements : {type: 'text', default: 'Enable Always Ready if You Open Multiple Tabs'}, SetDelay: {label: "Redirect Delay ", type: "number", default: 5,}, reCAPTCHA: {label: "Auto Open Recaptcha", type: "checkbox", default: false,}, @@ -1028,7 +1032,7 @@ if (h.pathname === '/check.php' && h.searchParams.has('alias') && h.searchParams.has('wis') && h.searchParams.has('siw')) { return 'https://kiiw.icu/' + h.searchParams.get('alias') + '?wis=' + h.searchParams.get('wis') + '&siw=' + h.searchParams.get('siw');} break; default: break;}})(new URL(location.href)); if (bas) {const {isNotifyNeeded, redirectDelay, link} = bas; - if (isNotifyNeeded) {notify(`Please Wait in @ Seconds Before Going to the Destination. Don't Forget to Whitelist My Blog from Your Adblocker , Thanks`);} + if (isNotifyNeeded) {notify(`Please Wait in @ Seconds , Don't Try to Remove/Replace My Blogs if You Want My Script to be Updated Regularly , Thanks`);} setTimeout(() => {location.href = link;}, redirectDelay * 1000);} // My Script will automatically download from the site below , Enable it from the Settings if (cfg.get('AutoDL') == true) { @@ -1671,3 +1675,87 @@ if (elementExists('.fa-check-double')) {console.log('All Available Ads Watched'); setTimeout(() => {window.location.replace('https://autofaucet.dutchycorp.space/dashboard.php');}, 3 * 1000);} setInterval(() => {if (Checkvisibility(bp('#submit_captcha'))) {bp("button[type='submit'].g-recaptcha").click();}}, 5 * 1000);}}); }})(); + +// ----- Bypass for dropgalaxy ----- +(function() { + 'use strict'; + if (/^https?:\/\/dropgalaxy\.(com|co)\/drive\/.*/.test(window.location.href)) { + document.addEventListener('DOMContentLoaded', function() { + + function clickButton(selector) { + var button = document.querySelector(selector); + if (button) { + button.click(); + console.log('Button with selector ' + selector + ' clicked!'); + } else { + console.log('Button with selector ' + selector + ' not found!'); + } + } + + // 1st PAGE - click the hidden button inmediately + clickButton('#method_free'); + + // 2nd PAGE - 16 seconds delay to click the initially blocked #downloadbtn + setTimeout(function() { + clickButton('#downloadbtn'); + }, 16000); // (if you click it from the beginning, it triggers adblock detection) + + // 3rd PAGE - Extract the download link as soon as it is available + (function($) { + 'use strict'; + + // Check for the presence of the form element at regular intervals + var intervalId = setInterval(function() { + var $downloadForm = $('#dllink'); + + // Check if the form element is present + if ($downloadForm.length > 0) { + // Extract the URL from the form action attribute + var url = $downloadForm.attr('action'); + + // Stop the interval since the URL is found + clearInterval(intervalId); + + // Show download link in a popup + //alert('Press OK to go to the download link:\n' + url); + + // Redirect to the download link + window.location.href = url; + } + }, 1000); + + })(jQuery); + + + }); + } +})(); +// ----- ----- ----- + +// ----- Bypass for shareus.io ----- +(function() { + 'use strict'; + if (window.location.hostname === 'shareus.io') { + document.addEventListener('DOMContentLoaded', function() { + // Define the button selector + const buttonSelector = "#root > div > main > div.main-container-1 > div.main-container-2 > div:nth-child(1) > div.adunit-container > button"; + + // Function to click the button + function clickButton() { + // Find the button element + const button = document.querySelector(buttonSelector); + if (button) { + button.click(); + console.log("Button clicked!"); + //clearInterval(intervalId); // Stop attempting once clicked + } else { + console.log("Button not found!"); + } + } + + // Set interval to attempt clicking every 1 second + const intervalId = setInterval(clickButton, 1000); + }); + } +})(); +// ----- ----- ----- diff --git a/README.md b/README.md index a7dc44c..62a59b8 100644 --- a/README.md +++ b/README.md @@ -24,7 +24,8 @@ Automatically bypass many link shorteners [(supported_sites.txt)](https://codebe - **No injecting unnecesary tracking in every site**. - The script will not inject that _iframe_ linking to `menrealitycalc.com`. - The script will not inject this weird _"adcopy_response"_. (I don't see a clear purpose for this, since it doesn't seem related in the script to any specific link shortener) -- Removed all the non-english languages to avoid buggy text characters. +- **Removed non-latin non-unicode characters** to avoid potential bug warnings. +- **Added extra bypasses** from the _bypasses_ folder. Original script by *bloggerpemula*: [greasyfork.org/scripts/431691](https://greasyfork.org/scripts/431691) @@ -33,3 +34,5 @@ Executing these 3 python scripts in order: - 1_download_untouched.py - 2_generate_includes.py - 3_patch.py +- 4_add_extra_bypasses.py + diff --git a/bypasses/dropgalaxy.user.js b/bypasses/dropgalaxy.user.js new file mode 100644 index 0000000..ae803f2 --- /dev/null +++ b/bypasses/dropgalaxy.user.js @@ -0,0 +1,63 @@ +// ==UserScript== +// @name dropgalaxy bypass +// @match https://dropgalaxy.com/drive/* +// @match https://dropgalaxy.co/drive/* +// @require https://code.jquery.com/jquery-2.1.1.min.js +// @run-at document-start +// ==/UserScript== + +// ----- Bypass for dropgalaxy ----- +(function() { + 'use strict'; + if (/^https?:\/\/dropgalaxy\.(com|co)\/drive\/.*/.test(window.location.href)) { + document.addEventListener('DOMContentLoaded', function() { + + function clickButton(selector) { + var button = document.querySelector(selector); + if (button) { + button.click(); + console.log('Button with selector ' + selector + ' clicked!'); + } else { + console.log('Button with selector ' + selector + ' not found!'); + } + } + + // 1st PAGE - click the hidden button inmediately + clickButton('#method_free'); + + // 2nd PAGE - 16 seconds delay to click the initially blocked #downloadbtn + setTimeout(function() { + clickButton('#downloadbtn'); + }, 16000); // (if you click it from the beginning, it triggers adblock detection) + + // 3rd PAGE - Extract the download link as soon as it is available + (function($) { + 'use strict'; + + // Check for the presence of the form element at regular intervals + var intervalId = setInterval(function() { + var $downloadForm = $('#dllink'); + + // Check if the form element is present + if ($downloadForm.length > 0) { + // Extract the URL from the form action attribute + var url = $downloadForm.attr('action'); + + // Stop the interval since the URL is found + clearInterval(intervalId); + + // Show download link in a popup + //alert('Press OK to go to the download link:\n' + url); + + // Redirect to the download link + window.location.href = url; + } + }, 1000); + + })(jQuery); + + + }); + } +})(); +// ----- ----- ----- diff --git a/bypasses/shareus.io.user.js b/bypasses/shareus.io.user.js new file mode 100644 index 0000000..869d352 --- /dev/null +++ b/bypasses/shareus.io.user.js @@ -0,0 +1,33 @@ +// ==UserScript== +// @name shareus.io bypass +// @match *://*.shareus.io/* +// @run-at document-start +// ==/UserScript== + +// ----- Bypass for shareus.io ----- +(function() { + 'use strict'; + if (window.location.hostname === 'shareus.io') { + document.addEventListener('DOMContentLoaded', function() { + // Define the button selector + const buttonSelector = "#root > div > main > div.main-container-1 > div.main-container-2 > div:nth-child(1) > div.adunit-container > button"; + + // Function to click the button + function clickButton() { + // Find the button element + const button = document.querySelector(buttonSelector); + if (button) { + button.click(); + console.log("Button clicked!"); + //clearInterval(intervalId); // Stop attempting once clicked + } else { + console.log("Button not found!"); + } + } + + // Set interval to attempt clicking every 1 second + const intervalId = setInterval(clickButton, 1000); + }); + } +})(); +// ----- ----- -----