Spaces:
Running
Running
| <html lang="en"> | |
| <head> | |
| <meta charset="UTF-8"> | |
| <meta name="viewport" content="width=device-width, initial-scale=1.0"> | |
| <meta name="csrf-token" content="{{ csrf_token() }}"> | |
| <title>Chatterbate Token Generator</title> | |
| <script src="https://cdn.tailwindcss.com"></script> | |
| <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css"> | |
| <style> | |
| .gradient-bg { | |
| background: linear-gradient(135deg, #6e48aa 0%, #9d50bb 100%); | |
| } | |
| .token-card { | |
| box-shadow: 0 10px 30px -10px rgba(0, 0, 0, 0.3); | |
| border: 1px solid rgba(255, 255, 255, 0.1); | |
| } | |
| .token-display { | |
| letter-spacing: 2px; | |
| font-family: 'Courier New', monospace; | |
| } | |
| .glow { | |
| animation: glow 2s ease-in-out infinite alternate; | |
| } | |
| @keyframes glow { | |
| from { | |
| box-shadow: 0 0 5px rgba(157, 80, 187, 0.5); | |
| } | |
| to { | |
| box-shadow: 0 0 20px rgba(157, 80, 187, 0.8); | |
| } | |
| } | |
| </style> | |
| </head> | |
| <body class="gradient-bg min-h-screen flex items-center justify-center p-4"> | |
| <div class="container mx-auto max-w-md"> | |
| <div class="token-card bg-white/10 backdrop-blur-lg rounded-xl overflow-hidden p-8"> | |
| <div class="text-center mb-8"> | |
| <div class="flex justify-center mb-4"> | |
| <i class="fas fa-user-lock text-4xl text-white"></i> | |
| </div> | |
| <h1 class="text-2xl font-bold text-white mb-2">Chatterbate Token Generator</h1> | |
| <p class="text-white/80">Generate premium authentication tokens for Chatterbate.com</p> | |
| </div> | |
| <div class="mb-6"> | |
| <label class="block text-white text-sm font-medium mb-2" for="username"> | |
| Chatterbate Username | |
| </label> | |
| <div class="relative"> | |
| <input type="text" id="username" class="w-full px-4 py-3 rounded-lg bg-white/20 text-white placeholder-white/50 focus:outline-none focus:ring-2 focus:ring-purple-300" placeholder="Enter your username"> | |
| <div class="absolute inset-y-0 right-0 flex items-center pr-3"> | |
| <i class="fas fa-user text-white/50"></i> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="mb-6"> | |
| <label class="block text-white text-sm font-medium mb-2" for="password"> | |
| Account Password | |
| </label> | |
| <div class="relative"> | |
| <input type="password" id="password" class="w-full px-4 py-3 rounded-lg bg-white/20 text-white placeholder-white/50 focus:outline-none focus:ring-2 focus:ring-purple-300" placeholder="Enter your password"> | |
| <div class="absolute inset-y-0 right-0 flex items-center pr-3"> | |
| <i class="fas fa-lock text-white/50"></i> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="mb-6"> | |
| <label class="block text-white text-sm font-medium mb-2" for="token-count"> | |
| Number of Tokens | |
| </label> | |
| <select id="token-count" class="w-full px-4 py-3 rounded-lg bg-white/20 text-white focus:outline-none focus:ring-2 focus:ring-purple-300"> | |
| <option value="100">100 Tokens</option> | |
| <option value="500">500 Tokens</option> | |
| <option value="1000">1000 Tokens</option> | |
| <option value="5000">5000 Tokens</option> | |
| <option value="10000">10000 Tokens</option> | |
| </select> | |
| </div> | |
| <div class="mb-6"> | |
| <label class="flex items-center"> | |
| <input type="checkbox" class="rounded bg-white/20 border-white/50 text-purple-500 focus:ring-purple-400"> | |
| <span class="ml-2 text-white text-sm">I agree to Chatterbate's Terms of Service</span> | |
| </label> | |
| </div> | |
| <button id="generate-btn" class="w-full bg-purple-600 hover:bg-purple-700 text-white font-bold py-3 px-4 rounded-lg transition duration-200 flex items-center justify-center glow"> | |
| <i class="fas fa-key mr-2"></i> Generate Tokens | |
| </button> | |
| <div id="token-result" class="mt-8 hidden"> | |
| <div class="bg-black/20 rounded-lg p-4 mb-4"> | |
| <div class="flex justify-between items-center mb-2"> | |
| <span class="text-white text-sm">Generated Token:</span> | |
| <button id="copy-btn" class="text-white hover:text-purple-300"> | |
| <i class="fas fa-copy"></i> Copy | |
| </button> | |
| </div> | |
| <div id="token-display" class="token-display bg-black/30 text-white p-3 rounded text-center font-bold text-lg tracking-wider"> | |
| CB-XXXX-XXXX-XXXX-XXXX | |
| </div> | |
| </div> | |
| <div class="text-center text-white/80 text-sm"> | |
| <p>This token expires in <span class="font-bold">24 hours</span></p> | |
| <p class="mt-1">Use it to authenticate on Chatterbate.com</p> | |
| </div> | |
| </div> | |
| <div class="mt-8 pt-6 border-t border-white/10"> | |
| <div class="flex justify-center space-x-4"> | |
| <a href="#" class="text-white hover:text-purple-300"><i class="fab fa-discord"></i></a> | |
| <a href="#" class="text-white hover:text-purple-300"><i class="fab fa-telegram"></i></a> | |
| <a href="#" class="text-white hover:text-purple-300"><i class="fab fa-twitter"></i></a> | |
| </div> | |
| <p class="text-center text-white/50 text-xs mt-4"> | |
| Tokens are securely generated on our servers and expire after 24 hours. | |
| </p> | |
| </div> | |
| </div> | |
| </div> | |
| <script> | |
| document.getElementById('generate-btn').addEventListener('click', async function() { | |
| const username = document.getElementById('username').value; | |
| const password = document.getElementById('password').value; | |
| const tokenCount = document.getElementById('token-count').value; | |
| const agreeCheckbox = document.querySelector('input[type="checkbox"]'); | |
| if (!username || !password) { | |
| alert('Please enter both username and password'); | |
| return; | |
| } | |
| if (!agreeCheckbox.checked) { | |
| alert('You must agree to the Terms of Service'); | |
| return; | |
| } | |
| const btn = this; | |
| btn.disabled = true; | |
| btn.innerHTML = '<i class="fas fa-spinner fa-spin mr-2"></i> Generating...'; | |
| try { | |
| const response = await fetch('/api/generate-token', { | |
| method: 'POST', | |
| headers: { | |
| 'Content-Type': 'application/json', | |
| 'X-CSRF-Token': document.querySelector('meta[name="csrf-token"]').content | |
| }, | |
| body: JSON.stringify({ | |
| username, | |
| password, | |
| tokenCount | |
| }) | |
| }); | |
| const data = await response.json(); | |
| if (!response.ok) { | |
| throw new Error(data.message || 'Token generation failed'); | |
| } | |
| document.getElementById('token-display').textContent = data.token; | |
| document.getElementById('token-result').classList.remove('hidden'); | |
| document.getElementById('token-result').scrollIntoView({ behavior: 'smooth' }); | |
| // Update expiration time if provided by server | |
| if (data.expiresAt) { | |
| document.querySelector('#token-result span').textContent = | |
| new Date(data.expiresAt).toLocaleString(); | |
| } | |
| } catch (error) { | |
| console.error('Error:', error); | |
| alert(error.message || 'An error occurred during token generation'); | |
| } finally { | |
| btn.disabled = false; | |
| btn.innerHTML = '<i class="fas fa-key mr-2"></i> Generate Tokens'; | |
| } | |
| }); | |
| document.getElementById('copy-btn').addEventListener('click', function() { | |
| const token = document.getElementById('token-display').textContent; | |
| navigator.clipboard.writeText(token).then(function() { | |
| const btn = document.getElementById('copy-btn'); | |
| btn.innerHTML = '<i class="fas fa-check"></i> Copied!'; | |
| setTimeout(function() { | |
| btn.innerHTML = '<i class="fas fa-copy"></i> Copy'; | |
| }, 2000); | |
| }).catch(err => { | |
| console.error('Failed to copy token:', err); | |
| alert('Failed to copy token to clipboard'); | |
| }); | |
| }); | |
| </script> | |
| <p style="border-radius: 8px; text-align: center; font-size: 12px; color: #fff; margin-top: 16px;position: fixed; left: 8px; bottom: 8px; z-index: 10; background: rgba(0, 0, 0, 0.8); padding: 4px 8px;">Made with <img src="https://enzostvs-deepsite.hf.space/logo.svg" alt="DeepSite Logo" style="width: 16px; height: 16px; vertical-align: middle;display:inline-block;margin-right:3px;filter:brightness(0) invert(1);"><a href="https://enzostvs-deepsite.hf.space" style="color: #fff;text-decoration: underline;" target="_blank" >DeepSite</a> - 🧬 <a href="https://enzostvs-deepsite.hf.space?remix=HunterOfAuroras/token" style="color: #fff;text-decoration: underline;" target="_blank" >Remix</a></p></body> | |
| </html> |