diff --git a/app/Http/Controllers/Frontend/PlayerController.php b/app/Http/Controllers/Frontend/PlayerController.php index ad55041..e802a0c 100644 --- a/app/Http/Controllers/Frontend/PlayerController.php +++ b/app/Http/Controllers/Frontend/PlayerController.php @@ -89,9 +89,8 @@ class PlayerController extends Controller $ep->video_url = BunnyCdnSigner::sign($ep->video_url); // Proxy all external HLS streams through our server (CORS + SSL bypass). - // anizium.co + aniziumserver.* CDN'leri doğrudan yükle (tarayıcı üzerinden). - $isOwn = fn(?string $u) => !$u || str_contains($u, 'b-cdn.net') || str_contains($u, 'animexe.com') - || str_contains($u, 'anizium.co') || str_contains($u, 'aniziumserver.sbs'); + // aniziumserver.* (sbs/site) CORS izni vermiyor, bu yüzden hepsi proxy'den geçmeli. + $isOwn = fn(?string $u) => !$u || str_contains($u, 'b-cdn.net') || str_contains($u, 'animexe.com'); if ($ep->m3u8_url && !$isOwn($ep->m3u8_url)) { $ep->m3u8_url = route("stream.proxy", ["u" => base64_encode((string) $ep->m3u8_url)]); } @@ -127,6 +126,12 @@ class PlayerController extends Controller 'is_hevc' => (bool) $default->is_hevc, ]; }) + ->map(function ($item) use ($isOwn) { + if (!empty($item['url']) && !$isOwn($item['url'])) { + $item['url'] = route("stream.proxy", ["u" => base64_encode((string) $item['url'])]); + } + return $item; + }) ->sortBy(function ($item) { $isAnizium = ($item['source'] === 'anizium'); $q = strtolower($item['quality'] ?? '');