Tüm cihazlarda Bunny CDN ile hızlı, cache'li, korumalı müzik çalma
Admin isterse HLS de verilebilir (kullanıcı bazlı ayar)
HLS şifreli, segment'ler Bunny'den (hızlı), anahtar bizden (güvenli)
┌─────────────────────────────────────────────────────────────────┐
│ KULLANICI ŞARKI İSTEDİ │
└─────────────────────────────────────────────────────────────────┘
│
┌─────────┴─────────┐
│ Cihaz + Format? │
└─────────┬─────────┘
┌──────────────────┼──────────────────┐
▼ ▼ ▼
┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ iOS/MP3 │ │ iOS/HLS │ │ PC/HLS │
└──────┬──────┘ └──────┬──────┘ └──────┬──────┘
│ │ │
▼ ▼ ▼
┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ Bunny MP3 │ │ Playlist: │ │ Playlist: │
│ + Token │ │ Local+İmza │ │ Local+İmza │
│ │ │ Segment: │ │ Segment: │
│ │ │ Bunny+Token │ │ Bunny+Token │
└─────────────┘ └─────────────┘ └─────────────┘
│ │ │
▼ ▼ ▼
┌─────────────────────────────────────────────────────────────┐
│ 🎵 Hızlı + Cache'li + Korumalı Müzik Çalma │
└─────────────────────────────────────────────────────────────┘
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
Pull Zone → Security → Token Authentication → Enabled
Security Key oluştur ve .env dosyasına ekle
.env ve config/services.php'ye Token Key ekle
generateBunnyTokenUrl() metodu ekle - URL'ye token + expire ekler
iPhone/iPad algıla → Varsayılan MP3 yap → Bunny Token URL oluştur
Playlist içindeki segment URL'lerini Bunny CDN + Token ile değiştir
generateAudioCdnUrl() → Hybrid modda Bunny Token URL döndür
BUNNY_STORAGE_MODE=hybrid yap → iOS/PC 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 |
iOS tespiti + segment rewrite | +80 |
SignedUrlService.php |
Bunny MP3 URL desteği | +30 |
| Toplam | ~155 satır |
BUNNY_STORAGE_MODE=local
Bu planı onaylarsanız implementasyona başlayacağım.
Önce Bunny Panel'de Token Auth'u açmanız gerekecek.