diff options
| author | Gab <24553253+gabrix73@users.noreply.github.com> | 2025-10-14 19:57:15 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-10-14 19:57:15 +0200 |
| commit | a5ef23723f55fbe2e393bdcfbcff868eb169c970 (patch) | |
| tree | 78ee4ce5d77f0a8ad04411fff3c642acdef0dc9e | |
| parent | 2b6544e9a12bbe171f6653c06cd86d84cb81bb63 (diff) | |
| download | nofuture-go-memguard-a5ef23723f55fbe2e393bdcfbcff868eb169c970.tar.gz nofuture-go-memguard-a5ef23723f55fbe2e393bdcfbcff868eb169c970.tar.xz nofuture-go-memguard-a5ef23723f55fbe2e393bdcfbcff868eb169c970.zip | |
Update challange.html
| -rw-r--r-- | challange.html | 62 |
1 files changed, 31 insertions, 31 deletions
diff --git a/challange.html b/challange.html index 2c1354e..1e4f4a5 100644 --- a/challange.html +++ b/challange.html @@ -4,10 +4,10 @@ <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>NoFuture Security Challenge</title> - + <!-- JSDelivr Font Awesome alternative --> <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free@6.4.0/css/all.min.css"> - + <style> body { font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; @@ -256,11 +256,11 @@ .header h1 { font-size: 2rem; } - + .challenge-grid { grid-template-columns: 1fr; } - + .challenge-buttons { grid-template-columns: 1fr; } @@ -340,12 +340,12 @@ <h3>Challenge Statistics</h3> <p>Attempts: <span id="totalAttempts">0</span> | Success Rate: <strong style="color: #ff4444;">0%</strong> | Protection Status: <strong style="color: #4CAF50;">UNBREACHABLE</strong></p> </div> - + <p style="text-align: center; font-size: 1.1rem; margin-bottom: 2rem;"> - We're so confident in our memguard protection that we challenge you to try breaking it. + We're so confident in our memguard protection that we challenge you to try breaking it. <strong>Even with root privileges, you cannot access protected conversations!</strong> </p> - + <div class="challenge-buttons"> <button class="challenge-btn" onclick="challengeSecurity('root_access')"> 🔴 Challenge Root Access @@ -372,7 +372,7 @@ <div style="font-size: 0.8em; opacity: 0.8;">Try to find data in swap</div> </button> </div> - + <div class="results-panel" id="challengeResults"> <div class="log-entry">[READY] Security challenge initialized - all attack vectors monitored</div> <div class="log-info">[INFO] Memguard protection active - try to break through!</div> @@ -385,9 +385,9 @@ <p><strong>Results:</strong> All attempts blocked by memguard protection!</p> <p><em>Even with root privileges, your conversations remain completely inaccessible.</em></p> <p style="margin-top: 1rem; opacity: 0.7;"> - <i class="fab fa-github"></i> - <a href="https://github.com/yourusername/nofuture" style="color: #4ecdc4; text-decoration: none;"> - View source code on GitHub + <i class="fab fa-github"></i> + <a href="#" style="color: #4ecdc4; text-decoration: none;"> + NoFuture-Memguard-PQ v0.5.0 </a> </p> </div> @@ -396,7 +396,7 @@ // API endpoints const API_SECURITY_DEMO = "/api/security_demo"; const API_SECURITY_CHALLENGE = "/api/security_challenge"; - + let totalAttempts = 0; let successfulBreaches = 0; @@ -405,23 +405,23 @@ try { const response = await fetch(API_SECURITY_DEMO); const data = await response.json(); - + // Update status indicators document.getElementById('memguardStatus').textContent = data.memguard_status; - document.getElementById('memguardStatus').className = + document.getElementById('memguardStatus').className = data.memguard_status === 'ACTIVE' ? 'metric-value' : 'metric-value blocked'; - + document.getElementById('protectedPages').textContent = data.protected_pages; document.getElementById('lockedMemory').textContent = data.locked_memory_kb; document.getElementById('blockedAttempts').textContent = data.access_attempts_blocked; - + // Display any live test results if (data.live_demo_results && data.live_demo_results.length > 0) { data.live_demo_results.forEach(result => { addLogEntry(`[${result.timestamp}] ${result.test_name}: ${result.result}`, 'log-info'); }); } - + } catch (error) { console.error('Failed to load security data:', error); addLogEntry('[ERROR] Failed to connect to security monitoring system', 'log-error'); @@ -432,12 +432,12 @@ async function challengeSecurity(testType) { totalAttempts++; updateStats(); - + addLogEntry(`[CHALLENGE] Launching ${testType.replace('_', ' ')} attack...`, 'log-warning'); - + // Add some dramatic delay await new Promise(resolve => setTimeout(resolve, 1000)); - + try { const response = await fetch(API_SECURITY_CHALLENGE, { method: 'POST', @@ -446,13 +446,13 @@ }, body: JSON.stringify({ test_type: testType }), }); - + const result = await response.json(); - + // Display result with dramatic effect addLogEntry(`[${result.timestamp}] ${result.test_name}: ${result.result}`, 'log-result'); addLogEntry(`[DETAILS] ${result.details}`, 'log-details'); - + if (result.status === 'BLOCKED') { addLogEntry(`[SECURITY] Attack vector neutralized - protection holding strong`, 'log-info'); } else if (result.status === 'WARNING') { @@ -462,11 +462,11 @@ addLogEntry(`[CRITICAL] Protection compromised - this should never happen!`, 'log-error'); successfulBreaches++; } - + // Refresh data setTimeout(loadSecurityData, 500); updateStats(); - + } catch (error) { addLogEntry(`[ERROR] Challenge failed: ${error.message}`, 'log-error'); } @@ -478,10 +478,10 @@ const entry = document.createElement('div'); entry.className = className; entry.textContent = message; - + log.appendChild(entry); log.scrollTop = log.scrollHeight; - + // Keep only last 25 entries if (log.children.length > 25) { log.removeChild(log.firstChild); @@ -492,11 +492,11 @@ function updateStats() { const successRate = totalAttempts > 0 ? ((successfulBreaches / totalAttempts) * 100).toFixed(1) : 0; document.getElementById('totalAttempts').textContent = totalAttempts; - + // Update success rate color const rateElement = document.querySelector('#totalAttempts').parentNode; if (successRate > 0) { - rateElement.innerHTML = rateElement.innerHTML.replace(/Success Rate: <strong[^>]*>.*?<\/strong>/, + rateElement.innerHTML = rateElement.innerHTML.replace(/Success Rate: <strong[^>]*>.*?<\/strong>/, `Success Rate: <strong style="color: #ffaa00;">${successRate}%</strong>`); } } @@ -504,10 +504,10 @@ // Initialize on page load document.addEventListener('DOMContentLoaded', () => { loadSecurityData(); - + // Refresh every 10 seconds setInterval(loadSecurityData, 10000); - + // Add some initial flair setTimeout(() => { addLogEntry('[SYSTEM] All defense mechanisms online and operational', 'log-info'); |
