summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGab <24553253+gabrix73@users.noreply.github.com>2025-10-14 19:57:15 +0200
committerGitHub <noreply@github.com>2025-10-14 19:57:15 +0200
commita5ef23723f55fbe2e393bdcfbcff868eb169c970 (patch)
tree78ee4ce5d77f0a8ad04411fff3c642acdef0dc9e
parent2b6544e9a12bbe171f6653c06cd86d84cb81bb63 (diff)
downloadnofuture-go-memguard-a5ef23723f55fbe2e393bdcfbcff868eb169c970.tar.gz
nofuture-go-memguard-a5ef23723f55fbe2e393bdcfbcff868eb169c970.tar.xz
nofuture-go-memguard-a5ef23723f55fbe2e393bdcfbcff868eb169c970.zip
Update challange.html
-rw-r--r--challange.html62
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');