Tüm cihazlarda Bunny CDN ile hızlı, cache'li, korumalı müzik çalma
# .env dosyasından kontrol edilir
MUZIBU_DEFAULT_AUDIO_FORMAT=hls_auto # Varsayılan HLS
MUZIBU_DEFAULT_AUDIO_FORMAT=mp3_auto # Varsayılan MP3
MUZIBU_DEFAULT_AUDIO_FORMAT=mp3_128 # Sabit MP3 128k
# Kullanıcı bazlı override (Admin Panel)
users.audio_preference = hls / mp3 / auto
Not: iPhone/iPad için özel zorunluluk yok. ENV ne derse tüm cihazlarda o çalışır.
✅ Tüm cihazlarda çalışır (iOS dahil)
✅ Tüm cihazlarda çalışır • Token ile indirme engeli
┌─────────────────────────────────────────────────────────────────┐
│ KULLANICI ŞARKI İSTEDİ │
└─────────────────────────────────────────────────────────────────┘
│
┌─────────┴─────────┐
│ Format ne? │
│ (ENV + Tercih) │
└─────────┬─────────┘
┌───────────────┴───────────────┐
▼ ▼
┌─────────────┐ ┌─────────────┐
│ HLS │ │ MP3 │
│ (Şifreli) │ │ (Şifresiz) │
└──────┬──────┘ └──────┬──────┘
│ │
▼ ▼
┌─────────────┐ ┌─────────────┐
│ Playlist: │ │ Bunny CDN │
│ Local+İmza │ │ + Token │
│ │ │ │
│ Segment: │ │ (30dk süre) │
│ Bunny+Token │ │ │
│ │ │ │
│ Anahtar: │ │ │
│ Local+İmza │ │ │
└─────────────┘ └─────────────┘
│ │
└───────────────┬───────────────┘
▼
┌─────────────────────────────────────────────────────────┐
│ 🎵 Hızlı + Cache'li + Korumalı Müzik (Tüm Cihazlar) │
└─────────────────────────────────────────────────────────┘
https://audio.muzibu.com/songs/mp3_128/12345.mp3
→ Herkes indirebilir
→ Link paylaşılabilir
→ Sonsuza kadar çalışır
https://audio.muzibu.com/songs/mp3_128/12345.mp3
?token=a1b2c3d4e5f6
&expires=1711378800
→ 30 dakika sonra link ölür
→ Token yanlışsa 403 hata
→ Paylaşılsa bile işe yaramaz
muzibu-audio-cdn Pull Zone → Security → Token Authentication → Enabled
Security Key oluştur ve .env dosyasına ekle
.env'ye BUNNY_STORAGE_TOKEN_KEY ekle, config/services.php'ye bağla
generateBunnyTokenUrl() → URL'ye token + expire ekler
serveHls() içinde segment URL'lerini Bunny CDN + Token ile değiştir
generateAudioCdnUrl() → Hybrid modda Bunny Token URL döndür
master_inline ve playlists_inline içindeki segment URL'lerini Bunny'ye yönlendir
BUNNY_STORAGE_MODE=hybrid yap → HLS/MP3 test → Token süresi testi
| Dosya | Değişiklik | Satır |
|---|---|---|
.env |
BUNNY_STORAGE_TOKEN_KEY ekle | +3 |
config/services.php |
bunny_storage → token_key | +2 |
BunnyStorageService.php |
generateBunnyTokenUrl() metodu | +40 |
SongStreamController.php |
serveHls() + stream() segment rewrite | +60 |
SignedUrlService.php |
Bunny MP3 URL desteği | +30 |
| Toplam | ~135 satır |
BUNNY_STORAGE_MODE=local
Anında eski sisteme döner, kod değişikliği gerekmez
Bu planı onaylarsanız implementasyona başlayacağım.
Önce Bunny Panel'de Token Auth'u açmanız gerekecek.