🎬 KekikStreamAPI
Modern, self-hosted medya streaming platformu
Kendi yayın merkezinizi kurun! 🚀
🚦 Ne Sunar?
KekikStreamAPI, KekikStream kütüphanesini web arayüzü ve API ile birleştirerek uçtan uca bir streaming deneyimi sağlar.
- 🎥 Çoklu kaynak desteği: Onlarca kaynaktan içerik arama ve izleme
- 🌐 Modern Web Arayüzü: Responsive, kullanıcı dostu UI
- 🔌 RESTful API: Kolay entegrasyon
- 🎬 yt-dlp entegrasyonu: YouTube ve 1000+ site desteği
🚀 Hızlı Başlangıç
Gereksinimler: Python 3.11+,
yt-dlpve tarayıcı.
Manuel Kurulum
pip install -r requirements.txt
python basla.py
👉 Tarayıcınızdan erişin: http://127.0.0.1:3310
🧭 Mimari ve Akış
graph TB
Client[🌐 Client]
subgraph KekikStreamAPI[🎬 KekikStreamAPI]
FastAPI[⚡ FastAPI Core :3310]
Home[🏠 Web UI]
API[🔌 API]
end
subgraph External[🌍 External Sources]
KekikStream[📚 KekikStream]
MediaSources[🎥 Media Sources]
YtDlp[🎬 yt-dlp]
end
KekikStream <--> MediaSources
KekikStream <--> YtDlp
Client -->|HTTP| FastAPI
FastAPI --> Home
FastAPI --> API
Home <--> API
API <--> KekikStream
style KekikStreamAPI fill:#2b2a29,stroke:#ef7f1a,stroke-width:2px
style External fill:#242322,stroke:#0087a3,stroke-width:2px
🎯 Kullanım Senaryoları
🌐 Web Arayüzü
- Ana sayfa, arama, kategori filtreleme
- Sinematik video oynatıcı
- Mobil/desktop uyumlu tasarım
🔌 API Endpoints
| Endpoint | Açıklama |
|---|---|
/api/v1/health |
API sağlık kontrolü |
/api/v1/get_plugin_names |
Tüm eklenti listesi |
/api/v1/get_plugin |
Eklenti detayları |
/api/v1/search |
İçerik arama |
/api/v1/get_main_page |
Kategori içerikleri |
/api/v1/load_item |
İçerik detayları |
/api/v1/load_links |
Video bağlantıları |
/api/v1/extract |
Link extraction |
/api/v1/ytdlp-extract |
yt-dlp video bilgisi |
📖 API Örnekleri
# Eklenti listesi
curl http://127.0.0.1:3310/api/v1/get_plugin_names
# Arama
curl "http://127.0.0.1:3310/api/v1/search?plugin=Dizilla&query=vikings"
# İçerik detayları
curl "http://127.0.0.1:3310/api/v1/load_item?plugin=Dizilla&encoded_url=..."
# Video bağlantıları
curl "http://127.0.0.1:3310/api/v1/load_links?plugin=Dizilla&encoded_url=..."
Response Formatı:
{
"results": [
{
"title": "Vikings",
"url": "...",
"thumbnail": "...",
"description": "..."
}
]
}
🛠️ Eklenti Geliştirme (KekikStream)
Yeni medya kaynakları eklemek için KekikStream repo’suna katkıda bulunun:
from KekikStream.Core import PluginBase, MainPageResult, SearchResult, MovieInfo, SeriesInfo, ExtractResult
class MyPlugin(PluginBase):
name = "MyPlugin"
language = "en"
main_url = "https://example.com"
favicon = f"https://www.google.com/s2/favicons?domain={main_url}&sz=64"
description = "MyPlugin description"
main_page = {
f"{main_url}/category/" : "Category Name"
}
async def get_main_page(self, page: int, url: str, category: str) -> list[MainPageResult]:
# Ana sayfa implementasyonu
return results
async def search(self, query: str) -> list[SearchResult]:
# Arama implementasyonu
return results
async def load_item(self, url: str) -> MovieInfo | SeriesInfo:
# İçerik detayları
return details
async def load_links(self, url: str) -> list[ExtractResult]:
# Video bağlantıları
return links
🌐 Telif Hakkı ve Lisans
Copyright (C) 2026 by keyiflerolsun ❤️️
GNU GENERAL PUBLIC LICENSE Version 3, 29 June 2007 Koşullarına göre lisanslanmıştır.
Bu proje @keyiflerolsun tarafından @KekikAkademi için geliştirilmiştir.
⭐ Beğendiyseniz yıldız vermeyi unutmayın!