ipv6-explorer-deluxe / index.html
memarzade-dev's picture
import React, { useState, useRef } from "react";
1d10dad verified
Raw
History Blame Contribute Delete
8.58 kB
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>IPv6 Explorer Deluxe</title>
<script src="https://cdn.tailwindcss.com"></script>
<script src="https://unpkg.com/feather-icons"></script>
<script src="https://cdn.jsdelivr.net/npm/vanta@latest/dist/vanta.net.min.js"></script>
<style>
@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@300;400;500;600;700&display=swap');
body {
font-family: 'Space Grotesk', sans-serif;
}
.glass-card {
backdrop-filter: blur(16px) saturate(180%);
-webkit-backdrop-filter: blur(16px) saturate(180%);
background-color: rgba(17, 25, 40, 0.75);
border-radius: 12px;
border: 1px solid rgba(255, 255, 255, 0.125);
}
</style>
</head>
<body class="bg-gray-900 text-white min-h-screen">
<div id="vanta-bg" class="fixed inset-0 -z-10"></div>
<header class="container mx-auto px-4 py-8">
<div class="flex justify-between items-center">
<div class="flex items-center space-x-2">
<i data-feather="globe" class="w-8 h-8 text-indigo-400"></i>
<h1 class="text-2xl font-bold bg-clip-text text-transparent bg-gradient-to-r from-indigo-400 to-purple-500">IPv6 Explorer Deluxe</h1>
</div>
<nav>
<ul class="flex space-x-6">
<li><a href="index.html" class="hover:text-indigo-300 transition">Home</a></li>
<li><a href="tester.html" class="hover:text-indigo-300 transition">Tester</a></li>
<li><a href="about.html" class="hover:text-indigo-300 transition">About</a></li>
</ul>
</nav>
</div>
</header>
<main class="container mx-auto px-4 py-12">
<section class="max-w-4xl mx-auto text-center mb-16">
<h2 class="text-4xl md:text-5xl font-bold mb-6">Next-Gen Network Testing</h2>
<p class="text-xl text-gray-300 mb-8">Discover your network's IPv6 readiness with our advanced testing platform</p>
<button class="bg-gradient-to-r from-indigo-500 to-purple-600 hover:from-indigo-600 hover:to-purple-700 text-white font-semibold py-3 px-8 rounded-full shadow-lg transition-all transform hover:scale-105">
Run IPv6 Test
</button>
</section>
<section class="grid md:grid-cols-3 gap-8 mb-16">
<div class="glass-card p-6">
<div class="w-12 h-12 bg-indigo-500 rounded-lg flex items-center justify-center mb-4">
<i data-feather="zap" class="w-6 h-6"></i>
</div>
<h3 class="text-xl font-semibold mb-3">Lightning Fast</h3>
<p class="text-gray-300">Run comprehensive IPv6 tests in milliseconds with our optimized algorithms.</p>
</div>
<div class="glass-card p-6">
<div class="w-12 h-12 bg-purple-500 rounded-lg flex items-center justify-center mb-4">
<i data-feather="shield" class="w-6 h-6"></i>
</div>
<h3 class="text-xl font-semibold mb-3">Secure</h3>
<p class="text-gray-300">All tests run client-side with no data collection or privacy concerns.</p>
</div>
<div class="glass-card p-6">
<div class="w-12 h-12 bg-pink-500 rounded-lg flex items-center justify-center mb-4">
<i data-feather="bar-chart-2" class="w-6 h-6"></i>
</div>
<h3 class="text-xl font-semibold mb-3">Detailed Analytics</h3>
<p class="text-gray-300">Get comprehensive reports on your network's IPv6 capabilities.</p>
</div>
</section>
<section class="glass-card p-8 max-w-4xl mx-auto">
<h2 class="text-2xl font-bold mb-6">Run IPv6 Connectivity Test</h2>
<div class="space-y-4">
<div class="flex items-center">
<div class="w-8 h-8 rounded-full bg-indigo-500 flex items-center justify-center mr-4">
<span class="text-white font-bold">1</span>
</div>
<p class="text-gray-300">Click the button below to start the IPv6 connectivity test</p>
</div>
<div class="flex items-center">
<div class="w-8 h-8 rounded-full bg-indigo-500 flex items-center justify-center mr-4">
<span class="text-white font-bold">2</span>
</div>
<p class="text-gray-300">Wait while we test multiple IPv6 connectivity methods</p>
</div>
<div class="flex items-center">
<div class="w-8 h-8 rounded-full bg-indigo-500 flex items-center justify-center mr-4">
<span class="text-white font-bold">3</span>
</div>
<p class="text-gray-300">View your detailed IPv6 test results</p>
</div>
<button id="runTestBtn" class="mt-6 bg-gradient-to-r from-indigo-500 to-purple-600 hover:from-indigo-600 hover:to-purple-700 text-white font-semibold py-3 px-8 rounded-full shadow-lg transition-all transform hover:scale-105 flex items-center">
<i data-feather="play" class="mr-2"></i>
Start IPv6 Test
</button>
</div>
<div id="testResults" class="mt-8 hidden">
<div class="border-t border-gray-700 pt-6">
<h3 class="text-xl font-semibold mb-4">Test Results</h3>
<div class="space-y-4">
<div class="flex justify-between items-center">
<span>DNS IPv6 Detection</span>
<span class="font-mono px-3 py-1 bg-green-900 text-green-300 rounded-full text-sm">Success</span>
</div>
<div class="flex justify-between items-center">
<span>IPv6 Connectivity</span>
<span id="ipv6Status" class="font-mono px-3 py-1 bg-gray-700 text-gray-300 rounded-full text-sm">Testing...</span>
</div>
<div class="flex justify-between items-center">
<span>DNSSEC Validation</span>
<span class="font-mono px-3 py-1 bg-blue-900 text-blue-300 rounded-full text-sm">Enabled</span>
</div>
</div>
</div>
</div>
</section>
</main>
<footer class="container mx-auto px-4 py-8 text-center text-gray-400">
<p>© 2023 IPv6 Explorer Deluxe. All rights reserved.</p>
</footer>
<script>
feather.replace();
// Initialize Vanta.js background
if (window.location.pathname.includes('tester.html')) {
window.location.href = 'tester.html';
}
VANTA.NET({
el: "#vanta-bg",
color: 0x5b21b6,
backgroundColor: 0x111827,
points: 15,
maxDistance: 20,
spacing: 15
});
// Test button functionality
document.getElementById('runTestBtn').addEventListener('click', function() {
const resultsDiv = document.getElementById('testResults');
const statusSpan = document.getElementById('ipv6Status');
// Show loading state
statusSpan.textContent = 'Testing...';
statusSpan.className = 'font-mono px-3 py-1 bg-gray-700 text-gray-300 rounded-full text-sm';
resultsDiv.classList.remove('hidden');
// Simulate test after delay
setTimeout(() => {
// Random result for demo purposes
const isIPv6Available = Math.random() > 0.3;
if (isIPv6Available) {
statusSpan.textContent = 'Available';
statusSpan.className = 'font-mono px-3 py-1 bg-green-900 text-green-300 rounded-full text-sm';
} else {
statusSpan.textContent = 'Not Available';
statusSpan.className = 'font-mono px-3 py-1 bg-red-900 text-red-300 rounded-full text-sm';
}
}, 2000);
});
</script>
</body>
</html>