Spaces:
Running
Running
🐳 13/02 - 03:01 - Decrypt network.
Browse files- index.html +132 -14
index.html
CHANGED
|
@@ -338,36 +338,49 @@
|
|
| 338 |
<div class="border border-green-500 p-4 rounded-lg">
|
| 339 |
<div class="flex justify-between items-center border-b border-green-500 pb-2 mb-3">
|
| 340 |
<h2 class="text-xl font-bold"><i class="fas fa-satellite mr-2"></i> SIGNAL INTERCEPTS</h2>
|
| 341 |
-
<span class="text-xs bg-green-900 px-2 py-1 rounded">
|
| 342 |
</div>
|
| 343 |
-
<div class="space-y-3">
|
| 344 |
-
<div class="bg-green-900 bg-opacity-30 p-2 rounded">
|
| 345 |
<div class="flex justify-between items-center text-xs mb-1">
|
| 346 |
-
<span>SOURCE: ZETA RETICULI</span>
|
| 347 |
<span>1947-06-24</span>
|
| 348 |
</div>
|
| 349 |
-
<p class="text-sm font-mono">...WARNING...MONITOR...HUMAN...DEVELOPMENT...</p>
|
| 350 |
</div>
|
| 351 |
-
<div class="bg-green-900 bg-opacity-30 p-2 rounded">
|
| 352 |
<div class="flex justify-between items-center text-xs mb-1">
|
| 353 |
-
<span>SOURCE: UNKNOWN</span>
|
| 354 |
<span>1989-11-11</span>
|
| 355 |
</div>
|
| 356 |
-
<p class="text-sm font-mono">...TIMELINE...DIVERGENCE...CRITICAL...PREPARE...</p>
|
| 357 |
</div>
|
| 358 |
-
<div class="bg-green-900 bg-opacity-30 p-2 rounded">
|
| 359 |
<div class="flex justify-between items-center text-xs mb-1">
|
| 360 |
-
<span>SOURCE: ORION</span>
|
| 361 |
<span>2001-09-10</span>
|
| 362 |
</div>
|
| 363 |
-
<p class="text-sm font-mono">...EVENT...IMMINENT...CONTROL...MAINTAIN...</p>
|
| 364 |
</div>
|
| 365 |
</div>
|
| 366 |
-
<div class="mt-3">
|
| 367 |
-
<button id="analyze-btn" class="text-xs bg-green-900 hover:bg-green-800 text-green-300 px-3 py-1 rounded flex items-center">
|
| 368 |
-
<i class="fas fa-brain mr-1"></i>
|
|
|
|
|
|
|
|
|
|
| 369 |
</button>
|
| 370 |
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 371 |
</div>
|
| 372 |
|
| 373 |
<!-- Clearance Upgrade -->
|
|
@@ -581,6 +594,111 @@
|
|
| 581 |
}, 800);
|
| 582 |
});
|
| 583 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 584 |
// Terminal-like behavior for access code input
|
| 585 |
accessCode.addEventListener('keydown', function(e) {
|
| 586 |
if (e.key === 'Enter') {
|
|
|
|
| 338 |
<div class="border border-green-500 p-4 rounded-lg">
|
| 339 |
<div class="flex justify-between items-center border-b border-green-500 pb-2 mb-3">
|
| 340 |
<h2 class="text-xl font-bold"><i class="fas fa-satellite mr-2"></i> SIGNAL INTERCEPTS</h2>
|
| 341 |
+
<span id="network-status" class="text-xs bg-green-900 px-2 py-1 rounded">ENCRYPTED</span>
|
| 342 |
</div>
|
| 343 |
+
<div class="space-y-3" id="signal-container">
|
| 344 |
+
<div class="bg-green-900 bg-opacity-30 p-2 rounded signal-message" data-encrypted="XJ9#K2$M7@P3Q8Z4L1N6" data-decrypted="CONTACT BREACHED - QUARANTINE PROTOCOLS ACTIVE">
|
| 345 |
<div class="flex justify-between items-center text-xs mb-1">
|
| 346 |
+
<span class="text-yellow-400">SOURCE: ZETA RETICULI</span>
|
| 347 |
<span>1947-06-24</span>
|
| 348 |
</div>
|
| 349 |
+
<p class="text-sm font-mono encrypted-text">...WARNING...MONITOR...HUMAN...DEVELOPMENT...</p>
|
| 350 |
</div>
|
| 351 |
+
<div class="bg-green-900 bg-opacity-30 p-2 rounded signal-message" data-encrypted="V5R2#T9@Y6U3I8O1P4" data-decrypted="ASCENSION WAVE DETECTED - PREPARE COLLECTIVE CONSCIOUSNESS SHIFT">
|
| 352 |
<div class="flex justify-between items-center text-xs mb-1">
|
| 353 |
+
<span class="text-red-400">SOURCE: UNKNOWN</span>
|
| 354 |
<span>1989-11-11</span>
|
| 355 |
</div>
|
| 356 |
+
<p class="text-sm font-mono encrypted-text">...TIMELINE...DIVERGENCE...CRITICAL...PREPARE...</p>
|
| 357 |
</div>
|
| 358 |
+
<div class="bg-green-900 bg-opacity-30 p-2 rounded signal-message" data-encrypted="B7N3@M8#K2$J5H9G4" data-decrypted="GRID ACTIVATION COMPLETE - AWAKENING SEQUENCE INITIATED">
|
| 359 |
<div class="flex justify-between items-center text-xs mb-1">
|
| 360 |
+
<span class="text-blue-400">SOURCE: ORION</span>
|
| 361 |
<span>2001-09-10</span>
|
| 362 |
</div>
|
| 363 |
+
<p class="text-sm font-mono encrypted-text">...EVENT...IMMINENT...CONTROL...MAINTAIN...</p>
|
| 364 |
</div>
|
| 365 |
</div>
|
| 366 |
+
<div class="mt-3 grid grid-cols-2 gap-2">
|
| 367 |
+
<button id="analyze-btn" class="text-xs bg-green-900 hover:bg-green-800 text-green-300 px-3 py-1 rounded flex items-center justify-center">
|
| 368 |
+
<i class="fas fa-brain mr-1"></i> LINGUISTIC ANALYSIS
|
| 369 |
+
</button>
|
| 370 |
+
<button id="decrypt-network-btn" class="text-xs bg-red-900 hover:bg-red-800 text-red-300 px-3 py-1 rounded flex items-center justify-center animate-pulse">
|
| 371 |
+
<i class="fas fa-unlock-alt mr-1"></i> DECRYPT NETWORK
|
| 372 |
</button>
|
| 373 |
</div>
|
| 374 |
+
<div id="decrypt-progress-container" class="mt-2 hidden">
|
| 375 |
+
<div class="flex justify-between text-xs mb-1">
|
| 376 |
+
<span>BRUTE FORCE DECRYPTION</span>
|
| 377 |
+
<span id="decrypt-percentage">0%</span>
|
| 378 |
+
</div>
|
| 379 |
+
<div class="w-full bg-gray-800 h-1">
|
| 380 |
+
<div id="network-decrypt-bar" class="bg-red-500 h-1 transition-all duration-100" style="width: 0%"></div>
|
| 381 |
+
</div>
|
| 382 |
+
<div id="decrypt-log" class="text-xs font-mono mt-1 text-red-400 h-4 overflow-hidden"></div>
|
| 383 |
+
</div>
|
| 384 |
</div>
|
| 385 |
|
| 386 |
<!-- Clearance Upgrade -->
|
|
|
|
| 594 |
}, 800);
|
| 595 |
});
|
| 596 |
|
| 597 |
+
// Network Decryption Feature
|
| 598 |
+
const decryptNetworkBtn = document.getElementById('decrypt-network-btn');
|
| 599 |
+
const decryptProgressContainer = document.getElementById('decrypt-progress-container');
|
| 600 |
+
const networkDecryptBar = document.getElementById('network-decrypt-bar');
|
| 601 |
+
const decryptPercentage = document.getElementById('decrypt-percentage');
|
| 602 |
+
const decryptLog = document.getElementById('decrypt-log');
|
| 603 |
+
const signalMessages = document.querySelectorAll('.signal-message');
|
| 604 |
+
const networkStatus = document.getElementById('network-status');
|
| 605 |
+
let isDecrypted = false;
|
| 606 |
+
|
| 607 |
+
const hexChars = '0123456789ABCDEF@#$%&*';
|
| 608 |
+
const decryptLogs = [
|
| 609 |
+
'Initializing quantum decryption...',
|
| 610 |
+
'Bypassing firewall protocols...',
|
| 611 |
+
'Accessing mainframe...',
|
| 612 |
+
'Cracking RSA-4096 encryption...',
|
| 613 |
+
'Packet analysis in progress...',
|
| 614 |
+
'Decoding alien cypher...',
|
| 615 |
+
'Retrieving secured data packets...',
|
| 616 |
+
'Finalizing decryption sequence...'
|
| 617 |
+
];
|
| 618 |
+
|
| 619 |
+
decryptNetworkBtn.addEventListener('click', function() {
|
| 620 |
+
if (isDecrypted) {
|
| 621 |
+
// Re-encrypt
|
| 622 |
+
isDecrypted = false;
|
| 623 |
+
signalMessages.forEach(msg => {
|
| 624 |
+
const encryptedText = msg.querySelector('.encrypted-text');
|
| 625 |
+
const originalEncrypted = msg.getAttribute('data-encrypted');
|
| 626 |
+
encryptedText.textContent = '...' + originalEncrypted.substring(0, 20) + '...';
|
| 627 |
+
encryptedText.classList.remove('text-green-400', 'font-bold');
|
| 628 |
+
encryptedText.classList.add('font-mono');
|
| 629 |
+
});
|
| 630 |
+
decryptNetworkBtn.innerHTML = '<i class="fas fa-unlock-alt mr-1"></i> DECRYPT NETWORK';
|
| 631 |
+
decryptNetworkBtn.classList.remove('bg-green-900', 'text-green-300');
|
| 632 |
+
decryptNetworkBtn.classList.add('bg-red-900', 'text-red-300', 'animate-pulse');
|
| 633 |
+
networkStatus.textContent = 'ENCRYPTED';
|
| 634 |
+
networkStatus.classList.remove('bg-blue-900', 'text-blue-300');
|
| 635 |
+
networkStatus.classList.add('bg-green-900');
|
| 636 |
+
decryptProgressContainer.classList.add('hidden');
|
| 637 |
+
return;
|
| 638 |
+
}
|
| 639 |
+
|
| 640 |
+
// Start decryption
|
| 641 |
+
decryptProgressContainer.classList.remove('hidden');
|
| 642 |
+
decryptNetworkBtn.disabled = true;
|
| 643 |
+
let progress = 0;
|
| 644 |
+
let logIndex = 0;
|
| 645 |
+
|
| 646 |
+
const interval = setInterval(() => {
|
| 647 |
+
progress += Math.random() * 15;
|
| 648 |
+
if (progress > 100) progress = 100;
|
| 649 |
+
|
| 650 |
+
networkDecryptBar.style.width = progress + '%';
|
| 651 |
+
decryptPercentage.textContent = Math.floor(progress) + '%';
|
| 652 |
+
|
| 653 |
+
if (progress % 15 < 5 && logIndex < decryptLogs.length) {
|
| 654 |
+
decryptLog.textContent = '> ' + decryptLogs[logIndex];
|
| 655 |
+
logIndex++;
|
| 656 |
+
}
|
| 657 |
+
|
| 658 |
+
// Scramble effect on messages
|
| 659 |
+
signalMessages.forEach(msg => {
|
| 660 |
+
const text = msg.querySelector('.encrypted-text');
|
| 661 |
+
const scrambled = Array(30).fill(0).map(() =>
|
| 662 |
+
hexChars[Math.floor(Math.random() * hexChars.length)]
|
| 663 |
+
).join('');
|
| 664 |
+
text.textContent = scrambled;
|
| 665 |
+
});
|
| 666 |
+
|
| 667 |
+
if (progress >= 100) {
|
| 668 |
+
clearInterval(interval);
|
| 669 |
+
completeDecryption();
|
| 670 |
+
}
|
| 671 |
+
}, 200);
|
| 672 |
+
});
|
| 673 |
+
|
| 674 |
+
function completeDecryption() {
|
| 675 |
+
isDecrypted = true;
|
| 676 |
+
decryptLog.textContent = '> DECRYPTION COMPLETE - ACCESS GRANTED';
|
| 677 |
+
decryptLog.classList.remove('text-red-400');
|
| 678 |
+
decryptLog.classList.add('text-green-400');
|
| 679 |
+
|
| 680 |
+
signalMessages.forEach((msg, index) => {
|
| 681 |
+
setTimeout(() => {
|
| 682 |
+
const decryptedText = msg.getAttribute('data-decrypted');
|
| 683 |
+
const textElement = msg.querySelector('.encrypted-text');
|
| 684 |
+
textElement.textContent = decryptedText;
|
| 685 |
+
textElement.classList.remove('font-mono');
|
| 686 |
+
textElement.classList.add('text-green-400', 'font-bold', 'glitch');
|
| 687 |
+
textElement.setAttribute('data-text', decryptedText);
|
| 688 |
+
}, index * 300);
|
| 689 |
+
});
|
| 690 |
+
|
| 691 |
+
setTimeout(() => {
|
| 692 |
+
decryptNetworkBtn.disabled = false;
|
| 693 |
+
decryptNetworkBtn.innerHTML = '<i class="fas fa-lock mr-1"></i> RE-ENCRYPT';
|
| 694 |
+
decryptNetworkBtn.classList.remove('bg-red-900', 'text-red-300', 'animate-pulse');
|
| 695 |
+
decryptNetworkBtn.classList.add('bg-green-900', 'text-green-300');
|
| 696 |
+
networkStatus.textContent = 'DECRYPTED';
|
| 697 |
+
networkStatus.classList.remove('bg-green-900');
|
| 698 |
+
networkStatus.classList.add('bg-blue-900', 'text-blue-300');
|
| 699 |
+
}, 1000);
|
| 700 |
+
}
|
| 701 |
+
|
| 702 |
// Terminal-like behavior for access code input
|
| 703 |
accessCode.addEventListener('keydown', function(e) {
|
| 704 |
if (e.key === 'Enter') {
|