Migration Tamamlandı • Safari iOS Çözümü Bekliyor
24 Mart 2026 • v1
✓
Altyapı Hazır
33,112
HLS Yüklendi
33,112
MP3 Yüklendi
LOCAL
Şu Anki Mod
BUNNY_STORAGE_ENABLED=true BUNNY_STORAGE_API_KEY=b9edcf9f-****-**** BUNNY_STORAGE_ZONE=muzibu-audio BUNNY_STORAGE_REGION=de BUNNY_STORAGE_CDN_URL=https://audio.muzibu.com ← Custom hostname aktif! BUNNY_STORAGE_MODE=local ← Safari iOS sorunu çözülünce hybrid olacak BUNNY_FALLBACK_TO_LOCAL=true
audio.muzibu.com → Bunny Pull Zone'a eklendi
Cloudflare: audio → muzibu-audio-cdn.b-cdn.net (DNS only)
Let's Encrypt otomatik sertifika oluşturuldu
Access-Control-Allow-Origin: * eklendi (HLS için gerekli)
Smart Cache: Kapalı (değişmeyen audio için gereksiz), Default: 1 yıl
BUNNY_STORAGE_CDN_URL=https://audio.muzibu.com
33,112 şarkının HLS klasörleri (/hls/*)
/songs/original/ (33,112) • /songs/mp3_64/ (33,103) • /songs/mp3_128/ (33,099)
bunny:uploaded_songs → 33,112 şarkı ID'si
308 orphan HLS klasörü silindi (3.8 GB alan kazanıldı)
839 veritabanı kaydı kalıcı olarak silindi
| Klasör | Dosya/Klasör Sayısı | Test URL |
|---|---|---|
| /hls/ | 33,112 klasör | 200 OK ✓ |
| /songs/original/ | 33,112 dosya | 200 OK ✓ |
| /songs/mp3_64/ | 33,103 dosya | 200 OK ✓ |
| /songs/mp3_128/ | 33,099 dosya | 200 OK ✓ |
Safari iOS'ta Bunny CDN ile HLS çalıştırmak için çeşitli denemeler yapıldı ancak başarısız oldu.
Tüm değişiklikler geri alındı ve sistem local moduna döndürüldü.
Git: eb0acb8ff 🔙 Safari iOS denemelerini geri al + Bunny local moda Git: 83d1043bd 🍎 Safari iOS HLS Denemeleri (HATALI - GERİ ALINDI)
1. Blob URL + Data URI Key
Safari native HLS player blob:// URL desteklemiyor. "NotSupportedError" hatası.
2. Session/Cookie Cross-Origin
Safari iOS cross-origin isteklerde cookie göndermiyor. Playlist Bunny'de, key bizde → 401.
3. HLS.js Override
Safari iOS'ta Hls.isSupported() = false. HLS.js çalışmıyor, CachingKeyLoader devreye girmiyor.
Safari iOS: ├── HLS.js çalışmıyor (native player kullanıyor) ├── Native player cross-origin cookie göndermiyor ├── Playlist: https://audio.muzibu.com/hls/... (Bunny) ├── Key: https://www.muzibu.com/hls-key/... (Bizim sunucu) └── Sonuç: 401 Unauthorized (key isteği başarısız)
# .env BUNNY_STORAGE_MODE=local # Cache temizle php artisan config:cache && php artisan cache:clear
/hls/ ├── 1001/ ← Song ID │ ├── master.m3u8 │ ├── playlist.m3u8 │ ├── playlist_32.m3u8 │ ├── playlist_64.m3u8 │ ├── playlist_128.m3u8 │ ├── segment-000.ts │ └── ... ├── 1002/ └── ... (33,112 klasör) /songs/ ├── original/ (33,112 dosya - orijinal kalite) ├── mp3_64/ (33,103 dosya - 64kbps) └── mp3_128/ (33,099 dosya - 128kbps)
┌─────────────────────────────────────────────────────────────────┐ │ BUNNY_STORAGE_MODE=hybrid │ ├─────────────────────────────────────────────────────────────────┤ │ │ │ Chrome/Firefox/Edge/Android: │ │ ├── HLS playlist → https://audio.muzibu.com/hls/... │ │ ├── HLS segments → https://audio.muzibu.com/hls/... │ │ └── HLS key → https://www.muzibu.com/hls-key/... (local) │ │ │ │ Safari macOS: │ │ ├── HLS playlist → https://audio.muzibu.com/hls/... │ │ ├── HLS segments → https://audio.muzibu.com/hls/... │ │ └── HLS key → https://www.muzibu.com/hls-key/... (local) │ │ │ │ Safari iOS: │ │ ├── force_mp3=1 → MP3 fallback aktif │ │ └── MP3 → https://audio.muzibu.com/songs/mp3_128/... │ │ │ └─────────────────────────────────────────────────────────────────┘
Altyapı hazır: Bunny CDN'e tüm HLS ve MP3 dosyaları yüklendi.
Custom hostname (audio.muzibu.com), SSL ve CORS ayarları tamamlandı.
Safari iOS sorunu: Native HLS player cross-origin cookie göndermiyor. Önceki denemeler (blob URL vb.) başarısız oldu ve geri alındı.
Önerilen çözüm: Safari iOS için MP3 fallback. Bu cihazlarda HLS yerine MP3 formatında müzik sunulacak. MP3 dosyaları zaten Bunny'de hazır.
Şu an: Sistem local modda çalışıyor. Safari iOS çözümü
uygulandıktan sonra hybrid moda geçilecek.