gpu-key-hunter / index.html
flitrx's picture
Generated Code for: please familiarize yourself with the following github repo: https://github.com/albertobsd/keyhunt and try to analyze the files to understand what the program does and how it works, get a good understanding of it. After you got a good grasp on its function and what it does, i need to make the same functioning program but one that utilizes GPU instead of CPU to accelerate its capabilities. i want to be able to use it on my arch linux computer with Nvidia 4070 gpu.
f420f65 verified
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>GPU Key Hunter - High Performance Cryptocurrency Private Key Scanner</title>
<link rel="icon" type="image/x-icon" href="data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 100 100%22><text y=%22.9em%22 font-size=%2290%22>πŸ”</text></svg>">
<script src="https://cdn.tailwindcss.com"></script>
<script src="https://cdn.jsdelivr.net/npm/feather-icons/dist/feather.min.js"></script>
<script src="https://unpkg.com/feather-icons"></script>
<script src="https://cdn.jsdelivr.net/npm/chart.js"></script>
<link href="https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;700&family=Inter:wght@300;400;500;600;700&display=swap" rel="stylesheet">
<style>
body {
font-family: 'Inter', sans-serif;
background: linear-gradient(135deg, #0f172a 0%, #1e293b 100%);
color: #e2e8f0;
min-height: 100vh;
}
.mono-font {
font-family: 'JetBrains Mono', monospace;
}
.card-gradient {
background: linear-gradient(145deg, rgba(30, 41, 59, 0.7) 0%, rgba(15, 23, 42, 0.9) 100%);
backdrop-filter: blur(10px);
border: 1px solid rgba(100, 116, 139, 0.2);
}
.terminal-bg {
background: #0f172a;
border: 1px solid rgba(100, 116, 139, 0.3);
}
.glow-text {
text-shadow: 0 0 10px rgba(96, 165, 250, 0.5);
}
.gpu-gradient {
background: linear-gradient(90deg, #3b82f6 0%, #8b5cf6 100%);
}
.progress-gradient {
background: linear-gradient(90deg, #10b981 0%, #3b82f6 100%);
}
.pulse {
animation: pulse 2s infinite;
}
@keyframes pulse {
0% { box-shadow: 0 0 0 0 rgba(59, 130, 246, 0.4); }
70% { box-shadow: 0 0 0 10px rgba(59, 130, 246, 0); }
100% { box-shadow: 0 0 0 0 rgba(59, 130, 246, 0); }
}
</style>
</head>
<body class="min-h-screen">
<!-- Header -->
<header class="border-b border-slate-700">
<div class="container mx-auto px-4 py-4 flex justify-between items-center">
<div class="flex items-center space-x-3">
<div class="w-10 h-10 rounded-lg gpu-gradient flex items-center justify-center">
<i data-feather="cpu" class="text-white"></i>
</div>
<h1 class="text-2xl font-bold">GPU <span class="text-blue-400">Key</span> Hunter</h1>
</div>
<div class="flex items-center space-x-4">
<span class="px-3 py-1 bg-green-900/30 text-green-400 rounded-full text-sm flex items-center">
<i data-feather="zap" class="mr-1 w-4 h-4"></i> GPU Active
</span>
<button class="px-4 py-2 bg-blue-600 hover:bg-blue-700 rounded-lg transition flex items-center">
<i data-feather="settings" class="mr-2 w-4 h-4"></i> Configure
</button>
</div>
</div>
</header>
<!-- Main Content -->
<main class="container mx-auto px-4 py-8">
<div class="grid grid-cols-1 lg:grid-cols-3 gap-6 mb-8">
<!-- Stats Cards -->
<div class="card-gradient rounded-xl p-6">
<div class="flex justify-between items-start">
<div>
<p class="text-slate-400 text-sm">Keys Scanned</p>
<p class="text-3xl font-bold mt-2">1.28M</p>
</div>
<div class="p-3 rounded-lg bg-blue-900/30">
<i data-feather="hash" class="w-6 h-6 text-blue-400"></i>
</div>
</div>
<div class="mt-4">
<div class="flex justify-between text-sm mb-1">
<span>Rate: 128K/s</span>
<span>Target: 10M</span>
</div>
<div class="w-full bg-slate-700 rounded-full h-2">
<div class="progress-gradient h-2 rounded-full" style="width: 12.8%"></div>
</div>
</div>
</div>
<div class="card-gradient rounded-xl p-6">
<div class="flex justify-between items-start">
<div>
<p class="text-slate-400 text-sm">GPU Utilization</p>
<p class="text-3xl font-bold mt-2">94%</p>
</div>
<div class="p-3 rounded-lg bg-purple-900/30">
<i data-feather="cpu" class="w-6 h-6 text-purple-400"></i>
</div>
</div>
<div class="mt-4">
<div class="flex justify-between text-sm mb-1">
<span>NVIDIA RTX 4070</span>
<span>72Β°C</span>
</div>
<div class="w-full bg-slate-700 rounded-full h-2">
<div class="gpu-gradient h-2 rounded-full" style="width: 94%"></div>
</div>
</div>
</div>
<div class="card-gradient rounded-xl p-6">
<div class="flex justify-between items-start">
<div>
<p class="text-slate-400 text-sm">Matches Found</p>
<p class="text-3xl font-bold mt-2">3</p>
</div>
<div class="p-3 rounded-lg bg-green-900/30">
<i data-feather="target" class="w-6 h-6 text-green-400"></i>
</div>
</div>
<div class="mt-4">
<div class="flex justify-between text-sm mb-1">
<span>BTC: 2</span>
<span>ETH: 1</span>
</div>
<div class="w-full bg-slate-700 rounded-full h-2">
<div class="bg-green-500 h-2 rounded-full" style="width: 30%"></div>
</div>
</div>
</div>
</div>
<!-- Terminal & Chart -->
<div class="grid grid-cols-1 lg:grid-cols-2 gap-6 mb-8">
<!-- Terminal Output -->
<div class="card-gradient rounded-xl p-6">
<div class="flex justify-between items-center mb-4">
<h2 class="text-xl font-bold">Terminal Output</h2>
<div class="flex space-x-2">
<button class="p-2 rounded-lg hover:bg-slate-700">
<i data-feather="copy" class="w-4 h-4"></i>
</button>
<button class="p-2 rounded-lg hover:bg-slate-700">
<i data-feather="maximize" class="w-4 h-4"></i>
</button>
</div>
</div>
<div class="terminal-bg rounded-lg p-4 h-80 overflow-y-auto mono-font text-sm">
<div class="text-green-400">$ ./gpu-keyhunt -m address -f addresses.txt -r 1:FFFFFFFF</div>
<div class="text-slate-400 mt-2">[INFO] Initializing CUDA context...</div>
<div class="text-slate-400">[INFO] GPU: NVIDIA RTX 4070 detected</div>
<div class="text-slate-400">[INFO] Loading 1,248,732 addresses...</div>
<div class="text-slate-400">[INFO] Starting key scanning with 16,384 threads...</div>
<div class="text-yellow-400 mt-2">[PROGRESS] Scanned 1.28M keys (128K/s) - Elapsed: 00:00:10</div>
<div class="text-yellow-400">[PROGRESS] Scanned 1.41M keys (131K/s) - Elapsed: 00:00:11</div>
<div class="text-yellow-400">[PROGRESS] Scanned 1.54M keys (129K/s) - Elapsed: 00:00:12</div>
<div class="text-green-400 mt-2">[MATCH] Private Key: 5KJvsngHeMpm95HquGhjv9XEW8Jv3fMhW7gQgV4J4bVhXnYzF6t</div>
<div class="text-green-400">[MATCH] Address: 1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa</div>
<div class="text-yellow-400 mt-2">[PROGRESS] Scanned 1.67M keys (130K/s) - Elapsed: 00:00:13</div>
<div class="text-yellow-400">[PROGRESS] Scanned 1.80M keys (128K/s) - Elapsed: 00:00:14</div>
<div class="text-slate-400 blink">_</div>
</div>
</div>
<!-- Performance Chart -->
<div class="card-gradient rounded-xl p-6">
<div class="flex justify-between items-center mb-4">
<h2 class="text-xl font-bold">Performance Metrics</h2>
<div class="flex space-x-2">
<button class="px-3 py-1 text-sm rounded-lg bg-slate-700">1H</button>
<button class="px-3 py-1 text-sm rounded-lg bg-blue-600">24H</button>
<button class="px-3 py-1 text-sm rounded-lg bg-slate-700">7D</button>
</div>
</div>
<div class="h-80">
<canvas id="performanceChart"></canvas>
</div>
</div>
</div>
<!-- Configuration Panel -->
<div class="card-gradient rounded-xl p-6 mb-8">
<h2 class="text-xl font-bold mb-6">GPU Configuration</h2>
<div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-6">
<div>
<label class="block text-sm text-slate-400 mb-2">Scan Mode</label>
<select class="w-full bg-slate-800 border border-slate-700 rounded-lg px-3 py-2">
<option>Address Matching</option>
<option>Public Key Matching</option>
<option>Range Scan</option>
</select>
</div>
<div>
<label class="block text-sm text-slate-400 mb-2">Thread Blocks</label>
<input type="number" value="1024" class="w-full bg-slate-800 border border-slate-700 rounded-lg px-3 py-2">
</div>
<div>
<label class="block text-sm text-slate-400 mb-2">GPU Memory</label>
<select class="w-full bg-slate-800 border border-slate-700 rounded-lg px-3 py-2">
<option>High Performance</option>
<option>Balanced</option>
<option>Memory Saver</option>
</select>
</div>
<div>
<label class="block text-sm text-slate-400 mb-2">Compression</label>
<select class="w-full bg-slate-800 border border-slate-700 rounded-lg px-3 py-2">
<option>Enabled</option>
<option>Disabled</option>
</select>
</div>
</div>
<div class="mt-6">
<label class="block text-sm text-slate-400 mb-2">Target File</label>
<div class="flex">
<input type="text" value="addresses.txt" class="flex-grow bg-slate-800 border border-slate-700 rounded-l-lg px-3 py-2">
<button class="px-4 bg-slate-700 border-t border-b border-r border-slate-600 rounded-r-lg">Browse</button>
</div>
</div>
<div class="mt-6 flex space-x-4">
<button class="px-6 py-3 bg-green-600 hover:bg-green-700 rounded-lg flex items-center pulse">
<i data-feather="play" class="mr-2"></i> Start Scan
</button>
<button class="px-6 py-3 bg-red-600 hover:bg-red-700 rounded-lg flex items-center">
<i data-feather="square" class="mr-2"></i> Stop
</button>
<button class="px-6 py-3 bg-slate-700 hover:bg-slate-600 rounded-lg flex items-center">
<i data-feather="save" class="mr-2"></i> Save Results
</button>
</div>
</div>
<!-- System Info -->
<div class="grid grid-cols-1 lg:grid-cols-3 gap-6">
<div class="card-gradient rounded-xl p-6">
<h3 class="font-bold mb-4 flex items-center">
<i data-feather="hard-drive" class="mr-2 text-blue-400"></i> Storage
</h3>
<div class="space-y-3">
<div>
<div class="flex justify-between text-sm mb-1">
<span>System</span>
<span>42/128 GB</span>
</div>
<div class="w-full bg-slate-700 rounded-full h-2">
<div class="bg-blue-500 h-2 rounded-full" style="width: 33%"></div>
</div>
</div>
<div>
<div class="flex justify-between text-sm mb-1">
<span>Addresses DB</span>
<span>8.4/10 GB</span>
</div>
<div class="w-full bg-slate-700 rounded-full h-2">
<div class="bg-purple-500 h-2 rounded-full" style="width: 84%"></div>
</div>
</div>
</div>
</div>
<div class="card-gradient rounded-xl p-6">
<h3 class="font-bold mb-4 flex items-center">
<i data-feather="cpu" class="mr-2 text-green-400"></i> CPU
</h3>
<div class="space-y-3">
<div>
<div class="flex justify-between text-sm mb-1">
<span>Usage</span>
<span>24%</span>
</div>
<div class="w-full bg-slate-700 rounded-full h-2">
<div class="bg-green-500 h-2 rounded-full" style="width: 24%"></div>
</div>
</div>
<div class="text-sm">
<p>Model: AMD Ryzen 7 5800X</p>
<p>Cores: 8 / Threads: 16</p>
</div>
</div>
</div>
<div class="card-gradient rounded-xl p-6">
<h3 class="font-bold mb-4 flex items-center">
<i data-feather="monitor" class="mr-2 text-yellow-400"></i> GPU
</h3>
<div class="space-y-3">
<div>
<div class="flex justify-between text-sm mb-1">
<span>VRAM</span>
<span>7.2/12 GB</span>
</div>
<div class="w-full bg-slate-700 rounded-full h-2">
<div class="gpu-gradient h-2 rounded-full" style="width: 60%"></div>
</div>
</div>
<div class="text-sm">
<p>Model: NVIDIA GeForce RTX 4070</p>
<p>CUDA Cores: 5888</p>
</div>
</div>
</div>
</div>
</main>
<!-- Footer -->
<footer class="border-t border-slate-700 mt-12 py-6">
<div class="container mx-auto px-4 text-center text-slate-500 text-sm">
<p>GPU Key Hunter v2.1.0 - Optimized for NVIDIA CUDA Architecture</p>
<p class="mt-2">Designed for Arch Linux with NVIDIA Drivers | CUDA 12.2 Compatible</p>
</div>
</footer>
<script>
feather.replace();
// Performance chart
const ctx = document.getElementById('performanceChart').getContext('2d');
const chart = new Chart(ctx, {
type: 'line',
data: {
labels: ['00:00', '02:00', '04:00', '06:00', '08:00', '10:00', '12:00'],
datasets: [{
label: 'Keys per Second (K/s)',
data: [120, 125, 128, 130, 129, 131, 128],
borderColor: '#3b82f6',
backgroundColor: 'rgba(59, 130, 246, 0.1)',
borderWidth: 3,
pointRadius: 4,
pointBackgroundColor: '#3b82f6',
fill: true,
tension: 0.4
}, {
label: 'GPU Utilization (%)',
data: [92, 94, 93, 95, 94, 96, 94],
borderColor: '#8b5cf6',
backgroundColor: 'rgba(139, 92, 246, 0.1)',
borderWidth: 3,
pointRadius: 4,
pointBackgroundColor: '#8b5cf6',
fill: true,
tension: 0.4
}]
},
options: {
responsive: true,
maintainAspectRatio: false,
plugins: {
legend: {
labels: {
color: '#e2e8f0'
}
}
},
scales: {
y: {
beginAtZero: true,
grid: {
color: 'rgba(100, 116, 139, 0.2)'
},
ticks: {
color: '#94a3b8'
}
},
x: {
grid: {
color: 'rgba(100, 116, 139, 0.2)'
},
ticks: {
color: '#94a3b8'
}
}
}
}
});
</script>
</body>
</html>