Skip to main content

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

Boyut Görüntülenme

PyPI PyPI - Yüklenme PyPI - Wheel

Python Version Lisans Durum

PyPI Yükle

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. 🚀

Video

ForTheBadge made-with-python ForTheBadge built-with-love


🚦 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

  1. KekikStream/Plugins/ altına yeni dosya oluşturun.
  2. PluginBase sınıfından türetin.
  3. get_main_page, search, load_item, load_links metodlarını implemente edin.
  4. 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!

  1. Yeni plugin ekleyin
  2. Bug raporu açın
  3. Feature request gönderin
  4. Dokümantasyon iyileştirin

🎁 Teşekkürler

💻 Genişletme Referansları

🌐 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

kekikstream-2.1.7.tar.gz (87.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

kekikstream-2.1.7-py3-none-any.whl (130.2 kB view details)

Uploaded Python 3

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

Hashes for kekikstream-2.1.7.tar.gz
Algorithm Hash digest
SHA256 ded2a4beff2e2c90fd32abf635689212ed96b7eb0f64683fef67a891f4b32ccb
MD5 8ce709f399f0f53090b7dfe6c8f4cf82
BLAKE2b-256 ae20210334abd39f737c6be6e292ee35ed19ced9f180f4d4144d79023bd2a55f

See more details on using hashes here.

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

Hashes for kekikstream-2.1.7-py3-none-any.whl
Algorithm Hash digest
SHA256 959f404e5fdbb85299674163ebee35f846f2b6deca2be2b0c84d1559029b1ee7
MD5 5ce0ebf008a75810698b85e4a7c7c4e2
BLAKE2b-256 22122f631c3ad052ddd5529d1441a8f57017cbd283095d7f3019326777131233

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page