Spaces:
Running
Running
| <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> |