Greasy Fork 支持简体中文。

SimsFinds Wait Bypass

Bypass the timer on SimsFinds.com!

  1. // ==UserScript==
  2. // @name SimsFinds Wait Bypass
  3. // @namespace Callz
  4. // @version 1.0.0
  5. // @description Bypass the timer on SimsFinds.com!
  6. // @author Callz
  7. // @license MIT
  8. // @match https://www.simsfinds.com/*
  9. // @match https://click.simsfinds.com/download?*
  10. // @grant none
  11. // ==/UserScript==
  12.  
  13. (function () {
  14. 'use strict';
  15.  
  16. // Function to construct the dynamic download URL
  17. function constructDownloadURL() {
  18. console.log('Starting URL construction...');
  19.  
  20. const linkElement = document.querySelector('button._bt-download');
  21. const bodyElement = document.querySelector('body');
  22.  
  23. if (!linkElement || !bodyElement) {
  24. console.warn('Required elements not found. Cannot proceed with URL construction.');
  25. return;
  26. }
  27.  
  28. const dataAt5t768r9 = linkElement.getAttribute('data-at5t768r9');
  29. if (!dataAt5t768r9) {
  30. console.warn('Download data missing in the <a> tag.');
  31. return;
  32. }
  33.  
  34. const flid = linkElement.getAttribute('data-at8r136r7');
  35. if (!flid) {
  36. console.warn('flid (data-at8r136r7) is missing from the <a> tag.');
  37. return;
  38. }
  39.  
  40. const [cid, key, jogo, version] = dataAt5t768r9.split(',');
  41. const pass = bodyElement.getAttribute('data-passe');
  42. const dispositivo = bodyElement.getAttribute('data-dispositivo');
  43. const idioma = bodyElement.getAttribute('data-idioma-id');
  44. const fuso = bodyElement.getAttribute('data-fuso');
  45.  
  46.  
  47.  
  48. const now = Date.now(); // Base time in milliseconds
  49.  
  50. const downloadURL = `https://click.simsfinds.com/download?key=${key}&cid=${cid}&uid=0&pass=${pass}&dvc=${dispositivo}&version=${version}&flid=${flid}&now=${now}`;
  51.  
  52. console.log('Constructed Download URL:', downloadURL);
  53. window.location.href = downloadURL;
  54.  
  55. }
  56.  
  57. // Function to redirect to the "data-continue" link
  58. function redirectToContinueLink() {
  59. const downloadDataDiv = document.getElementById('gd9t568a');
  60. if (downloadDataDiv) {
  61. const continueLink = downloadDataDiv.getAttribute('data-continue');
  62. if (continueLink) {
  63. console.log('Redirecting to:', continueLink);
  64. window.location.href = continueLink; // Redirect to the continue link
  65. } else {
  66. console.warn('data-continue attribute not found');
  67. }
  68. } else {
  69. console.warn('Download data div not found');
  70. }
  71. }
  72.  
  73. // Handle logic for the different pages
  74. if (window.location.href.startsWith('https://www.simsfinds.com/')) {
  75. if (window.location.href.startsWith('https://www.simsfinds.com/continue?')) {
  76. // On the "continue" page
  77. console.log('Detected /continue page. Waiting for 1 second...');
  78. setTimeout(() => {
  79. console.log('Running constructDownloadURL...');
  80. constructDownloadURL();
  81. }, 1000);
  82. } else {
  83. // On the main SimsFinds page
  84. console.log('Running on SimsFinds main site');
  85.  
  86. // Intercept button clicks
  87. document.addEventListener('click', (event) => {
  88. const buttonTarget = event.target.closest('button._bt-download');
  89. const linkTarget = event.target.closest('a._bt-download');
  90.  
  91. if (buttonTarget) {
  92. console.log('Download button clicked, redirecting to continue link...');
  93. event.preventDefault(); // Prevent default button behavior
  94. redirectToContinueLink(); // Redirect to the static link
  95. } else if (linkTarget) {
  96. console.log('Download link clicked, constructing URL...');
  97. event.preventDefault(); // Prevent default link behavior
  98. constructDownloadURL(); // Construct and redirect
  99. }
  100. });
  101. }
  102. } else if (window.location.href.startsWith('https://click.simsfinds.com/download?')) {
  103. // On the redirect page
  104. console.log('Running on the download redirect page');
  105.  
  106. // Automatically trigger the download and close the tab
  107. const downloadLink = document.querySelector('a[href*="/download/"]');
  108. if (downloadLink) {
  109. console.log('Triggering download:', downloadLink.href);
  110. // Create a virtual click to start the download
  111. downloadLink.click();
  112.  
  113. // Close the redirect tab after a short delay
  114. setTimeout(() => {
  115. console.log('Closing the redirect tab...');
  116. window.close();
  117. }, 2000);
  118. } else {
  119. console.warn('Download link not found on the redirect page.');
  120. }
  121. }
  122. })();