Swiftlnx.com Auto-Bypasser (Matrix Edition)

⚡ Auto-Bypasser with Matrix Background, Auto-Copy, Stats, Progress by @Fer3on_Mod

当前为 2025-09-05 提交的版本,查看 最新版本

// ==UserScript==
// @name         Swiftlnx.com Auto-Bypasser (Matrix Edition)
// @namespace    http://tampermonkey.net/
// @version      21.1
// @description  ⚡ Auto-Bypasser with Matrix Background, Auto-Copy, Stats, Progress by @Fer3on_Mod
// @author       Fer3on_Mod
// @match        *://swiftlnx.com/*
// @match        *://yourdoctor.site/*
// @icon         https://i.postimg.cc/Nf6qTXkz/Picsart-25-05-24-07-25-58-369.png
// @run-at       document-start
// @grant        GM_addStyle
// ==/UserScript==

(function () {
  "use strict";

  const SCRIPT_VERSION = "21.1";
  let progressValue = 0, elapsedSeconds = 0;
  let progressTimer, timeCounter;
  let bypassedCount = 0;

  function createPopup() {
    if (document.getElementById("fer3on-popup")) return;

    const popup = document.createElement("div");
    popup.id = "fer3on-popup";
    popup.innerHTML = `
      <canvas id="matrix-bg"></canvas>
      <div class="fm-card">
        <button id="fer3on-close">❌</button>
        <div class="fm-badge">v${SCRIPT_VERSION}</div>
        <div class="fm-header">
          <div class="fm-logo-wrap">
            <img src="https://i.postimg.cc/Nf6qTXkz/Picsart-25-05-24-07-25-58-369.png" alt="FM" class="fm-logo">
          </div>
        </div>
        <div class="fm-title">⚡ Fer3on_Mod Auto-Bypass</div>
        <div class="fm-progress"><div class="fm-bar" id="fer3on-bar"></div></div>
        <div id="fer3on-timer">⏳ Time: 0s</div>
        <div id="fer3on-status">🚀 Starting...</div>
        <div id="fer3on-stats"></div>
        <div class="fm-social">
          <a href="https://youtube.com/@fer3on_mod" target="_blank" class="yt">
            🎥 YouTube
          </a>
          <a href="https://t.me/Fer3on_Mod" target="_blank" class="tg">
            ✈️ Telegram
          </a>
        </div>
      </div>
      <audio id="fer3on-sound" preload="auto">
        <source src="https://actions.google.com/sounds/v1/cartoon/clang_and_wobble.ogg" type="audio/ogg">
      </audio>
    `;
    document.documentElement.appendChild(popup);

    // إغلاق
    document.getElementById("fer3on-close").onclick = () => popup.remove();

    // Progress bar
    const bar = document.getElementById("fer3on-bar");
    progressTimer = setInterval(() => {
      if (progressValue < 95) {
        progressValue++;
        bar.style.width = progressValue + "%";
      }
    }, 120);

    // Timer
    const timer = document.getElementById("fer3on-timer");
    timeCounter = setInterval(() => {
      elapsedSeconds++;
      timer.textContent = `⏳ Time: ${elapsedSeconds}s`;
    }, 1000);

    // Matrix background
    initMatrix();
  }

  // Matrix خلفية
  function initMatrix() {
    const canvas = document.getElementById("matrix-bg");
    const ctx = canvas.getContext("2d");

    canvas.height = window.innerHeight;
    canvas.width = window.innerWidth;

    const letters = "01";
    const fontSize = 14;
    const columns = canvas.width / fontSize;
    const drops = Array.from({ length: columns }).fill(1);

    function draw() {
      ctx.fillStyle = "rgba(0, 0, 0, 0.08)";
      ctx.fillRect(0, 0, canvas.width, canvas.height);
      ctx.fillStyle = "#0F0";
      ctx.font = fontSize + "px monospace";

      drops.forEach((y, i) => {
        const text = letters.charAt(Math.floor(Math.random() * letters.length));
        ctx.fillText(text, i * fontSize, y * fontSize);
        if (y * fontSize > canvas.height && Math.random() > 0.975) drops[i] = 0;
        drops[i]++;
      });
    }
    setInterval(draw, 35);
  }

  GM_addStyle(`
    #fer3on-popup {
      position: fixed; top: 0; left: 0;
      width: 100%; height: 100%;
      background: rgba(10, 10, 10, 0.95);
      display: flex; align-items: center; justify-content: center;
      z-index: 2147483647 !important;
      font-family: 'Courier New', monospace;
    }
    #matrix-bg {
      position: absolute; top: 0; left: 0;
      width: 100%; height: 100%; z-index: 0;
    }
    .fm-card {
      position: relative;
      background: rgba(20,20,20,0.95);
      padding: 20px; border-radius: 14px;
      text-align: center;
      width: 90%; max-width: 420px;
      color: #eee;
      box-shadow: 0 0 15px rgba(0,255,0,0.5);
      z-index: 1;
    }
    #fer3on-close {
      position: absolute; top: 8px; right: 8px;
      background: transparent; color: #f33;
      border: none; font-size: 20px; cursor: pointer;
    }
    .fm-badge {
      position: absolute; top: 10px; left: 12px;
      background: rgba(0,255,0,0.15);
      color: #0f0; font-size: 13px; font-weight: bold;
      padding: 3px 8px; border-radius: 6px;
      text-transform: uppercase;
      box-shadow: 0 0 8px rgba(0,255,0,0.8), inset 0 0 4px rgba(0,255,0,0.5);
      animation: badgeGlowLoop 3s infinite;
    }
    @keyframes badgeGlowLoop {
      0%,100% { box-shadow:0 0 6px #0f0; }
      50% { box-shadow:0 0 16px #0f0; }
    }
    .fm-logo { width: 70px; border-radius: 50%; border: 2px solid #0f0; box-shadow: 0 0 20px #0f0; animation: pulseLogo 2s infinite alternate; }
    @keyframes pulseLogo { from { transform: scale(1); } to { transform: scale(1.08); } }
    .fm-title { font-size: 20px; font-weight: bold; margin: 12px 0; color: #0f0; }
    .fm-progress { width: 100%; background: #333; border-radius: 10px; overflow: hidden; height: 14px; margin-bottom: 0.5em; }
    .fm-bar { width: 0%; height: 100%; background: linear-gradient(90deg, #0f0, #7d5fff); }
    #fer3on-timer { font-size: 13px; margin-bottom: 0.5em; color: #0f0; }
    #fer3on-status { font-size: 14px; margin-bottom: 0.5em; }
    #fer3on-status.success { font-weight: bold; color: lime; }
    #fer3on-stats { font-size: 12px; color: #aaa; margin-bottom: 1em; }
    .fm-social { display: flex; justify-content: center; gap: 10px; flex-wrap: wrap; }
    .fm-social a { padding: 0.4em 1em; border-radius: 999px; color: #fff; font-weight: bold; text-decoration: none; font-size: 13px; }
    .fm-social a.yt { background: #ff0000; }
    .fm-social a.tg { background: #0088cc; }
  `);

  function setLog(msg, success = false) {
    const status = document.getElementById("fer3on-status");
    if (status) {
      status.textContent = msg;
      if (success) status.classList.add("success");
    }
    console.log("[Fer3on_Mod] " + msg);
  }

  function finishScript(finalUrl = null) {
    clearInterval(progressTimer);
    clearInterval(timeCounter);

    progressValue = 100;
    const bar = document.getElementById("fer3on-bar");
    if (bar) bar.style.width = "100%";

    setLog("✅ Bypass completed!", true);
    const stats = document.getElementById("fer3on-stats");
    bypassedCount++;
    stats.textContent = `✔️ Done in ${elapsedSeconds}s | Total: ${bypassedCount}`;

    if (finalUrl) {
      navigator.clipboard.writeText(finalUrl).catch(() => {});
    }

    const sound = document.getElementById("fer3on-sound");
    if (sound) sound.play().catch(() => {});

    setTimeout(() => {
      const popup = document.getElementById("fer3on-popup");
      if (popup) popup.remove();
    }, 3500);
  }

  function handleYourDoctor() {
    setLog("🌍 Detected yourdoctor.site ...");
    const btn = document.querySelector("button.btn-success, a.btn-success");
    if (btn) {
      setLog("➡️ Redirecting...");
      btn.click();
    }
  }

  function handleSwiftLnx() {
    setLog("🌍 Detected swiftlnx.com ...");
    const checkBtn = setInterval(() => {
      const btn = document.querySelector("a.get-link[href]:not(.disabled)");
      if (btn && btn.href && !btn.href.includes("void(0)")) {
        clearInterval(checkBtn);
        setLog("🔗 GET LINK found...");
        setTimeout(() => {
          const finalUrl = btn.href;
          btn.click();
          finishScript(finalUrl);
        }, 1200);
      }
    }, 400);
  }

  createPopup();

  if (location.hostname.includes("yourdoctor.site")) {
    document.addEventListener("DOMContentLoaded", handleYourDoctor);
  } else if (location.hostname.includes("swiftlnx.com")) {
    document.addEventListener("DOMContentLoaded", handleSwiftLnx);
  }
})();