Additional Bypass

Bypass Addition for Bypass All Shortlinks

安装此脚本?
作者推荐脚本

您可能也喜欢旁路 全部 短链接

安装此脚本
  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. }})();

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址