deepsite-project / btc_crack.html
xvin1111's picture
make it real work now
7c99a76 verified
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>BTC Key Finder</title>
<link rel="icon" type="image/x-icon" href="/static/favicon.ico">
<script src="https://cdn.tailwindcss.com"></script>
<script src="https://cdn.jsdelivr.net/npm/feather-icons/dist/feather.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/animejs/lib/anime.iife.min.js"></script>
<script src="https://unpkg.com/feather-icons"></script>
<style>
.gradient-bg {
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
}
.card-glow {
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
}
.animate-pulse-slow {
animation: pulse 3s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}
</style>
</head>
<body class="gradient-bg min-h-screen flex items-center justify-center p-4">
<div class="bg-white rounded-2xl shadow-2xl p-8 max-w-md w-full card-glow">
<div class="text-center mb-8">
<div class="w-16 h-16 bg-purple-100 rounded-full flex items-center justify-center mx-auto mb-4">
<i data-feather="key" class="w-8 h-8 text-purple-600"></i>
</div>
<h1 class="text-3xl font-bold text-gray-800 mb-2">BTC Key Finder</h1>
<p class="text-gray-600">Find Bitcoin private keys with various derivation strategies</p>
</div>
<div class="space-y-6">
<div>
<label class="block text-sm font-medium text-gray-700 mb-2">Input Type</label>
<select class="w-full p-3 border border-gray-300 rounded-lg focus:ring-2 focus:ring-purple-500 focus:border-transparent" id="inputType">
<option value="hex">Hex Seed</option>
<option value="mnemonic">Mnemonic Phrase</option>
</select>
</div>
<div id="hexInput" class="input-section">
<label class="block text-sm font-medium text-gray-700 mb-2">Hex Seed</label>
<input type="text" placeholder="Enter 64-character hex seed" class="w-full p-3 border border-gray-300 rounded-lg focus:ring-2 focus:ring-purple-500 focus:border-transparent" id="hexSeed">
</div>
<div id="mnemonicInput" class="input-section hidden">
<label class="block text-sm font-medium text-gray-700 mb-2">Mnemonic Phrase</label>
<textarea placeholder="Enter BIP-39 mnemonic words" class="w-full p-3 border border-gray-300 rounded-lg focus:ring-2 focus:ring-purple-500 focus:border-transparent" rows="3" id="mnemonic"></textarea>
</div>
<div>
<label class="block text-sm font-medium text-gray-700 mb-2">Passphrase (optional)</label>
<input type="text" placeholder="Enter passphrase" class="w-full p-3 border border-gray-300 rounded-lg focus:ring-2 focus:ring-purple-500 focus:border-transparent" id="passphrase">
</div>
<div class="grid grid-cols-2 gap-4">
<div>
<label class="block text-sm font-medium text-gray-700 mb-2">PBKDF2 Count</label>
<input type="number" value="10" min="1" max="100" class="w-full p-3 border border-gray-300 rounded-lg focus:ring-2 focus:ring-purple-500 focus:border-transparent" id="pbkdf2Count">
</div>
<div>
<label class="block text-sm font-medium text-gray-700 mb-2">HD Count</label>
<input type="number" value="20" min="1" max="100" class="w-full p-3 border border-gray-300 rounded-lg focus:ring-2 focus:ring-purple-500 focus:border-transparent" id="hdCount">
</div>
</div>
<div>
<label class="block text-sm font-medium text-gray-700 mb-2">Pattern Count</label>
<input type="number" value="10" min="1" max="100" class="w-full p-3 border border-gray-300 rounded-lg focus:ring-2 focus:ring-purple-500 focus:border-transparent" id="patternCount">
</div>
<div>
<label class="block text-sm font-medium text-gray-700 mb-2">Vanity Prefix (optional)</label>
<input type="text" placeholder="e.g. 1H8U" class="w-full p-3 border border-gray-300 rounded-lg focus:ring-2 focus:ring-purple-500 focus:border-transparent" id="vanity">
</div>
<button class="w-full bg-purple-600 text-white py-3 px-4 rounded-lg font-medium hover:bg-purple-700 transition-colors duration-200 flex items-center justify-center gap-2" id="findKeys" onclick="executeBitcoinFinder()">
<i data-feather="search" class="w-4 h-4"></i>
Execute BTC Key Finder
</button>
</div>
<div class="mt-8 text-center">
<a href="index.html" class="text-purple-600 hover:text-purple-800 font-medium inline-flex items-center gap-1">
<i data-feather="arrow-left" class="w-4 h-4"></i>
Back to Home
</a>
</div>
</div>
<script>
// Input type toggle
const inputType = document.getElementById('inputType');
const hexInput = document.getElementById('hexInput');
const mnemonicInput = document.getElementById('mnemonicInput');
inputType.addEventListener('change', function() {
if (this.value === 'hex') {
hexInput.classList.remove('hidden');
mnemonicInput.classList.add('hidden');
} else {
hexInput.classList.add('hidden');
mnemonicInput.classList.remove('hidden');
}
});
// Initialize Feather icons
feather.replace();
// Add animation to the button
document.getElementById('findKeys').addEventListener('mouseenter', function() {
anime({
targets: this,
scale: 1.05,
duration: 200,
easing: 'easeInOutQuad'
});
});
document.getElementById('findKeys').addEventListener('mouseleave', function() {
anime({
targets: this,
scale: 1,
duration: 200,
easing: 'easeInOutQuad'
});
});
// Direct Bitcoin Finder Execution
function executeBitcoinFinder() {
const inputType = document.getElementById('inputType').value;
const hexSeed = document.getElementById('hexSeed').value;
const mnemonic = document.getElementById('mnemonic').value;
const passphrase = document.getElementById('passphrase').value;
const pbkdf2Count = document.getElementById('pbkdf2Count').value;
const hdCount = document.getElementById('hdCount').value;
const patternCount = document.getElementById('patternCount').value;
const vanity = document.getElementById('vanity').value;
// Basic validation
if (inputType === 'hex' && (!hexSeed || hexSeed.length !== 64)) {
alert('Please enter a valid 64-character hex seed');
return;
}
if (inputType === 'mnemonic' && !mnemonic.trim()) {
alert('Please enter a mnemonic phrase');
return;
}
const requestData = {
seed_type: inputType,
seed: inputType === 'hex' ? hexSeed : mnemonic,
passphrase: passphrase,
pbkdf2_count: parseInt(pbkdf2Count),
hd_count: parseInt(hdCount),
pattern_count: parseInt(patternCount),
vanity: vanity
};
// Execute via Python backend
fetch('/api/bitcoin-finder', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'X-Requested-With': 'XMLHttpRequest'
})
.then(response => response.json())
.then(data => {
console.log('Bitcoin Finder Results:', data);
alert('BTC Key Finder executed successfully! Generated ' + data.candidates.length + ' candidates. Found ' + data.matches.length + ' vanity matches. Check console for full report.');
})
.catch(error => {
console.error('Error:', error);
alert('Execution failed. Check console for details.');
});
}
</script>
</body>
</html>