terminal üzerinden medya içeriği aramanızı ve VLC/MPV gibi popüler medya oynatıcılar aracılığıyla doğrudan izlemenizi sağlayan modüler ve genişletilebilir bir bıdı bıdı
Project description
KekikStream
Modüler ve genişletilebilir medya streaming kütüphanesi
Terminal üzerinden içerik arayın, VLC/MPV ile doğrudan izleyin veya kendi API’nizi kurun. 🚀
🚦 Ne Sunar?
KekikStream, Türkçe medya kaynaklarını tek CLI arayüzünde toplayarak hızlı arama ve oynatma sunar. Plugin mimarisi sayesinde yeni kaynaklar eklemek ve KekikStreamAPI ile web/API üzerinden yayın yapmak kolaydır.
- 🎥 Çoklu kaynak desteği: Onlarca Türkçe medya sitesi
- 🔌 Plugin mimarisi: Yeni kaynak eklemek dakikalar sürer
- 🎬 Çoklu oynatıcı: VLC, MPV, MX Player
- 🖥️ CLI & kütüphane: Terminalde veya kod içinde kullanın
- 🌐 API/Web UI: KekikStreamAPI üzerinden uzak erişim
🚀 Hızlı Başlangıç
Gereksinimler: Python 3.11+, sistemde VLC veya MPV kurulu olmalı (Android için MX Player + ADB).
# Kurulum
pip install KekikStream
# Güncelleme
pip install -U KekikStream
Temel Kullanım
CLI:
KekikStream
✨ Özellikler
🔌 Plugin Sistemi
KekikStream modüler bir plugin mimarisi kullanır; her medya kaynağı bağımsız bir plugin'dir.
Mevcut Pluginler (örnek): Dizilla, HDFilmCehennemi, Dizipal, Dizifon, RoketDizi, Sinefy, Moviesseed, FullHDFilmizlesene, HDBestMovies, SuperFilmGeldi, Sinezy ve daha fazlası.
Plugin Geliştirme:
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]:
return results
async def search(self, query: str) -> list[SearchResult]:
return results
async def load_item(self, url: str) -> MovieInfo | SeriesInfo:
return details
async def load_links(self, url: str) -> list[ExtractResult]:
return links
🎬 Oynatıcı Desteği
| Oynatıcı | Platform | Özellikler |
|---|---|---|
| MPV | Desktop | Custom headers, subtitles |
| VLC | Desktop | Custom headers, subtitles |
| MX Player | Android | ADB üzerinden |
Özel durumlar için (Google Drive vb.) arka planda otomatik olarak yt-dlp devreye girer.
🔗 Extractor Sistemi
Vidmoly, Filemoon, Sibnet, Sendvid, Voe, Doodstream, Streamtape, Upstream, Dailymotion, JWPlayer ve birçok kaynaktan direkt streaming linki çıkarır.
🏗️ Mimari
graph TB
CLI[🖥️ CLI Interface]
Manager[🔌 Plugin Manager]
subgraph Plugins
P1[📺 Dizilla]
P2[🎬 HDFilmCehennemi]
P3[🍿 Dizipal]
PN[... 20+ Plugin]
end
subgraph Extractors
E1[🔗 Vidmoly]
E2[🔗 Filemoon]
E3[🔗 Sibnet]
EN[... Extractors]
end
subgraph Players
MPV[🎥 MPV]
VLC[🎥 VLC]
MX[🎥 MX Player]
end
CLI --> Manager
Manager --> P1
Manager --> P2
Manager --> P3
Manager --> PN
%% Her plugin otomatik olarak ihtiyaç duyduğu extractor'ı kullanır
P1 -.-> E1
P1 -.-> E2
P1 -.-> E3
P2 -.-> E1
P2 -.-> E2
P2 -.-> E3
P3 -.-> E1
P3 -.-> E2
P3 -.-> E3
PN -.-> EN
E1 --> VLC
E2 --> VLC
E3 --> VLC
EN --> VLC
E1 --> MPV
E2 --> MPV
E3 --> MPV
EN --> MPV
E1 --> MX
E2 --> MX
E3 --> MX
EN --> MX
🛠️ Geliştirme
Proje Yapısı
KekikStream/
├── KekikStream/
│ ├── Core/ # Temel sınıflar
│ ├── Libs/ # Yardımcı kütüphaneler
│ ├── Plugins/ # Medya kaynak pluginleri
│ ├── Extractors/ # Video extractorları
│ └── __init__.py # CLI entry point
├── Tests/ # Örnek kullanım
└── requirements.txt
Yeni Plugin Ekleme
KekikStream/Plugins/altına yeni dosya oluşturun.PluginBasesınıfından türetin.get_main_page,search,load_item,load_linksmetodlarını implemente edin.- Plugin'i test edin (örnek:
Tests/Single.py).
🔧 Geliştirme Modu
KekikStream, eklenti geliştiricileri için otomatik bir geliştirme modu sunar:
Plugin Geliştirme:
- Çalışma dizininde
Plugins/klasörü oluşturup içine plugin dosyası eklerseniz, sadece bu local plugin'ler yüklenir - Global plugin'ler (sisteme kurulu olanlar) otomatik olarak atlanır
- Bu sayede test sırasında diğer plugin'lerle karışma olmaz
Extractor Geliştirme:
- Çalışma dizininde
Extractors/klasörü oluşturup içine extractor dosyası eklerseniz, sadece bu local extractor'lar yüklenir - Global extractor'lar otomatik olarak atlanır
- Kendi extractor'ınızı izole bir ortamda test edebilirsiniz
Örnek:
# Çalışma dizininizde
mkdir Plugins
touch Plugins/MyTestPlugin.py # Plugin'inizi yazın
# KekikStream'i çalıştırın - sadece MyTestPlugin yüklenecek
KekikStream
💡 Not: Yerel dizinde herhangi bir Plugin/Extractor dosyası bulunmazsa, sistem normal şekilde global olanları yükler.
📊 Performans
| Metrik | Değer |
|---|---|
| Plugin Sayısı | 20+ |
| Extractor Sayısı | 40+ |
| Desteklenen Platform | Desktop, Android |
| Async Arama | ✅ |
| Cache Desteği | ✅ |
🤝 Katkıda Bulunma
Projeyi geliştirmek için katkılarınızı bekliyoruz!
- Yeni plugin ekleyin
- Bug raporu açın
- Feature request gönderin
- Dokümantasyon iyileştirin
🎁 Teşekkürler
💻 Genişletme Referansları
- keyiflerolsun/Kekik-cloudstream
- keyiflerolsun/seyirTurk-Parser
- feroxx/Kekik-cloudstream
- kerimmkirac/cs-kerim
🌐 Telif Hakkı ve Lisans
Copyright (C) 2024 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!
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file kekikstream-2.1.7.tar.gz.
File metadata
- Download URL: kekikstream-2.1.7.tar.gz
- Upload date:
- Size: 87.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ded2a4beff2e2c90fd32abf635689212ed96b7eb0f64683fef67a891f4b32ccb
|
|
| MD5 |
8ce709f399f0f53090b7dfe6c8f4cf82
|
|
| BLAKE2b-256 |
ae20210334abd39f737c6be6e292ee35ed19ced9f180f4d4144d79023bd2a55f
|
File details
Details for the file kekikstream-2.1.7-py3-none-any.whl.
File metadata
- Download URL: kekikstream-2.1.7-py3-none-any.whl
- Upload date:
- Size: 130.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
959f404e5fdbb85299674163ebee35f846f2b6deca2be2b0c84d1559029b1ee7
|
|
| MD5 |
5ce0ebf008a75810698b85e4a7c7c4e2
|
|
| BLAKE2b-256 |
22122f631c3ad052ddd5529d1441a8f57017cbd283095d7f3019326777131233
|