Spaces:
Running
Running
| <html lang="en" class="dark"> | |
| <head> | |
| <meta charset="UTF-8"> | |
| <meta name="viewport" content="width=device-width, initial-scale=1.0"> | |
| <title>AI Account Creator | SocialBot Dominator Pro</title> | |
| <script src="https://cdn.tailwindcss.com"></script> | |
| <script src="https://unpkg.com/feather-icons"></script> | |
| <script src="https://cdn.jsdelivr.net/npm/vanta@latest/dist/vanta.net.min.js"></script> | |
| <style> | |
| .gradient-text { | |
| background-clip: text; | |
| -webkit-background-clip: text; | |
| color: transparent; | |
| background-image: linear-gradient(90deg, #6366f1, #10b981); | |
| } | |
| .glass-card { | |
| backdrop-filter: blur(16px) saturate(180%); | |
| -webkit-backdrop-filter: blur(16px) saturate(180%); | |
| background-color: rgba(15, 23, 42, 0.75); | |
| border-radius: 12px; | |
| border: 1px solid rgba(255, 255, 255, 0.125); | |
| } | |
| #vanta-bg { | |
| position: fixed; | |
| top: 0; | |
| left: 0; | |
| width: 100%; | |
| height: 100%; | |
| z-index: -1; | |
| } | |
| </style> | |
| </head> | |
| <body class="bg-gray-900 text-gray-100 min-h-screen"> | |
| <div id="vanta-bg"></div> | |
| <div class="container mx-auto px-4 py-12 relative"> | |
| <header class="flex justify-between items-center mb-12"> | |
| <div> | |
| <h1 class="text-3xl font-bold gradient-text">AI Account Creator</h1> | |
| <p class="text-indigo-300 mt-2">Generate human-like social accounts with AI</p> | |
| </div> | |
| <a href="index.html" class="px-4 py-2 bg-gray-800 rounded-lg hover:bg-gray-700 transition flex items-center gap-2"> | |
| <i data-feather="arrow-left"></i> Back | |
| </a> | |
| </header> | |
| <main class="grid grid-cols-1 lg:grid-cols-2 gap-8"> | |
| <!-- Account Creation Form --> | |
| <div class="glass-card p-8"> | |
| <h2 class="text-2xl font-semibold mb-6">New AI Account</h2> | |
| <form id="accountForm" class="space-y-6"> | |
| <div> | |
| <label class="block text-sm font-medium mb-2">Platform</label> | |
| <select name="platform" class="w-full bg-gray-800 border border-gray-700 rounded-lg px-4 py-3"> | |
| <option value="instagram">Instagram</option> | |
| <option value="youtube">YouTube</option> | |
| </select> | |
| </div> | |
| <div> | |
| <label class="block text-sm font-medium mb-2">AI Personality</label> | |
| <select name="personality" class="w-full bg-gray-800 border border-gray-700 rounded-lg px-4 py-3"> | |
| <option value="influencer">Influencer</option> | |
| <option value="brand">Brand</option> | |
| <option value="creator">Content Creator</option> | |
| <option value="random">Random AI</option> | |
| </select> | |
| </div> | |
| <div> | |
| <label class="block text-sm font-medium mb-2">Customization</label> | |
| <div class="space-y-3"> | |
| <label class="flex items-center gap-3"> | |
| <input type="checkbox" name="useProxy" checked class="rounded bg-gray-800 border-gray-700"> | |
| <span>Use AI-Generated Proxy</span> | |
| </label> | |
| <label class="flex items-center gap-3"> | |
| <input type="checkbox" name="humanBehavior" checked class="rounded bg-gray-800 border-gray-700"> | |
| <span>Human-like Behavior Patterns</span> | |
| </label> | |
| <label class="flex items-center gap-3"> | |
| <input type="checkbox" name="autoOptimize" checked class="rounded bg-gray-800 border-gray-700"> | |
| <span>Auto-Optimize Profile</span> | |
| </label> | |
| </div> | |
| </div> | |
| <button type="button" onclick="generateAccount()" class="w-full py-3 bg-indigo-600 rounded-lg hover:bg-indigo-700 transition flex items-center justify-center gap-2 font-medium"> | |
| <i data-feather="cpu"></i> Generate AI Account | |
| </button> | |
| </form> | |
| </div> | |
| <!-- Generated Accounts --> | |
| <div class="glass-card p-8"> | |
| <div class="flex justify-between items-center mb-6"> | |
| <h2 class="text-2xl font-semibold">Generated Accounts</h2> | |
| <div class="text-sm text-indigo-300" id="accountCount">0 accounts</div> | |
| </div> | |
| <div class="space-y-4 max-h-96 overflow-y-auto pr-2" id="accountsList"> | |
| <div class="text-center py-8 text-gray-500" id="noAccounts"> | |
| <i data-feather="user-x" class="w-12 h-12 mx-auto mb-3"></i> | |
| <p>No accounts generated yet</p> | |
| </div> | |
| </div> | |
| <div class="mt-6 grid grid-cols-2 gap-3"> | |
| <button onclick="exportAccounts()" class="py-2 bg-gray-800 rounded-lg hover:bg-gray-700 transition flex items-center justify-center gap-2"> | |
| <i data-feather="download"></i> Export | |
| </button> | |
| <button onclick="clearAccounts()" class="py-2 bg-red-500/20 text-red-400 rounded-lg hover:bg-red-500/30 transition flex items-center justify-center gap-2"> | |
| <i data-feather="trash-2"></i> Clear All | |
| </button> | |
| </div> | |
| </div> | |
| </main> | |
| </div> | |
| <script> | |
| // Initialize Vanta.js background | |
| VANTA.NET({ | |
| el: "#vanta-bg", | |
| mouseControls: true, | |
| touchControls: true, | |
| gyroControls: false, | |
| minHeight: 200.00, | |
| minWidth: 200.00, | |
| scale: 1.00, | |
| scaleMobile: 1.00, | |
| color: 0x6366f1, | |
| backgroundColor: 0x0f172a, | |
| points: 12.00, | |
| maxDistance: 22.00, | |
| spacing: 18.00 | |
| }); | |
| // Initialize feather icons | |
| document.addEventListener('DOMContentLoaded', function() { | |
| feather.replace(); | |
| loadAccounts(); | |
| }); | |
| // Generate realistic AI account | |
| function generateAccount() { | |
| const form = document.getElementById('accountForm'); | |
| const platform = form.platform.value; | |
| const personality = form.personality.value; | |
| const useProxy = form.useProxy.checked; | |
| const humanBehavior = form.humanBehavior.checked; | |
| const autoOptimize = form.autoOptimize.checked; | |
| // Generate realistic data based on personality | |
| const account = createAIAccount(platform, personality, useProxy, humanBehavior, autoOptimize); | |
| // Save to localStorage | |
| const accounts = JSON.parse(localStorage.getItem('aiAccounts') || '[]'); | |
| accounts.push(account); | |
| localStorage.setItem('aiAccounts', JSON.stringify(accounts)); | |
| // Update UI | |
| loadAccounts(); | |
| // Show success | |
| showAccountPopup(account); | |
| } | |
| function createAIAccount(platform, personality, useProxy, humanBehavior, autoOptimize) { | |
| const firstNames = { | |
| influencer: ['Sophia', 'Emma', 'Olivia', 'Ava', 'Isabella', 'Mia'], | |
| brand: ['Tech', 'Global', 'Prime', 'Elite', 'Alpha', 'Peak'], | |
| creator: ['Alex', 'Taylor', 'Jordan', 'Casey', 'Riley', 'Jamie'], | |
| random: ['Alex', 'Sophia', 'Tech', 'Jordan', 'Global', 'Mia'] | |
| }; | |
| const lastNames = { | |
| influencer: ['Smith', 'Johnson', 'Williams', 'Brown', 'Jones', 'Garcia'], | |
| brand: ['Tech', 'Solutions', 'Labs', 'Global', 'Network', 'Media'], | |
| creator: ['Smith', 'Johnson', 'Williams', 'Brown', 'Jones', 'Garcia'], | |
| random: ['Smith', 'Tech', 'Johnson', 'Solutions', 'Williams', 'Media'] | |
| }; | |
| const domains = ['gmail.com', 'yahoo.com', 'outlook.com', 'protonmail.com']; | |
| const firstName = firstNames[personality][Math.floor(Math.random() * firstNames[personality].length)]; | |
| const lastName = lastNames[personality][Math.floor(Math.random() * lastNames[personality].length)]; | |
| let username; | |
| if (personality === 'brand') { | |
| username = `${firstName}${lastName}${Math.floor(Math.random() * 100)}`; | |
| } else { | |
| username = `${firstName.toLowerCase()}${lastName.toLowerCase()}${Math.floor(Math.random() * 1000)}`; | |
| } | |
| const email = `${username}@${domains[Math.floor(Math.random() * domains.length)]}`; | |
| const password = generatePassword(12); | |
| const proxy = useProxy ? generateProxy() : 'None'; | |
| return { | |
| id: Date.now(), | |
| platform, | |
| personality, | |
| username, | |
| email, | |
| password, | |
| proxy, | |
| humanBehavior, | |
| autoOptimize, | |
| created: new Date().toISOString(), | |
| status: 'Active' | |
| }; | |
| } | |
| function generatePassword(length) { | |
| const chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!@#$%^&*'; | |
| let password = ''; | |
| for (let i = 0; i < length; i++) { | |
| password += chars.charAt(Math.floor(Math.random() * chars.length)); | |
| } | |
| return password; | |
| } | |
| function generateProxy() { | |
| const types = ['HTTP', 'SOCKS4', 'SOCKS5']; | |
| return `${types[Math.floor(Math.random() * types.length)]}://${Math.floor(Math.random() * 255)}.${Math.floor(Math.random() * 255)}.${Math.floor(Math.random() * 255)}.${Math.floor(Math.random() * 255)}:${Math.floor(Math.random() * 65535)}`; | |
| } | |
| function loadAccounts() { | |
| const accounts = JSON.parse(localStorage.getItem('aiAccounts') || '[]'); | |
| const accountsList = document.getElementById('accountsList'); | |
| const noAccounts = document.getElementById('noAccounts'); | |
| const accountCount = document.getElementById('accountCount'); | |
| accountCount.textContent = `${accounts.length} ${accounts.length === 1 ? 'account' : 'accounts'}`; | |
| if (accounts.length === 0) { | |
| noAccounts.style.display = 'block'; | |
| accountsList.innerHTML = ''; | |
| return; | |
| } | |
| noAccounts.style.display = 'none'; | |
| accountsList.innerHTML = accounts.map(account => ` | |
| <div class="bg-gray-800/50 border border-gray-700 rounded-lg p-4 hover:border-indigo-500 transition"> | |
| <div class="flex justify-between items-start mb-2"> | |
| <div> | |
| <span class="font-medium">${account.platform.charAt(0).toUpperCase() + account.platform.slice(1)}</span> | |
| <span class="text-xs bg-indigo-500/20 text-indigo-300 px-2 py-1 rounded-full ml-2">${account.personality}</span> | |
| </div> | |
| <span class="text-xs text-gray-400">${new Date(account.created).toLocaleString()}</span> | |
| </div> | |
| <div class="grid grid-cols-1 md:grid-cols-2 gap-2 text-sm"> | |
| <div><span class="text-gray-400">User:</span> ${account.username}</div> | |
| <div><span class="text-gray-400">Email:</span> ${account.email}</div> | |
| <div><span class="text-gray-400">Pass:</span> ${account.password.replace(/./g, '•')}</div> | |
| <div><span class="text-gray-400">Proxy:</span> ${account.proxy}</div> | |
| </div> | |
| </div> | |
| `).reverse().join(''); | |
| feather.replace(); | |
| } | |
| function showAccountPopup(account) { | |
| const popup = document.createElement('div'); | |
| popup.className = 'fixed inset-0 bg-black/80 flex items-center justify-center z-50'; | |
| popup.innerHTML = ` | |
| <div class="glass-card p-8 max-w-md w-full mx-4"> | |
| <div class="text-center mb-6"> | |
| <div class="w-16 h-16 bg-indigo-500/10 rounded-full flex items-center justify-center mx-auto mb-4"> | |
| <i data-feather="check-circle" class="text-indigo-400 w-8 h-8"></i> | |
| </div> | |
| <h3 class="text-xl font-semibold">AI Account Created!</h3> | |
| <p class="text-gray-400 mt-2">Your ${account.platform} account is ready</p> | |
| </div> | |
| <div class="space-y-3 bg-gray-800/50 rounded-lg p-4 mb-6"> | |
| <div class="flex justify-between"> | |
| <span class="text-gray-400">Username:</span> | |
| <span>${account.username}</span> | |
| </div> | |
| <div class="flex justify-between"> | |
| <span class="text-gray-400">Password:</span> | |
| <span>${account.password}</span> | |
| </div> | |
| <div class="flex justify-between"> | |
| <span class="text-gray-400">Proxy:</span> | |
| <span>${account.proxy}</span> | |
| </div> | |
| </div> | |
| <button onclick="document.body.removeChild(this.parentNode.parentNode)" class="w-full py-2 bg-indigo-600 rounded-lg hover:bg-indigo-700 transition"> | |
| Continue | |
| </button> | |
| </div> | |
| `; | |
| document.body.appendChild(popup); | |
| feather.replace(); | |
| } | |
| function exportAccounts() { | |
| const accounts = JSON.parse(localStorage.getItem('aiAccounts') || '[]'); | |
| if (accounts.length === 0) { | |
| alert('No accounts to export'); | |
| return; | |
| } | |
| let csv = 'Platform,Username,Email,Password,Proxy,Personality,Created\n'; | |
| accounts.forEach(account => { | |
| csv += `${account.platform},${account.username},${account.email},${account.password},${account.proxy},${account.personality},${account.created}\n`; | |
| }); | |
| const blob = new Blob([csv], { type: 'text/csv' }); | |
| const url = URL.createObjectURL(blob); | |
| const a = document.createElement('a'); | |
| a.href = url; | |
| a.download = `socialbot-accounts-${new Date().toISOString().split('T')[0]}.csv`; | |
| document.body.appendChild(a); | |
| a.click(); | |
| document.body.removeChild(a); | |
| URL.revokeObjectURL(url); | |
| } | |
| function clearAccounts() { | |
| if (confirm('Are you sure you want to delete all generated accounts?')) { | |
| localStorage.removeItem('aiAccounts'); | |
| loadAccounts(); | |
| } | |
| } | |
| </script> | |
| </body> | |
| </html> |