ginipick's picture
Update index.html
c38598a verified
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Flipper Zero Code Generator</title>
<style>
:root {
--primary: #00ff9d;
--dark: #1a1a1a;
--light: #f0f0f0;
--accent: #ff003c;
}
* {
margin: 0;
padding: 0;
box-sizing: border-box;
font-family: 'Courier New', monospace;
}
body {
background: var(--dark);
color: var(--light);
line-height: 1.6;
padding: 2rem;
}
.container {
max-width: 1000px;
margin: 0 auto;
}
h1 {
color: var(--primary);
text-align: center;
margin-bottom: 2rem;
text-shadow: 0 0 10px rgba(0,255,157,0.5);
}
.generator {
background: rgba(255,255,255,0.05);
padding: 2rem;
border-radius: 10px;
box-shadow: 0 0 20px rgba(0,0,0,0.3);
}
.form-group {
margin-bottom: 1.5rem;
}
label {
display: block;
margin-bottom: 0.5rem;
color: var(--primary);
}
select, input {
width: 100%;
padding: 0.75rem;
background: var(--dark);
border: 1px solid var(--primary);
color: var(--light);
border-radius: 5px;
outline: none;
}
select:focus, input:focus {
box-shadow: 0 0 10px rgba(0,255,157,0.3);
}
button {
background: var(--primary);
color: var(--dark);
padding: 1rem 2rem;
border: none;
border-radius: 5px;
cursor: pointer;
font-weight: bold;
transition: all 0.3s ease;
margin-top: 1rem;
}
button:hover {
transform: translateY(-2px);
box-shadow: 0 5px 15px rgba(0,255,157,0.4);
}
.output {
margin-top: 2rem;
background: rgba(0,0,0,0.3);
padding: 1.5rem;
border-radius: 5px;
position: relative;
}
.code {
font-family: 'Courier New', monospace;
color: var(--primary);
white-space: pre-wrap;
}
.copy-btn {
position: absolute;
top: 10px;
right: 10px;
background: var(--accent);
color: var(--light);
padding: 0.5rem 1rem;
font-size: 0.8rem;
}
.matrix-bg {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: -1;
opacity: 0.1;
}
@media (max-width: 768px) {
body {
padding: 1rem;
}
}
</style>
</head>
<body>
<canvas class="matrix-bg" id="matrix"></canvas>
<div class="container">
<h1>🔓 Flipper Zero Code Generator</h1>
<div class="generator">
<div class="form-group">
<label>Attack Type</label>
<select id="attackType">
<option value="wifi">WiFi Attack</option>
<option value="rfid">RFID Clone</option>
<option value="subghz">SubGHz Replay</option>
<option value="nfc">NFC Manipulation</option>
</select>
</div>
<div class="form-group">
<label>Target Protocol</label>
<select id="protocol">
<option value="wpa2">WPA2</option>
<option value="wpa3">WPA3</option>
<option value="wps">WPS</option>
<option value="wep">WEP (Legacy)</option>
</select>
</div>
<div class="form-group">
<label>Custom Parameters</label>
<input type="text" id="params" placeholder="Enter custom parameters">
</div>
<button onclick="generateCode()">Generate Code</button>
<div class="output" id="output" style="display: none;">
<button class="copy-btn" onclick="copyCode()">Copy</button>
<pre class="code" id="codeOutput"></pre>
</div>
</div>
</div>
<script>
// Matrix rain effect
const canvas = document.getElementById('matrix');
const ctx = canvas.getContext('2d');
canvas.width = window.innerWidth;
canvas.height = window.innerHeight;
const chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789@#$%^&*';
const fontSize = 14;
const columns = canvas.width/fontSize;
const drops = [];
for(let x = 0; x < columns; x++) {
drops[x] = 1;
}
function drawMatrix() {
ctx.fillStyle = 'rgba(0, 0, 0, 0.05)';
ctx.fillRect(0, 0, canvas.width, canvas.height);
ctx.fillStyle = '#00ff9d';
ctx.font = fontSize + 'px monospace';
for(let i = 0; i < drops.length; i++) {
const text = chars[Math.floor(Math.random() * chars.length)];
ctx.fillText(text, i*fontSize, drops[i]*fontSize);
if(drops[i]*fontSize > canvas.height && Math.random() > 0.975)
drops[i] = 0;
drops[i]++;
}
}
setInterval(drawMatrix, 33);
// Code generation
function generateCode() {
const attackType = document.getElementById('attackType').value;
const protocol = document.getElementById('protocol').value;
const params = document.getElementById('params').value;
const codeTemplates = {
wifi: `Flipper Zero WiFi Attack Script
Protocol: ${protocol}
Parameters: ${params}
sub: ${protocol}_attack
while(true)
wifi_scan()
target_found = find_network("${params}")
if target_found
launch_attack("${protocol}", "${params}")
wait(1000)
end
end
`,
rfid: `Flipper Zero RFID Clone Script
Mode: Read & Emulate
Frequency: 125kHz
sub: clone_card
card_data = scan_rfid()
if card_data
save_data("${params}")
emulate(card_data)
end
`,
subghz: `Flipper Zero SubGHz Script
Frequency: 433.92MHz
Mode: Capture & Replay
sub: capture_signal
while(true)
signal = listen(433.92)
if signal_detected
save_signal("${params}")
replay_signal()
end
end
`,
nfc: `Flipper Zero NFC Script
Mode: Emulation
Type: NTAG215
sub: nfc_routine
card = scan_nfc()
if card
clone_uid("${params}")
emulate_tag()
end
`
};
const output = document.getElementById('output');
const codeOutput = document.getElementById('codeOutput');
output.style.display = 'block';
codeOutput.textContent = codeTemplates[attackType];
}
function copyCode() {
const codeOutput = document.getElementById('codeOutput');
navigator.clipboard.writeText(codeOutput.textContent);
const copyBtn = document.querySelector('.copy-btn');
copyBtn.textContent = 'Copied!';
setTimeout(() => {
copyBtn.textContent = 'Copy';
}, 2000);
}
</script>
</body>
</html>