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
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>