Greasy Fork is available in English.

Additional Bypass

Bypass Addition for Bypass All Shortlinks

Pasang skrip ini?
Sugesti pemilik skrip

Kamu mungkin juga suka Bypass Semua Shortlink.

Pasang skrip ini
  1. // ==UserScript==
  2. // @name Additional Bypass
  3. // @namespace Violentmonkey Scripts
  4. // @match *://*.offerwallmedia.com/*
  5. // @match *://*.offers4crypto.xyz/*
  6. // @match *://*.dripoffers.com/*
  7. // @match *://*.adwallgate.com/*
  8. // @match *://*.bitcotasks.com/*
  9. // @match *://*.ewall.biz/*
  10. // @grant none
  11. // @version 7.2
  12. // @author Bloggerpemula
  13. // @run-at document-start
  14. // @description Bypass Addition for Bypass All Shortlinks
  15. // @require https://code.jquery.com/jquery-3.6.0.min.js
  16. // @require https://cdnjs.cloudflare.com/ajax/libs/xhook/1.4.9/xhook.js
  17. // @require https://cdnjs.cloudflare.com/ajax/libs/jimp/0.22.10/jimp.min.js
  18. // ==/UserScript==
  19. // ======================================================================================================================================================
  20. // PLEASE READ SCRIPT INFO BEFORE USE
  21. // PLEASE RESPECT IF MY SCRIPTS USEFUL FOR YOU
  22. // DON'T TRY TO COPY PASTE MY SCRIPTS THEN SHARE TO OTHERS LIKE YOU ARE THE CREATOR
  23. // PLEASE DON'T REMOVE OR CHANGE MY BLOG, THANKS FOR YOUR SUPPORT
  24. // My Blog is Very Important to give some Delay for safe away ,Track New Shortlinks , Broken Bypass etc...
  25. // Thanks so much to @JustOlaf , @Konf , @hacker09 and @juansi for Helping me , make my script even better , and for All who has contributed via Feedback.
  26. // =======================================================================================================================================================
  27. (function() {
  28. 'use strict';
  29. const bp = query => document.querySelector(query);const BpAll = query => document.querySelectorAll(query);
  30. const elementExists = query => bp(query) !== null;const BpParams = new URLSearchParams(location.search);
  31. function BpBlock() {return 1;}
  32. function sleep(ms) {return new Promise((resolve) => setTimeout(resolve, ms));}
  33. function ClickIfExists(query, timeInSec = 1, funcName = 'setTimeout') {
  34. if (elementExists(query)) {window[funcName](function() {(query).click();}, timeInSec * 1000);}}
  35. function SubmitBp(selector, time) {setTimeout(()=>{let elem = (typeof selector === 'string') ? bp(selector).closest('form') : selector; elem.requestSubmit();}, time*1000);}
  36. function Captchacheck(selector) {if (elementExists("iframe[src^='https://newassets.hcaptcha.com']")) {return window.hcaptcha.getResponse().length !== 0;
  37. } else if (elementExists("input[name='cf-turnstile-response']") && !elementExists('.core-msg.spacer.spacer-top')) {return window.turnstile.getResponse().length !== 0;} else if (elementExists("iframe[title='reCAPTCHA']")) {return window.grecaptcha.getResponse().length !== 0;
  38. } else if (elementExists('#iconcaptcha')) {let b = setInterval(() => {let p = bp('.iconcaptcha-holder.iconcaptcha-theme-light.iconcaptcha-success'); if (p) {clearInterval(b); SubmitBp(selector, 1);}}, 1000);} else {return;}}
  39. function GetForm() {var forms = document.forms; for (var i = 0; i < forms.length; i++) {var bait = forms[i].action;
  40. if (/bypass.html|adblock.html/.test(bait)) continue; return forms[i];}}
  41. function Checkvisibility(elem) {if (!elem.offsetHeight && !elem.offsetWidth) {return false;}
  42. if (getComputedStyle(elem).visibility === 'hidden') {return false;} return true;}
  43. function waitForElm(query, callback) {setTimeout(function() {
  44. if (elementExists(query)) {callback(bp(query));} else {waitForElm(query, callback);}}, 1000);}
  45. function redirect(url, blog = false) {location = blog ? 'https://rotator.nurul-huda.sch.id/?BypassResults=' + url : url;}
  46. function elementReady(selector) {return new Promise(function(resolve, reject) {let element = bp(selector);
  47. if (element) {resolve(element); return;} new MutationObserver(function(_, observer) {element = bp(selector);
  48. if (element) {resolve(element); observer.disconnect();}}).observe(document.documentElement, {childList: true, subtree: true});});}
  49. function Captchaicon(selector) {let b = setInterval(() => {let p = bp('.iconcaptcha-holder.iconcaptcha-theme-light.iconcaptcha-success');
  50. if (p) {clearInterval(b);SubmitBp(selector, 1);}}, 1000);}
  51. function RemoveRef(value) {delete document.referrer; document.__defineGetter__('referrer', () => value);}
  52. function RemoveBp(domain, selector) {const re_domain = new RegExp(domain); if (!re_domain.test(location.host)) return;
  53. const elements = BpAll(selector);for (const element of elements) {element.remove();}}
  54. function BlockRead(SearchString, nameFunc) {var target = window[nameFunc]; window[nameFunc] = function(...args) {const stringFunc = String(args);
  55. if ((new RegExp(SearchString)).test(stringFunc)) args[0] = function() {}; return target.call(this, ...args);};}
  56. function strBetween(s, front, back, trim = false) {if (trim) {s = s.replaceAll(' ', '');s = s.trim();s = s.replaceAll('\n', ' ');}
  57. return s.slice(s.indexOf(front) + front.length, s.indexOf(back, s.indexOf(front) + front.length));}
  58. function ReadytoClick(selector, sleepTime = 0) {const events = ["mouseover", "mousedown", "mouseup", "click"];const selectors = selector.split(', ');
  59. if (selectors.length > 1) {return selectors.forEach(ReadytoClick);}if (sleepTime > 0) {return sleep(sleepTime * 1000).then(function() {ReadytoClick(selector, 0);});}
  60. elementReady(selector).then(function(element) {element.removeAttribute('disabled');element.removeAttribute('target');
  61. events.forEach(eventName => {const eventObject = new MouseEvent(eventName, {bubbles: true}); element.dispatchEvent(eventObject);});});}
  62. function BloggerPemulaHD(re_domain, data, blog) {if (!re_domain.test(location.host)) return;
  63. if (typeof data === 'function') return data();if (Array.isArray(data)) data = { '/': data }; if (!(location.pathname in data)) return;const [key, value] = data[location.pathname];
  64. if (typeof key === 'object' && key.test(location.search)) return redirect(value + RegExp.$1, blog); if (BpParams.has(key)) redirect(value + BpParams.get(key), blog);}
  65. function BypassHD(selector, time) {if (elementExists('.g-recaptcha')) {let gc = setInterval(() => {if (window.grecaptcha.getResponse().length !== 0) {
  66. clearInterval(gc); SubmitBp('.g-recaptcha', 1);}}, 1000);} else if (elementExists('.h-captcha')) {let hc = setInterval(() => {if (window.hcaptcha.getResponse().length !== 0) {
  67. clearInterval(hc); SubmitBp('.h-captcha', 1);}}, 1000);} else if (elementExists('.cf-turnstile')) {let tc = setInterval(() => {if (window.turnstile.getResponse().length !== 0) {
  68. clearInterval(tc); SubmitBp('.cf-turnstile', 1);}}, 1000);} else if (elementExists('input[name=_iconcaptcha-token]')) {Captchaicon(selector);} else {SubmitBp(selector, time);}}
  69. function EnableRCF() {[].forEach.call(['contextmenu', 'visibilitychange', 'cut', 'paste', 'blur', 'mouseleave', 'keyup', 'drag', 'dragstart', 'hasFocus', 'focus', 'select', 'selectstart', 'webkitvisibilitychange', 'mozvisibilitychange'], function(event) {
  70. document.addEventListener(event, function(e) {e.stopPropagation();}, true);});}
  71. function IconCaptcha() {elementReady('#validateVisit').then(xhook.after(async function(request, response, callback) {if (request.url.match(/captcha\/request\.php$/)) {const Urls = request.url.replace(/captcha\/request\.php$/, ''); const ImageData = JSON.parse(response.text); const Maps = new Map(); var Skipstr = ''; xhook.disable(); let Loadimage = 0;
  72. for (let i = 0; i < ImageData.length; i++) {Jimp.read(Urls + 'captcha/request.php?cid=0&hash=' + ImageData[i]).then(function(solved) { solved.getBase64(Jimp.AUTO, function(error, base64String) {if (Maps.has(base64String)) {if (!Skipstr) {Skipstr = base64String;}} else {Maps.set(base64String, ImageData[i]);} Loadimage = Loadimage + 1;});});}
  73. for (let i = 0; i < 5; i++) {if (Loadimage != ImageData.length) {await sleep(2000);} else {break;}} if (Loadimage == ImageData.length && Maps.size == 2) {for (let [key, value] of Maps) {if (key != Skipstr) {bp("[name='captcha-hf']").value = Maps.get(key);
  74. $.ajax({url: Urls + 'captcha/request.php', type: 'POST', data: {cID: 0, pC: Maps.get(key), rT: 2}, success: function() {$('div.captcha-modal__icons > div:nth-child(1)').trigger('success');}, error: function() {console.log('An Error Occurred When Solving the Captcha');}});}}} else {console.log('Sorry Images Cannot be identified');}} else {callback();}}));}
  75.  
  76.  
  77. if (['interactive', 'complete'].includes(document.readyState)) {onHtmlLoaded();} else {document.addEventListener('DOMContentLoaded', onHtmlLoaded);}
  78. function onHtmlLoaded() {let $ = window.jQuery;
  79.  
  80. BloggerPemulaHD(/(bitcotasks|adwallgate|dripoffers|offerwallmedia).com|offers4crypto.xyz|ewall.biz/, function() {
  81. if (location.href.includes('lead/')) {
  82. IconCaptcha();
  83. } else {}
  84. });
  85.  
  86. }})();