Bypass It

Automatically Bypass Restrictions and Get Straight to Your Destination!

  1. // ==UserScript==
  2. // @name Bypass It
  3. // @namespace http://tampermonkey.net/
  4. // @version 2025-04-29
  5. // @description Automatically Bypass Restrictions and Get Straight to Your Destination!
  6. // @supportURL https://greatest.deepsurf.us/scripts/527564/feedback
  7. // @author You
  8. // @match *://vn88.id/*
  9. // @match *://vn88.fan/*
  10. // @match *://vn88.ing/*
  11. // @match *://vn88.wtf/*
  12. // @match *://aylink.co/*
  13. // @match *://vn8eu.com/*
  14. // @match *://vn88n.com/*
  15. // @match *://gplinks.co/*
  16. // @match *://v2links.me/*
  17. // @match *://upfion.com/*
  18. // @match *://fb88dv.com/*
  19. // @match *://m88usb.com/*
  20. // @match *://vn88.group/*
  21. // @match *://vn88wo.com/*
  22. // @match *://vn88zx.com/*
  23. // @match *://vn88ko.com/*
  24. // @match *://vn88es.com/*
  25. // @match *://vn88tu.com/*
  26. // @match *://vn88my.com/*
  27. // @match *://v9bethi.com/*
  28. // @match *://www.m88.com/*
  29. // @match *://bet88li.com/*
  30. // @match *://cutyion.com/*
  31. // @match *://vn88tk1.com/*
  32. // @match *://vn88vc.wiki/*
  33. // @match *://fb88vao.com/*
  34. // @match *://coinclix.co/*
  35. // @match *://vn88.hiphop/*
  36. // @match *://gwaher.com/ptc
  37. // @match *://www.fb88.com/*
  38. // @match *://*.devnote.in/*
  39. // @match *://naamlist.com/*
  40. // @match *://modsfire.com/*
  41. // @match *://yeumoney.com/*
  42. // @match *://165.22.63.250/*
  43. // @match *://*.gmsrweb.org/*
  44. // @match *://modijiurl.com/*
  45. // @match *://geekgrove.net/*
  46. // @match *://www.m88sut.com/*
  47. // @match *://*.techyuth.xyz/*
  48. // @match *://vn88.solutions/*
  49. // @match *://financewada.com/*
  50. // @match *://188.166.185.213/*
  51. // @match *://gemini.google.com/*
  52. // @match *://cryptowidgets.net/*
  53. // @match *://*.wikijankari.com/*
  54. // @match *://cricketlegacy.com/*
  55. // @match *://ourcoincash.xyz/ptc*
  56. // @match *://*.idblogmarket.com/*
  57. // @match *://*.phonesparrow.com/*
  58. // @match *://financenova.online/*
  59. // @match *://bitcotasks.com//lead*
  60. // @match *://rajasthantopnews.com/*
  61. // @match *://www.google.com/url?q=*
  62. // @match *://freepayz.com/framed-ads
  63. // @match *://utkarshonlinetest.com/*
  64. // @match *://www.youtube.com/redirect*
  65. // @match *://www.facebook.com/flx/warn/*
  66. // @match *://gemini.google.com/app?msg=*
  67. // @match *://www.instagram.com/linkshim/*
  68. // @match https://www.google.com/recaptcha/api2/bframe*
  69. // @match https://www.google.com/recaptcha/api2/anchor*
  70. // @icon data:image/png;base64,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
  71. // @grant GM_getValue
  72. // @grant GM_setValue
  73. // @grant GM_addStyle
  74. // @grant unsafeWindow
  75. // @grant GM_openInTab
  76. // @grant GM_deleteValue
  77. // @grant GM_xmlhttpRequest
  78. // @grant GM_registerMenuCommand
  79. // @grant GM_addValueChangeListener
  80. // @require https://update.greatest.deepsurf.us/scripts/439099/1203718/MonkeyConfig%20Modern%20Reloaded.js
  81. // @connect api.nocaptchaai.com
  82. // @connect api.nopecha.com
  83. // @license MIT
  84. // ==/UserScript==
  85. const cfg = new MonkeyConfig({
  86. menuCommand: true,
  87. params: {
  88. redirectToSocial: {
  89. type: 'checkbox',
  90. label: "Auto-Redirect to Social Media",
  91. default: false,
  92. },
  93. ptcFaucet: {
  94. type: 'checkbox',
  95. label: "Opens PTC links",
  96. default: false
  97. },
  98. apiKey1: {
  99. type: 'text',
  100. label: "noCaptcha Ai API Key",
  101. default: "",
  102. },
  103. apiKey2: {
  104. type: 'text',
  105. label: "NopeCHA API Key (leave empty to use IP authentication)",
  106. default: "",
  107. },
  108. siteDelays: {
  109. type: 'text',
  110. long: 3,
  111. label: "Site-Specific Delays (domain:delay)",
  112. default: 'example.com:50ms\nanotherexample.net:100ms'
  113. }
  114. }
  115. });
  116.  
  117. const noop = () => {};
  118. const rawWindow = unsafeWindow;
  119. const currentUrl = location.href;
  120. const queryParams = new URLSearchParams(location.search);
  121.  
  122. function waitForElement(selector, callback = noop) {
  123. const findElement = () => {
  124. if (selector.startsWith("//")) {
  125. return document.evaluate(selector, document, null, 9).singleNodeValue;
  126. }
  127. return document.querySelector(selector);
  128.  
  129. };
  130.  
  131. return new Promise((resolve) => {
  132. const element = findElement();
  133. if (document.contains(element)) {
  134. callback(element);
  135. return resolve(element);
  136. }
  137. const observer = new MutationObserver((mutations, observerInstance) => {
  138. const node = findElement();
  139. if (document.contains(node)) {
  140. observerInstance.disconnect();
  141. callback(node);
  142. resolve(node);
  143. }
  144. });
  145. observer.observe(document.documentElement, {
  146. attributes: true,
  147. childList: true,
  148. subtree: true,
  149. });
  150. });
  151. }
  152.  
  153. function navigateTo(url) {
  154. location = url;
  155. }
  156.  
  157. function waitSeconds(seconds) {
  158. return new Promise((resolve) => setTimeout(resolve, seconds * 1000));
  159. }
  160.  
  161. function redirectToLink(selector) {
  162. waitForElement(selector).then((element) => navigateTo(element.href));
  163. }
  164.  
  165. function imageUrlToBase64(imageUrl) {
  166. if (!imageUrl) {
  167. console.error("No imageUrl provided");
  168. return null;
  169. }
  170. return new Promise((resolve, reject) => {
  171. makeRequest(imageUrl, {
  172. responseType: "blob",
  173. }).then(blob => {
  174. const reader = new FileReader();
  175. reader.onload = () => resolve(reader.result);
  176. reader.onerror = (error) => {
  177. console.error("FileReader error:", error);
  178. reject(error);
  179. };
  180. reader.readAsDataURL(blob);
  181. })
  182. });
  183. }
  184.  
  185. function onMatch(hostPattern, callback, ...args) {
  186. hostPattern = hostPattern.replace("www.", "");
  187. if (hostPattern.length < 3) return;
  188.  
  189. const isMatch = new RegExp(hostPattern).test(location.host);
  190. if (isMatch) callback(...args);
  191. }
  192.  
  193. function onMatchClick(hostPattern, selector) {
  194. onMatch(hostPattern, simulateClick, selector)
  195. }
  196.  
  197. function simulateClick(selector, delay = 0) {
  198. const clickFun = (element) => {
  199. const events = ["mouseover", "mousedown", "mouseup", "click"];
  200. events.forEach((eventName) => {
  201. const event = new MouseEvent(eventName, {
  202. bubbles: true,
  203. });
  204. element.dispatchEvent(event);
  205. });
  206. }
  207. if (typeof selector != "string") {
  208. return clickFun(selector);
  209. }
  210. const selectors = selector.split(", ");
  211. if (selectors.length > 1) {
  212. selectors.forEach((sel) => simulateClick(sel, delay));
  213. return;
  214. }
  215.  
  216. waitForElement(selector, async function(element) {
  217. if (delay > 0) await waitSeconds(delay);
  218. clickFun(element);
  219. });
  220. }
  221.  
  222. function whenCaptchaSolved(callback, onWait = noop) {
  223. let intervalId;
  224. const stopChecking = () => clearInterval(intervalId);
  225.  
  226. // waitForElement("//*[@id='captcha-result'] and normalize-space() = 'Verified!']", function() {
  227. // stopChecking();
  228. // callback();
  229. // })
  230. const checkCaptcha = () => {
  231. try {
  232. const element = document.querySelector('#captcha-result .mb-2.badge.bg-success');
  233. if (element && element.textContent.trim() === 'Verified!') {
  234. stopChecking();
  235. callback();
  236. }
  237.  
  238. const captcha = rawWindow.turnstile || rawWindow.hcaptcha || rawWindow.grecaptcha;
  239. const response = captcha.getResponse();
  240.  
  241. if (response) {
  242. stopChecking();
  243. callback();
  244. }
  245. } catch (error) {
  246. onWait(stopChecking);
  247. }
  248. };
  249.  
  250. checkCaptcha();
  251. intervalId = setInterval(checkCaptcha, 1000);
  252. }
  253.  
  254. function GM_onMessage(label, callback = noop) {
  255. GM_addValueChangeListener("postMessage-" + label, function(name, oldValue, newValue, remote) {
  256. if (remote) {
  257. GM_deleteValue("postMessage-" + label);
  258. callback(newValue);
  259. }
  260. });
  261. }
  262.  
  263. function GM_sendMessage(label, value) {
  264. GM_setValue("postMessage-" + label, value);
  265. }
  266.  
  267. function onOpenTab(callback) {
  268. const originalOpen = rawWindow.open;
  269.  
  270. rawWindow.open = function(...args) {
  271. const newWindow = originalOpen.apply(rawWindow, args);
  272. callback(newWindow);
  273. return newWindow;
  274. };
  275. }
  276.  
  277. function clickWithTrusted() {
  278. // Create window proxy to disable Object.freeze
  279. const sandbox = new Proxy(window, {
  280. get(target, key) {
  281. if (key === 'Object') {
  282. return new Proxy(Object, {
  283. get(objTarget, objKey) {
  284. if (objKey === 'freeze') {
  285. return function(obj) {
  286. console.warn("Object.freeze disabled in sandbox.");
  287. return obj;
  288. };
  289. }
  290. return Reflect.get(objTarget, objKey);
  291. }
  292. });
  293. }
  294. return Reflect.get(target, key);
  295. }
  296. });
  297.  
  298. // Patch addEventListener to clone events and force isTrusted
  299. const originalAddEventListener = EventTarget.prototype.addEventListener;
  300. EventTarget.prototype.addEventListener = function(type, listener, options) {
  301. const wrappedListener = function(event) {
  302. const clonedEvent = Object.create(event);
  303. Object.defineProperty(clonedEvent, "isTrusted", {
  304. value: true,
  305. writable: false
  306. });
  307. return listener.call(this, clonedEvent);
  308. };
  309. return originalAddEventListener.call(this, type, wrappedListener, options);
  310. };
  311.  
  312. return sandbox;
  313. }
  314.  
  315. function isVisible(element) {
  316. if (!element) return false;
  317.  
  318. const style = window.getComputedStyle(element);
  319. const visible = style.display !== 'none' &&
  320. style.visibility !== 'hidden' &&
  321. style.opacity !== '0' &&
  322. element.offsetWidth > 0 &&
  323. element.offsetHeight > 0;
  324.  
  325. if (!visible) return false;
  326.  
  327. return isVisible(element.parentElement) || element.parentElement === null;
  328. };
  329.  
  330. function transformMethod(object, methodName, argumentProcessor) {
  331. const originalMethod = object[methodName];
  332.  
  333. Object.defineProperty(object, methodName, {
  334. value: function (...args) {
  335. const processedArgs = argumentProcessor(args);
  336. return originalMethod(...processedArgs);
  337. },
  338. writable: false,
  339. configurable: false
  340. });
  341. }
  342.  
  343. function makeRequest(url, options = {}) {
  344. return new Promise((resolve, reject) => {
  345. GM_xmlhttpRequest({
  346. url,
  347. method: options.method || "GET",
  348. responseType: options.responseType || "json",
  349. headers: options.headers || {},
  350. data: options.data ? JSON.stringify(options.data) : null,
  351. //timeout: options.timeout || 0,
  352. onload: (response) => resolve(response.response),
  353. onerror: (error) => reject(error),
  354. ontimeout: (error) => reject(error),
  355. onabort: (error) => reject(error)
  356. });
  357. });
  358. }
  359.  
  360. // Main execution
  361. (function () {
  362. "use strict";
  363. //only click
  364. onMatchClick("cutyion.com", "#submit-button:not([disabled])");
  365. onMatchClick("modsfire.com", ".download-button, .download-button[href]");
  366. onMatchClick("aylink.co", ".btn-go, .complete[style*='display: block;'] a, a.btn:not(.btn-go)")
  367. onMatchClick("devnote.in|techyuth.xyz", "#scroll:not(.no), #getlinks[style*='display: block;'], .get-link:not(.disabled)");
  368. onMatchClick("gplinks.co|cricketlegacy.com", "#VerifyBtn[style*='display: block;'], #NextBtn:not([href='#']), #captchaButton:not(.disabled)");
  369. onMatchClick("(financewada|utkarshonlinetest).com|financenova.online|v2links.me", ".get_btn a[href], //div[contains(text(),'Continue')], .get-link:not(.disabled)");
  370. onMatchClick("(wikijankari|idblogmarket|modijiurl|phonesparrow|naamlist|rajasthantopnews).com|gmsrweb.org", "center a[style*='display: block;'], .get-link:not(.disabled)");
  371. cfg.get("redirectToSocial") && onMatchClick("(instagram|youtube|facebook).com", ".-cx-PRIVATE-Linkshim__followLink__, #invalid-token-redirect-goto-site-button, .selected");
  372.  
  373. onMatch("upfion.com", function() {
  374. simulateClick("#link-button:not([disabled])");
  375. redirectToLink("a#link-button:not([disabled])");
  376. });
  377.  
  378. onMatch("(m88(sut|usb)?|bet88li|fb88(dv|vao)?|yeumoney|google|vn8?8(wo|tk1|eu|zx|ko|es|tu|n|my)?|v9bethi).com|188.166.185.213|165.22.63.250|vn88.(hiphop|wtf|id|now|fan|group|solutions|ing)|vn88vc.wiki", function() {
  379. waitForElement(".getcodebtn", function(element) {
  380. element.click();
  381. GM_sendMessage("close_tabs", currentUrl);
  382. })
  383. waitForElement("//*[contains(@class, 'cursor-pointer') and contains(text(), 'footer')]", function() {
  384. simulateClick("a[href*='"+location.host+"']");
  385. })
  386. waitForElement("//*[contains(@class, 'cursor-pointer') and string-length(translate(normalize-space(text()), '0123456789', '')) = 0]", function(element) {
  387. GM_sendMessage("vietnam_code", element.innerText)
  388. })
  389.  
  390. const tabs = [];
  391. const urls = [
  392. "m88.com", "vn88.id", "vn88.fan", "vn88.ing", "fb88.com", "vn88.now",
  393. "vn88.wtf", "vn8eu.com", "vn88n.com", "m88sut.com", "m88usb.com",
  394. "fb88dv.com", "vn88.group", "vn88wo.com", "vn88zx.com", "vn88ko.com",
  395. "vn88es.com", "vn88tu.com", "vn88tk1.com","vn88vc.wiki", "fb88vao.com",
  396. "vn88.hiphop", "vn88.solutions", "bet88li.com/m88", "188.166.185.213/w88",
  397. "165.22.63.250/188bet", "vn88my.com/m88", "v9bethi.com"
  398. ]
  399.  
  400. urls.includes(queryParams.get("q")?.replace("https://", "")) && simulateClick(".mymGo ~ div a");
  401.  
  402. GM_onMessage("vietnam_code", function(newValue) {
  403. tabs.forEach(([_, tab]) => tab.close());
  404. document.querySelector('[name="code"]').value = newValue;
  405. simulateClick(".box-form-button button");
  406. });
  407.  
  408. waitForElement("[data-clipboard-text]:not([data-clipboard-text=''])", function(element) {
  409. const links = urls.filter(url => url.includes(element.dataset.clipboardText));
  410. links.forEach(url => {
  411. const tab = GM_openInTab("https://www.google.com/url?q=https://" + url);
  412. tabs.push([url, tab]);
  413. })
  414. GM_onMessage("close_tabs", function(newValue) {
  415. tabs.forEach(([url, tab]) => {
  416. if (new URL("https://" + url).host !== new URL(newValue).host) {
  417. tab.close();
  418. }
  419. });
  420. });
  421. })
  422. });
  423.  
  424. if (cfg.get("ptcFaucet")) {
  425. const regex = /^(visit for \d+ sec|visit(?: now)?|go|view|view now|view ads?|watch|start .* coins|start view ad)$/i;
  426. const findButton = () => [...document.querySelectorAll("button")].find(btn => regex.test(btn.textContent.trim()));
  427.  
  428. onMatch("ourcoincash.xyz|(bitcotasks|freepayz|gwaher).com", function() {
  429. //TODO: replace the use of setInterval and fix the issue with tabs
  430. let tabObj;
  431. onOpenTab(function(tab) { tabObj = tab; });
  432. rawWindow.addEventListener("beforeunload", function() { tabObj?.close(); })
  433.  
  434. findButton()?.click();
  435.  
  436. setInterval(function() {
  437. tabObj?.close();
  438. findButton()?.click();
  439. }, 120000) // 120 sec
  440. whenCaptchaSolved(function() {
  441. const btn = document.querySelector("button[type='submit']")
  442. isVisible(btn) && btn.click();
  443. })
  444. })
  445. }
  446.  
  447. onMatch("coinclix.co|geekgrove.net", async function() {
  448. // Add support for Google. Currently, it is not supported, and a refresh is needed when it appears.
  449. if (!cfg.get("autoRedirectToSocial")) {
  450. //TODO: Automatically enable for a temporary amount of time
  451. return alert("To bypass this, you need to enable Auto-Redirect to Social Media.");
  452. }
  453. const code = document.querySelector(".mb-2 code");
  454. if (code) {
  455. //TODO: replace with something else
  456. const tab = GM_openInTab(document.querySelector("strong a")?.href);
  457. await waitSeconds(10);
  458. GM_sendMessage("geek_code", code.innerText);
  459.  
  460. }
  461. GM_onMessage("geek_code", function(newValue) {
  462. document.querySelector("#link_input").value = newValue;
  463. simulateClick("#btn_link, .btn-primary[href]");
  464. });
  465. })
  466.  
  467. // Don't forget to add the site into the @match.
  468. const sites = cfg.get("siteDelays").replaceAll("ms", "").split(/\n|:/);
  469. if (location.host in sites) {
  470. const argumentProcessor = (cb, delay, ...args) => ([cb, sites[location.host] * 1000, ...args]);
  471. transformMethod(rawWindow, "setInterval", argumentProcessor);
  472. transformMethod(rawWindow, "setTimeout", argumentProcessor);
  473. }
  474. })();
  475. // There are several known bugs, so if possible, it is recommended to use the official chrome extensions for now.
  476. (async function(isEnabled) {
  477. if (!isEnabled) return;
  478.  
  479. let isSolved = false;
  480.  
  481. const isCheckboxPresent = () => !!document.querySelector('.recaptcha-checkbox');
  482. const isCheckboxChecked = () => document.querySelector('#recaptcha-anchor')?.getAttribute('aria-checked') === 'true';
  483. const isImageChallengePresent = () => !!document.querySelector('#rc-imageselect');
  484. const isGrid4x4 = () => document.querySelectorAll('.rc-imageselect-tile').length === 16;
  485. const isGrid3x3 = () => document.querySelectorAll('.rc-imageselect-tile').length === 9;
  486. const getChallengeData = () => {
  487. const target = document.querySelector('.rc-imageselect-instructions strong')?.innerText;
  488. const imageUrl = document.querySelector('.rc-image-tile-33, .rc-image-tile-44')?.src;
  489. return [target, imageUrl];
  490. };
  491.  
  492. const solveImageChallenge = async (target, imageUrl, gridType) => {
  493. return new Promise(async (resolve, reject) => {
  494. const response = await makeRequest("https://api.nocaptchaai.com/createTask", {
  495. method: 'POST',
  496. headers: {
  497. 'Content-Type': 'application/json',
  498. },
  499. data: {
  500. clientKey: cfg.get('apiKey1'),
  501. task: {
  502. type: 'ReCaptchaV2Classification',
  503. questionType: gridType,
  504. image: (await imageUrlToBase64(imageUrl)).replace("data:image/jpeg;base64,", ""),
  505. question: target
  506. }
  507. }
  508. })
  509.  
  510. if (response.errorId) reject(response);
  511. const solution = response.solution;
  512. resolve(solution?.objects || solution?.hasObject);
  513. });
  514. };
  515.  
  516. const hasError = () => {
  517. const errorElements = document.querySelectorAll('[class^="rc-imageselect-error-"]');
  518. return Array.from(errorElements).some(isVisible);
  519. };
  520.  
  521. while (!isSolved) {
  522. await waitSeconds(2);
  523. if (isCheckboxPresent()) {
  524. if (isCheckboxChecked()) {
  525. isSolved = true;
  526. return;
  527. }
  528. await simulateClick('#recaptcha-anchor');
  529. } else if (isImageChallengePresent()) {
  530. const gridType = isGrid4x4() ? "44" : isGrid3x3() ? "33" : null;
  531. if (gridType && isImageChallengePresent() && !isCheckboxChecked()) {
  532. const [target, imageUrl] = getChallengeData();
  533. if (target && imageUrl) {
  534. const solution = await solveImageChallenge(target, imageUrl, gridType);
  535. if (solution) {
  536. const tiles = document.querySelectorAll('.rc-image-tile-wrapper');
  537. for (const index of solution) {
  538. if (tiles[index]) {
  539. simulateClick(tiles[index]);
  540. await waitSeconds(0.4);
  541. }
  542. }
  543. await waitSeconds(1);
  544. await simulateClick("#recaptcha-verify-button");
  545.  
  546. if (isCheckboxChecked()) {
  547. isSolved = true;
  548. await waitSeconds(1);
  549. return;
  550. }
  551. }
  552. }
  553. }
  554. } else if (isCheckboxChecked()) {
  555. isSolved = true;
  556. await waitSeconds(1);
  557. return;
  558. }
  559.  
  560. if (hasError()) {
  561. simulateClick("#recaptcha-reload-button");
  562. await waitSeconds(1);
  563. }
  564. }
  565. })(cfg.get("apiKey1").length > 20);