UNPKG

aimless-security

Version:

Enhanced Runtime Application Self-Protection (RASP) and API Fuzzing Engine with advanced threat detection, behavioral analysis, and intelligent response scoring for Node.js applications

183 lines (161 loc) 4.56 kB
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Security Check - Aimless Security</title> <style> * { margin: 0; padding: 0; box-sizing: border-box; } body { margin: 0; padding: 0; overflow: hidden; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif; } #aimless-loading { position: fixed; top: 0; left: 0; width: 100%; height: 100vh; background: linear-gradient(135deg, #1a1a1a 0%, #2d2d2d 100%); display: flex; justify-content: center; align-items: center; z-index: 999999; } #aimless-loading.fade-out { animation: fadeOut 0.5s ease-out forwards; } .aimless-container { text-align: center; color: #ffffff; padding: 20px; } .aimless-logo { width: 200px; height: 200px; margin: 0 auto; animation: pulse 1.5s ease-in-out infinite; } .aimless-logo img { width: 100%; height: 100%; object-fit: contain; filter: drop-shadow(0 0 20px rgba(102, 126, 234, 0.3)); } .aimless-message { font-size: 24px; margin-top: 30px; font-weight: 500; color: #e0e0e0; letter-spacing: 0.5px; } .aimless-spinner { margin: 30px auto; width: 50px; height: 50px; border: 4px solid #333; border-top-color: #667eea; border-radius: 50%; animation: spin 1s linear infinite; } .aimless-powered { margin-top: 30px; font-size: 14px; color: #888; letter-spacing: 1px; } .aimless-version { margin-top: 10px; font-size: 12px; color: #666; } @keyframes spin { to { transform: rotate(360deg); } } @keyframes pulse { 0%, 100% { transform: scale(1); opacity: 1; } 50% { transform: scale(1.05); opacity: 0.9; } } @keyframes fadeOut { to { opacity: 0; } } /* Mobile responsive */ @media (max-width: 768px) { .aimless-logo { width: 150px; height: 150px; } .aimless-message { font-size: 18px; margin-top: 20px; } .aimless-spinner { width: 40px; height: 40px; margin: 20px auto; } } </style> </head> <body> <div id="aimless-loading"> <div class="aimless-container"> <div class="aimless-logo"> <img src="https://jsdimages.netlify.app/aimless-security-trans-logo.png" alt="Aimless Security" /> </div> <div class="aimless-message" id="loading-message">Checking security...</div> <div class="aimless-spinner"></div> <div class="aimless-powered">Protected by Aimless Security</div> <div class="aimless-version">v1.3.4</div> </div> </div> <script> // Get parameters from URL const params = new URLSearchParams(window.location.search); const message = params.get('message') || 'Checking security...'; const duration = parseInt(params.get('duration')) || 1000; const redirect = params.get('redirect') || document.referrer || '/'; // Set custom message document.getElementById('loading-message').textContent = message; // Auto-redirect after duration setTimeout(function() { var loading = document.getElementById('aimless-loading'); loading.classList.add('fade-out'); setTimeout(function() { // If opener exists (opened in new window), close and reload parent if (window.opener) { window.opener.location.reload(); window.close(); } else { // Otherwise redirect to the specified URL window.location.href = redirect; } }, 500); }, duration); // Allow parent window to communicate window.addEventListener('message', function(event) { if (event.data.action === 'complete') { var loading = document.getElementById('aimless-loading'); loading.classList.add('fade-out'); setTimeout(function() { if (event.data.redirect) { window.location.href = event.data.redirect; } }, 500); } }); </script> </body> </html>