KekikStream 2.1.4__py3-none-any.whl → 2.1.7__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- KekikStream/Core/Plugin/PluginBase.py +20 -21
- KekikStream/Extractors/CloseLoad.py +17 -2
- KekikStream/Plugins/BelgeselX.py +7 -7
- KekikStream/Plugins/DiziBox.py +2 -2
- KekikStream/Plugins/DiziPal.py +8 -8
- KekikStream/Plugins/DiziYou.py +8 -8
- KekikStream/Plugins/Dizilla.py +2 -2
- KekikStream/Plugins/FilmBip.py +2 -2
- KekikStream/Plugins/FilmMakinesi.py +2 -2
- KekikStream/Plugins/FilmModu.py +8 -8
- KekikStream/Plugins/FullHDFilm.py +81 -22
- KekikStream/Plugins/FullHDFilmizlesene.py +2 -2
- KekikStream/Plugins/HDFilmCehennemi.py +79 -39
- KekikStream/Plugins/JetFilmizle.py +2 -2
- KekikStream/Plugins/KultFilmler.py +10 -9
- KekikStream/Plugins/RecTV.py +15 -15
- KekikStream/Plugins/RoketDizi.py +2 -2
- KekikStream/Plugins/SelcukFlix.py +68 -44
- KekikStream/Plugins/SetFilmIzle.py +21 -21
- KekikStream/Plugins/SezonlukDizi.py +2 -2
- KekikStream/Plugins/SineWix.py +13 -13
- KekikStream/Plugins/Sinefy.py +6 -6
- KekikStream/Plugins/SinemaCX.py +31 -22
- KekikStream/Plugins/Sinezy.py +2 -2
- KekikStream/Plugins/SuperFilmGeldi.py +30 -19
- KekikStream/Plugins/UgurFilm.py +2 -2
- KekikStream/__init__.py +15 -15
- {kekikstream-2.1.4.dist-info → kekikstream-2.1.7.dist-info}/METADATA +5 -3
- {kekikstream-2.1.4.dist-info → kekikstream-2.1.7.dist-info}/RECORD +33 -33
- {kekikstream-2.1.4.dist-info → kekikstream-2.1.7.dist-info}/WHEEL +0 -0
- {kekikstream-2.1.4.dist-info → kekikstream-2.1.7.dist-info}/entry_points.txt +0 -0
- {kekikstream-2.1.4.dist-info → kekikstream-2.1.7.dist-info}/licenses/LICENSE +0 -0
- {kekikstream-2.1.4.dist-info → kekikstream-2.1.7.dist-info}/top_level.txt +0 -0
KekikStream/Plugins/Sinefy.py
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Bu araç @keyiflerolsun tarafından | @KekikAkademi için yazılmıştır.
|
|
2
2
|
|
|
3
|
-
from KekikStream.Core import PluginBase, MainPageResult, SearchResult, SeriesInfo, Episode, MovieInfo
|
|
3
|
+
from KekikStream.Core import PluginBase, MainPageResult, SearchResult, SeriesInfo, Episode, MovieInfo, ExtractResult
|
|
4
4
|
from parsel import Selector
|
|
5
5
|
import re, json, urllib.parse
|
|
6
6
|
|
|
@@ -223,7 +223,7 @@ class Sinefy(PluginBase):
|
|
|
223
223
|
year = year
|
|
224
224
|
)
|
|
225
225
|
|
|
226
|
-
async def load_links(self, url: str) -> list[
|
|
226
|
+
async def load_links(self, url: str) -> list[ExtractResult]:
|
|
227
227
|
resp = await self.httpx.get(url)
|
|
228
228
|
sel = Selector(resp.text)
|
|
229
229
|
|
|
@@ -235,7 +235,7 @@ class Sinefy(PluginBase):
|
|
|
235
235
|
|
|
236
236
|
# Always return iframe (matching Kotlin - no extractor check)
|
|
237
237
|
# loadExtractor in Kotlin handles extraction internally
|
|
238
|
-
return [
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
238
|
+
return [ExtractResult(
|
|
239
|
+
url = iframe_url,
|
|
240
|
+
name = "Sinefy Player"
|
|
241
|
+
)]
|
KekikStream/Plugins/SinemaCX.py
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Bu araç @keyiflerolsun tarafından | @KekikAkademi için yazılmıştır.
|
|
2
2
|
|
|
3
|
-
from KekikStream.Core import PluginBase, MainPageResult, SearchResult, MovieInfo, Subtitle
|
|
3
|
+
from KekikStream.Core import PluginBase, MainPageResult, SearchResult, MovieInfo, Subtitle, ExtractResult
|
|
4
4
|
from parsel import Selector
|
|
5
5
|
import re
|
|
6
6
|
|
|
@@ -12,20 +12,29 @@ class SinemaCX(PluginBase):
|
|
|
12
12
|
description = "Türkiye'nin en iyi film platformu Sinema.cc! 2026'nın en yeni ve popüler yabancı yapımları, Türkçe dublaj ve altyazılı HD kalitede, reklamsız ve ücretsiz olarak seni bekliyor. Şimdi izle!"
|
|
13
13
|
|
|
14
14
|
main_page = {
|
|
15
|
-
f"{main_url}/page/SAYFA"
|
|
16
|
-
f"{main_url}/izle/aile-filmleri/page/SAYFA"
|
|
17
|
-
f"{main_url}/izle/aksiyon-filmleri/page/SAYFA"
|
|
18
|
-
f"{main_url}/izle/animasyon-filmleri/page/SAYFA"
|
|
19
|
-
f"{main_url}/izle/belgesel/page/SAYFA"
|
|
20
|
-
f"{main_url}/izle/bilim-kurgu-filmleri/page/SAYFA"
|
|
21
|
-
f"{main_url}/izle/biyografi/page/SAYFA"
|
|
22
|
-
f"{main_url}/izle/
|
|
23
|
-
f"{main_url}/izle/
|
|
24
|
-
f"{main_url}/izle/
|
|
25
|
-
f"{main_url}/izle/
|
|
26
|
-
f"{main_url}/izle/
|
|
27
|
-
f"{main_url}/izle/
|
|
28
|
-
f"{main_url}/izle/
|
|
15
|
+
f"{main_url}/page/SAYFA" : "Son Eklenen Filmler",
|
|
16
|
+
f"{main_url}/izle/aile-filmleri/page/SAYFA" : "Aile Filmleri",
|
|
17
|
+
f"{main_url}/izle/aksiyon-filmleri/page/SAYFA" : "Aksiyon Filmleri",
|
|
18
|
+
f"{main_url}/izle/animasyon-filmleri/page/SAYFA" : "Animasyon Filmleri",
|
|
19
|
+
f"{main_url}/izle/belgesel/page/SAYFA" : "Belgesel Filmleri",
|
|
20
|
+
f"{main_url}/izle/bilim-kurgu-filmleri/page/SAYFA" : "Bilim Kurgu Filmler",
|
|
21
|
+
f"{main_url}/izle/biyografi/page/SAYFA" : "Biyografi Filmleri",
|
|
22
|
+
f"{main_url}/izle/dram-filmleri/page/SAYFA" : "Dram Filmleri",
|
|
23
|
+
f"{main_url}/izle/erotik-filmler/page/SAYFA" : "Erotik Film",
|
|
24
|
+
f"{main_url}/izle/fantastik-filmler/page/SAYFA" : "Fantastik Filmler",
|
|
25
|
+
f"{main_url}/izle/gerilim-filmleri/page/SAYFA" : "Gerilim Filmleri",
|
|
26
|
+
f"{main_url}/izle/gizem-filmleri/page/SAYFA" : "Gizem Filmleri",
|
|
27
|
+
f"{main_url}/izle/komedi-filmleri/page/SAYFA" : "Komedi Filmleri",
|
|
28
|
+
f"{main_url}/izle/korku-filmleri/page/SAYFA" : "Korku Filmleri",
|
|
29
|
+
f"{main_url}/izle/macera-filmleri/page/SAYFA" : "Macera Filmleri",
|
|
30
|
+
f"{main_url}/izle/muzikal-filmler/page/SAYFA" : "Müzikal Filmler",
|
|
31
|
+
f"{main_url}/izle/romantik-filmler/page/SAYFA" : "Romantik Filmler",
|
|
32
|
+
f"{main_url}/izle/savas-filmleri/page/SAYFA" : "Savaş Filmleri",
|
|
33
|
+
f"{main_url}/izle/seri-filmler/page/SAYFA" : "Seri Filmler",
|
|
34
|
+
f"{main_url}/izle/spor-filmleri/page/SAYFA" : "Spor Filmleri",
|
|
35
|
+
f"{main_url}/izle/suc-filmleri/page/SAYFA" : "Suç Filmleri",
|
|
36
|
+
f"{main_url}/izle/tarihi-filmler/page/SAYFA" : "Tarih Filmler",
|
|
37
|
+
f"{main_url}/izle/western-filmleri/page/SAYFA" : "Western Filmler",
|
|
29
38
|
}
|
|
30
39
|
|
|
31
40
|
async def get_main_page(self, page: int, url: str, category: str) -> list[MainPageResult]:
|
|
@@ -75,7 +84,7 @@ class SinemaCX(PluginBase):
|
|
|
75
84
|
duration = int(duration_match[1]) if duration_match else None,
|
|
76
85
|
)
|
|
77
86
|
|
|
78
|
-
async def load_links(self, url: str) -> list[
|
|
87
|
+
async def load_links(self, url: str) -> list[ExtractResult]:
|
|
79
88
|
istek = await self.httpx.get(url)
|
|
80
89
|
secici = Selector(istek.text)
|
|
81
90
|
|
|
@@ -130,12 +139,12 @@ class SinemaCX(PluginBase):
|
|
|
130
139
|
vid_data = vid_istek.json()
|
|
131
140
|
|
|
132
141
|
if vid_data.get("securedLink"):
|
|
133
|
-
results.append(
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
142
|
+
results.append(ExtractResult(
|
|
143
|
+
name = f"{self.name}",
|
|
144
|
+
url = vid_data["securedLink"],
|
|
145
|
+
referer = iframe,
|
|
146
|
+
subtitles = subtitles
|
|
147
|
+
))
|
|
139
148
|
else:
|
|
140
149
|
# Extractor'a yönlendir
|
|
141
150
|
data = await self.extract(iframe)
|
KekikStream/Plugins/Sinezy.py
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Bu araç @keyiflerolsun tarafından | @KekikAkademi için yazılmıştır.
|
|
2
2
|
|
|
3
|
-
from KekikStream.Core import PluginBase, MainPageResult, SearchResult, MovieInfo
|
|
3
|
+
from KekikStream.Core import PluginBase, MainPageResult, SearchResult, MovieInfo, ExtractResult
|
|
4
4
|
from parsel import Selector
|
|
5
5
|
import re, base64
|
|
6
6
|
|
|
@@ -120,7 +120,7 @@ class Sinezy(PluginBase):
|
|
|
120
120
|
year = year
|
|
121
121
|
)
|
|
122
122
|
|
|
123
|
-
async def load_links(self, url: str) -> list[
|
|
123
|
+
async def load_links(self, url: str) -> list[ExtractResult]:
|
|
124
124
|
resp = await self.httpx.get(url)
|
|
125
125
|
|
|
126
126
|
match = re.search(r"ilkpartkod\s*=\s*'([^']+)'", resp.text, re.IGNORECASE)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Bu araç @keyiflerolsun tarafından | @KekikAkademi için yazılmıştır.
|
|
2
2
|
|
|
3
|
-
from KekikStream.Core import PluginBase, MainPageResult, SearchResult, MovieInfo
|
|
3
|
+
from KekikStream.Core import PluginBase, MainPageResult, SearchResult, MovieInfo, ExtractResult
|
|
4
4
|
from parsel import Selector
|
|
5
5
|
import re
|
|
6
6
|
|
|
@@ -12,17 +12,26 @@ class SuperFilmGeldi(PluginBase):
|
|
|
12
12
|
description = "Hd film izliyerek arkadaşlarınızla ve sevdiklerinizle iyi bir vakit geçirmek istiyorsanız açın bir film eğlenmeye bakın. Bilim kurgu filmleri, aşk drama vahşet aşk romantik sıradışı korku filmlerini izle."
|
|
13
13
|
|
|
14
14
|
main_page = {
|
|
15
|
-
f"{main_url}/page/SAYFA"
|
|
16
|
-
f"{main_url}/hdizle/category/aksiyon/page/SAYFA"
|
|
17
|
-
f"{main_url}/hdizle/category/animasyon/page/SAYFA"
|
|
18
|
-
f"{main_url}/hdizle/category/belgesel/page/SAYFA"
|
|
19
|
-
f"{main_url}/hdizle/category/
|
|
20
|
-
f"{main_url}/hdizle/category/
|
|
21
|
-
f"{main_url}/hdizle/category/
|
|
22
|
-
f"{main_url}/hdizle/category/
|
|
23
|
-
f"{main_url}/hdizle/category/gerilim/page/SAYFA"
|
|
24
|
-
f"{main_url}/hdizle/category/
|
|
25
|
-
f"{main_url}/hdizle/category/
|
|
15
|
+
f"{main_url}/page/SAYFA" : "Son Eklenenler",
|
|
16
|
+
f"{main_url}/hdizle/category/aksiyon/page/SAYFA" : "Aksiyon",
|
|
17
|
+
f"{main_url}/hdizle/category/animasyon/page/SAYFA" : "Animasyon",
|
|
18
|
+
f"{main_url}/hdizle/category/belgesel/page/SAYFA" : "Belgesel",
|
|
19
|
+
f"{main_url}/hdizle/category/biyografi/page/SAYFA" : "Biyografi",
|
|
20
|
+
f"{main_url}/hdizle/category/bilim-kurgu/page/SAYFA" : "Bilim Kurgu",
|
|
21
|
+
f"{main_url}/hdizle/category/fantastik/page/SAYFA" : "Fantastik",
|
|
22
|
+
f"{main_url}/hdizle/category/dram/page/SAYFA" : "Dram",
|
|
23
|
+
f"{main_url}/hdizle/category/gerilim/page/SAYFA" : "Gerilim",
|
|
24
|
+
f"{main_url}/hdizle/category/gizem/page/SAYFA" : "Gizem",
|
|
25
|
+
f"{main_url}/hdizle/category/komedi-filmleri/page/SAYFA" : "Komedi Filmleri",
|
|
26
|
+
f"{main_url}/hdizle/category/karete-filmleri/page/SAYFA" : "Karate Filmleri",
|
|
27
|
+
f"{main_url}/hdizle/category/korku/page/SAYFA" : "Korku",
|
|
28
|
+
f"{main_url}/hdizle/category/muzik/page/SAYFA" : "Müzik",
|
|
29
|
+
f"{main_url}/hdizle/category/macera/page/SAYFA" : "Macera",
|
|
30
|
+
f"{main_url}/hdizle/category/romantik/page/SAYFA" : "Romantik",
|
|
31
|
+
f"{main_url}/hdizle/category/spor/page/SAYFA" : "Spor",
|
|
32
|
+
f"{main_url}/hdizle/category/savas/page/SAYFA" : "Savaş",
|
|
33
|
+
f"{main_url}/hdizle/category/suc/page/SAYFA" : "Suç",
|
|
34
|
+
f"{main_url}/hdizle/category/western/page/SAYFA" : "Western",
|
|
26
35
|
}
|
|
27
36
|
|
|
28
37
|
async def get_main_page(self, page: int, url: str, category: str) -> list[MainPageResult]:
|
|
@@ -76,7 +85,9 @@ class SuperFilmGeldi(PluginBase):
|
|
|
76
85
|
actors = actors,
|
|
77
86
|
)
|
|
78
87
|
|
|
79
|
-
async def load_links(self, url: str) -> list[
|
|
88
|
+
async def load_links(self, url: str) -> list[ExtractResult]:
|
|
89
|
+
from KekikStream.Core import ExtractResult
|
|
90
|
+
|
|
80
91
|
istek = await self.httpx.get(url)
|
|
81
92
|
secici = Selector(istek.text)
|
|
82
93
|
|
|
@@ -104,12 +115,12 @@ class SuperFilmGeldi(PluginBase):
|
|
|
104
115
|
|
|
105
116
|
m3u_link = iframe.split("/player")[0] + mix_point + end_point
|
|
106
117
|
|
|
107
|
-
results.append(
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
118
|
+
results.append(ExtractResult(
|
|
119
|
+
name = f"{self.name} | Mix Player",
|
|
120
|
+
url = m3u_link,
|
|
121
|
+
referer = iframe,
|
|
122
|
+
subtitles = []
|
|
123
|
+
))
|
|
113
124
|
else:
|
|
114
125
|
# Extractor'a yönlendir
|
|
115
126
|
data = await self.extract(iframe)
|
KekikStream/Plugins/UgurFilm.py
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Bu araç @keyiflerolsun tarafından | @KekikAkademi için yazılmıştır.
|
|
2
2
|
|
|
3
|
-
from KekikStream.Core import PluginBase, MainPageResult, SearchResult, MovieInfo
|
|
3
|
+
from KekikStream.Core import PluginBase, MainPageResult, SearchResult, MovieInfo, ExtractResult
|
|
4
4
|
from parsel import Selector
|
|
5
5
|
|
|
6
6
|
class UgurFilm(PluginBase):
|
|
@@ -79,7 +79,7 @@ class UgurFilm(PluginBase):
|
|
|
79
79
|
actors = actors,
|
|
80
80
|
)
|
|
81
81
|
|
|
82
|
-
async def load_links(self, url: str) -> list[
|
|
82
|
+
async def load_links(self, url: str) -> list[ExtractResult]:
|
|
83
83
|
istek = await self.httpx.get(url)
|
|
84
84
|
secici = Selector(istek.text)
|
|
85
85
|
results = []
|
KekikStream/__init__.py
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# Bu araç @keyiflerolsun tarafından | @KekikAkademi için yazılmıştır.
|
|
2
2
|
|
|
3
3
|
from .CLI import konsol, cikis_yap, hata_yakala, pypi_kontrol_guncelle
|
|
4
|
-
from .Core import PluginManager, ExtractorManager, UIManager, MediaManager, PluginBase, ExtractorBase, SeriesInfo
|
|
4
|
+
from .Core import PluginManager, ExtractorManager, UIManager, MediaManager, PluginBase, ExtractorBase, SeriesInfo, ExtractResult
|
|
5
5
|
from asyncio import run, TaskGroup, Semaphore
|
|
6
6
|
from contextlib import suppress
|
|
7
7
|
|
|
@@ -226,7 +226,7 @@ class KekikStream:
|
|
|
226
226
|
case "Çıkış":
|
|
227
227
|
cikis_yap(False)
|
|
228
228
|
|
|
229
|
-
async def show_link_options(self, links: list[
|
|
229
|
+
async def show_link_options(self, links: list[ExtractResult]):
|
|
230
230
|
"""Bağlantı seçeneklerini göster"""
|
|
231
231
|
if not links:
|
|
232
232
|
konsol.print("[bold red]Bağlantı bulunamadı![/bold red]")
|
|
@@ -235,33 +235,33 @@ class KekikStream:
|
|
|
235
235
|
# Direkt oynatma - tüm pluginlerde artık play metodu var (PluginBase'den miras)
|
|
236
236
|
return await self.play_direct(links)
|
|
237
237
|
|
|
238
|
-
async def play_direct(self, links: list[
|
|
238
|
+
async def play_direct(self, links: list[ExtractResult]):
|
|
239
239
|
"""Plugin'in kendi metoduyla oynat"""
|
|
240
240
|
selected = await self.ui.select_from_list(
|
|
241
241
|
message = "Bağlantı seçin:",
|
|
242
|
-
choices = [{"name": link.
|
|
242
|
+
choices = [{"name": link.name or "Bilinmiyor", "value": link} for link in links]
|
|
243
243
|
)
|
|
244
244
|
|
|
245
245
|
if not selected:
|
|
246
246
|
return await self.content_finished()
|
|
247
247
|
|
|
248
248
|
self.update_title(self.episode_title)
|
|
249
|
-
self.update_title(selected.
|
|
249
|
+
self.update_title(selected.name)
|
|
250
250
|
|
|
251
251
|
await self.current_plugin.play(
|
|
252
252
|
name = self.media.get_title(),
|
|
253
|
-
url = selected.
|
|
254
|
-
user_agent = selected.
|
|
255
|
-
referer = selected.
|
|
256
|
-
subtitles = selected.
|
|
253
|
+
url = selected.url,
|
|
254
|
+
user_agent = selected.user_agent,
|
|
255
|
+
referer = selected.referer,
|
|
256
|
+
subtitles = selected.subtitles or []
|
|
257
257
|
)
|
|
258
258
|
return await self.content_finished()
|
|
259
259
|
|
|
260
|
-
async def play_with_extractor(self, links: list[
|
|
260
|
+
async def play_with_extractor(self, links: list[ExtractResult], mapping: dict):
|
|
261
261
|
"""Extractor ile oynat"""
|
|
262
262
|
options = [
|
|
263
|
-
{"name": link.
|
|
264
|
-
for link in links if link
|
|
263
|
+
{"name": link.name or mapping.get(link.url, "Bilinmiyor"), "value": link}
|
|
264
|
+
for link in links if link.url in mapping
|
|
265
265
|
]
|
|
266
266
|
|
|
267
267
|
if not options:
|
|
@@ -272,7 +272,7 @@ class KekikStream:
|
|
|
272
272
|
if not selected:
|
|
273
273
|
return await self.content_finished()
|
|
274
274
|
|
|
275
|
-
url = selected.
|
|
275
|
+
url = selected.url
|
|
276
276
|
extractor: ExtractorBase = self.extractor.find_extractor(url)
|
|
277
277
|
|
|
278
278
|
if not extractor:
|
|
@@ -280,7 +280,7 @@ class KekikStream:
|
|
|
280
280
|
return await self.handle_no_results()
|
|
281
281
|
|
|
282
282
|
try:
|
|
283
|
-
referer = selected.
|
|
283
|
+
referer = selected.referer or self.current_plugin.main_url
|
|
284
284
|
extract_data = await extractor.extract(url, referer=referer)
|
|
285
285
|
except Exception as e:
|
|
286
286
|
konsol.print(f"[bold red]{extractor.name} hatası: {e}[/bold red]")
|
|
@@ -298,7 +298,7 @@ class KekikStream:
|
|
|
298
298
|
|
|
299
299
|
# Başlıkları güncelle ve oynat
|
|
300
300
|
self.update_title(self.episode_title)
|
|
301
|
-
self.update_title(selected.
|
|
301
|
+
self.update_title(selected.name)
|
|
302
302
|
self.update_title(extract_data.name)
|
|
303
303
|
|
|
304
304
|
self.media.play_media(extract_data)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: KekikStream
|
|
3
|
-
Version: 2.1.
|
|
3
|
+
Version: 2.1.7
|
|
4
4
|
Summary: 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ı
|
|
5
5
|
Home-page: https://github.com/keyiflerolsun/KekikStream
|
|
6
6
|
Author: keyiflerolsun
|
|
@@ -104,7 +104,7 @@ KekikStream modüler bir plugin mimarisi kullanır; her medya kaynağı bağıms
|
|
|
104
104
|
|
|
105
105
|
**Plugin Geliştirme:**
|
|
106
106
|
```python
|
|
107
|
-
from KekikStream.Core import PluginBase, MainPageResult, SearchResult, MovieInfo, SeriesInfo
|
|
107
|
+
from KekikStream.Core import PluginBase, MainPageResult, SearchResult, MovieInfo, SeriesInfo, ExtractResult
|
|
108
108
|
|
|
109
109
|
class MyPlugin(PluginBase):
|
|
110
110
|
name = "MyPlugin"
|
|
@@ -126,7 +126,7 @@ class MyPlugin(PluginBase):
|
|
|
126
126
|
async def load_item(self, url: str) -> MovieInfo | SeriesInfo:
|
|
127
127
|
return details
|
|
128
128
|
|
|
129
|
-
async def load_links(self, url: str) -> list[
|
|
129
|
+
async def load_links(self, url: str) -> list[ExtractResult]:
|
|
130
130
|
return links
|
|
131
131
|
```
|
|
132
132
|
|
|
@@ -292,6 +292,8 @@ Projeyi geliştirmek için katkılarınızı bekliyoruz!
|
|
|
292
292
|
|
|
293
293
|
- [keyiflerolsun/Kekik-cloudstream](https://github.com/keyiflerolsun/Kekik-cloudstream)
|
|
294
294
|
- [keyiflerolsun/seyirTurk-Parser](https://github.com/keyiflerolsun/seyirTurk-Parser)
|
|
295
|
+
- [feroxx/Kekik-cloudstream](https://github.com/feroxx/Kekik-cloudstream)
|
|
296
|
+
- [kerimmkirac/cs-kerim](https://github.com/kerimmkirac/cs-kerim)
|
|
295
297
|
|
|
296
298
|
## 🌐 Telif Hakkı ve Lisans
|
|
297
299
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
KekikStream/__init__.py,sha256=
|
|
1
|
+
KekikStream/__init__.py,sha256=nTgIxO1716DVX-cZnMvwi6OjPbuebFyeYpHvpqCJ0Js,12767
|
|
2
2
|
KekikStream/__main__.py,sha256=B81dQoeGEb-T5Sycs3eNAmW7unvx0Mef0syCjs4nPds,137
|
|
3
3
|
KekikStream/requirements.txt,sha256=0fO-7byqgLMr4NyJO7fQBFOnLv0zcAeqk7tLhHXqonk,76
|
|
4
4
|
KekikStream/CLI/__init__.py,sha256=U6oLq_O7u5y2eHhBnmfhZNns_EqHHJXJmzl8jvZFUNY,230
|
|
@@ -11,12 +11,12 @@ KekikStream/Core/Extractor/ExtractorModels.py,sha256=Qj_gbIeGRewaZXNfYkTi4FFRRq6
|
|
|
11
11
|
KekikStream/Core/Extractor/YTDLPCache.py,sha256=sRg5kwFxkRXA_8iRwsV29E51g9qQJvg8dWUnzfr7EwA,984
|
|
12
12
|
KekikStream/Core/Media/MediaHandler.py,sha256=MEn3spPAThVloN3WcoCwWhpoyMA7tAZvcwYjmjJsX3U,7678
|
|
13
13
|
KekikStream/Core/Media/MediaManager.py,sha256=AaUq2D7JSJIphjoAj2fjLOJjswm7Qf5hjYCbBdrbnDU,438
|
|
14
|
-
KekikStream/Core/Plugin/PluginBase.py,sha256=
|
|
14
|
+
KekikStream/Core/Plugin/PluginBase.py,sha256=iirN7cQHccqUa6f6Gr86x8XYg4Rr6TlkaWOtbhnzU9g,5923
|
|
15
15
|
KekikStream/Core/Plugin/PluginLoader.py,sha256=GcDqN1u3nJeoGKH_oDFHCpwteJlLCxHNbmPrC5L-hZE,3692
|
|
16
16
|
KekikStream/Core/Plugin/PluginManager.py,sha256=CZVg1eegi8vfMfccx0DRV0Box8kXz-aoULTQLgbPbvM,893
|
|
17
17
|
KekikStream/Core/Plugin/PluginModels.py,sha256=Yvx-6Fkn8QCIcuqAkFbCP5EJcq3XBkK_P8S0tRNhS6E,2476
|
|
18
18
|
KekikStream/Core/UI/UIManager.py,sha256=T4V_kdTTWa-UDamgLSKa__dWJuzcvRK9NuwBlzU9Bzc,1693
|
|
19
|
-
KekikStream/Extractors/CloseLoad.py,sha256=
|
|
19
|
+
KekikStream/Extractors/CloseLoad.py,sha256=m3wpLvbLRakqv0yn9v6OOpVlEDIqgAy6XBMIiuD5g0Q,1558
|
|
20
20
|
KekikStream/Extractors/ContentX.py,sha256=x0j67e1OAw4L1m7ejUTyiIxqr1EhvpjaA_0U-s4IQ-I,3617
|
|
21
21
|
KekikStream/Extractors/DonilasPlay.py,sha256=Lr60pEht96SMlXICYWo9J5dOwV4ty8fetBCCqJ3ARUY,3221
|
|
22
22
|
KekikStream/Extractors/DzenRu.py,sha256=X0Rhm1-W4YjQwVrJs8YFqVcCxMaZi8rsKiLhK_ZsYlU,1185
|
|
@@ -48,33 +48,33 @@ KekikStream/Extractors/VidPapi.py,sha256=g9ohdL9VJrxy4N7xerbIRz3ZxjsXFHlJWy0NaZ3
|
|
|
48
48
|
KekikStream/Extractors/VideoSeyred.py,sha256=M6QPZ_isX9vM_7LPo-2I_8Cf1vB9awHw8vvzBODtoiQ,1977
|
|
49
49
|
KekikStream/Extractors/YTDLP.py,sha256=Hy8loCSFSquu2zaL3INord-Jm6T8CM6K2-VcDA2K79g,7390
|
|
50
50
|
KekikStream/Extractors/YildizKisaFilm.py,sha256=R_JlrOVeMiDlXYcuTdItnKvidyx8_u3B14fSrxew2aE,1316
|
|
51
|
-
KekikStream/Plugins/BelgeselX.py,sha256=
|
|
52
|
-
KekikStream/Plugins/DiziBox.py,sha256=
|
|
53
|
-
KekikStream/Plugins/DiziPal.py,sha256=
|
|
54
|
-
KekikStream/Plugins/DiziYou.py,sha256=
|
|
55
|
-
KekikStream/Plugins/Dizilla.py,sha256=
|
|
56
|
-
KekikStream/Plugins/FilmBip.py,sha256=
|
|
57
|
-
KekikStream/Plugins/FilmMakinesi.py,sha256=
|
|
58
|
-
KekikStream/Plugins/FilmModu.py,sha256=
|
|
59
|
-
KekikStream/Plugins/FullHDFilm.py,sha256=
|
|
60
|
-
KekikStream/Plugins/FullHDFilmizlesene.py,sha256=
|
|
61
|
-
KekikStream/Plugins/HDFilmCehennemi.py,sha256=
|
|
62
|
-
KekikStream/Plugins/JetFilmizle.py,sha256=
|
|
63
|
-
KekikStream/Plugins/KultFilmler.py,sha256=
|
|
64
|
-
KekikStream/Plugins/RecTV.py,sha256=
|
|
65
|
-
KekikStream/Plugins/RoketDizi.py,sha256=
|
|
66
|
-
KekikStream/Plugins/SelcukFlix.py,sha256=
|
|
67
|
-
KekikStream/Plugins/SetFilmIzle.py,sha256=
|
|
68
|
-
KekikStream/Plugins/SezonlukDizi.py,sha256=
|
|
69
|
-
KekikStream/Plugins/SineWix.py,sha256=
|
|
70
|
-
KekikStream/Plugins/Sinefy.py,sha256=
|
|
71
|
-
KekikStream/Plugins/SinemaCX.py,sha256=
|
|
72
|
-
KekikStream/Plugins/Sinezy.py,sha256=
|
|
73
|
-
KekikStream/Plugins/SuperFilmGeldi.py,sha256=
|
|
74
|
-
KekikStream/Plugins/UgurFilm.py,sha256=
|
|
75
|
-
kekikstream-2.1.
|
|
76
|
-
kekikstream-2.1.
|
|
77
|
-
kekikstream-2.1.
|
|
78
|
-
kekikstream-2.1.
|
|
79
|
-
kekikstream-2.1.
|
|
80
|
-
kekikstream-2.1.
|
|
51
|
+
KekikStream/Plugins/BelgeselX.py,sha256=upxN78gIFrPdVCw3hJ0DGqwa6vtrd_ShCWbO7_JLQhg,8427
|
|
52
|
+
KekikStream/Plugins/DiziBox.py,sha256=3O8RHPvzMPcMB-8Wc1gwxI7GQlBitQvz4WDR6bmXuqQ,9715
|
|
53
|
+
KekikStream/Plugins/DiziPal.py,sha256=xwz6XeN2bMvShClfsPTK5dI4EktSZQyCrVu8Gn0x_pU,9715
|
|
54
|
+
KekikStream/Plugins/DiziYou.py,sha256=sH4UOCEbl-o9fIGORgz1YVMMnfbZVfjnitPsGuCl7PI,8698
|
|
55
|
+
KekikStream/Plugins/Dizilla.py,sha256=Rk_rS6ymlj5RT-ZBspjXS-Dv0ds3d9n46LCpGKtycP4,11765
|
|
56
|
+
KekikStream/Plugins/FilmBip.py,sha256=xJA79gwPXwvdQLfUu5QGdwv8kGZngjAg3csLQqQYSDU,6036
|
|
57
|
+
KekikStream/Plugins/FilmMakinesi.py,sha256=_Ulwi0bo-8bXZZjRxbpBKAIkAnlyG6D0qEvD1UJTsjk,5708
|
|
58
|
+
KekikStream/Plugins/FilmModu.py,sha256=HVawdKHuqcFb3PQ-93uwGlwv1dNhkM2kpStBlTJJXR4,6553
|
|
59
|
+
KekikStream/Plugins/FullHDFilm.py,sha256=fimK5MqPYjmog859lfuEuJeg8AGylYyDm36Ak3X3Msg,9768
|
|
60
|
+
KekikStream/Plugins/FullHDFilmizlesene.py,sha256=_-HaoNvPVzITB_aK3jOkSSAOA50SYFNdnjHH4JGCmOc,6078
|
|
61
|
+
KekikStream/Plugins/HDFilmCehennemi.py,sha256=I-dwkerkwfzcaSQA9XzIGh2LeRywBGydX0D0k6FmoOc,13029
|
|
62
|
+
KekikStream/Plugins/JetFilmizle.py,sha256=nhTOU4333Bg-au0gE9xHs74UiyjSZOKHygOlr2BkBx0,6410
|
|
63
|
+
KekikStream/Plugins/KultFilmler.py,sha256=ODnQu2_qLKx68dpT16MFUiIXYQlkQSDU0x15o91LWU8,9097
|
|
64
|
+
KekikStream/Plugins/RecTV.py,sha256=Nj4AdeetPMzvZ-VKUdUGhBC1SiFSBRYRebODgE2UeI8,7228
|
|
65
|
+
KekikStream/Plugins/RoketDizi.py,sha256=7cP6935unhrn_yDt0hsLoW3nboX3WUD0P2DqqRny3_M,8568
|
|
66
|
+
KekikStream/Plugins/SelcukFlix.py,sha256=WKMsZpVVdHn_zW69xxhAuIP7OhAPbPFxFRWzGzHBgaE,13601
|
|
67
|
+
KekikStream/Plugins/SetFilmIzle.py,sha256=EcoHSacJO9bvzA9lZZzDZAwAhXfaDstI4M4C3YOwvEU,10113
|
|
68
|
+
KekikStream/Plugins/SezonlukDizi.py,sha256=rSxXcJoCqr9wDfIW9xyfAk0Ud73pf-cEmJuJ31M9MKw,7071
|
|
69
|
+
KekikStream/Plugins/SineWix.py,sha256=z0r90lggAugEWE1g9vg8gZsInBObUZPnVFQwq7GYmJs,7052
|
|
70
|
+
KekikStream/Plugins/Sinefy.py,sha256=Ogw0-qjROz8T0EkV1jwbOvz0WM4FN9D24bNrJmi314k,9998
|
|
71
|
+
KekikStream/Plugins/SinemaCX.py,sha256=aujqCWPGZHcRqKcMFlZYEwMonj0C_UQ_J4ZqCyF59pU,7492
|
|
72
|
+
KekikStream/Plugins/Sinezy.py,sha256=lFOfbMwxzP6IkhPZ_C3ZWGrgwThSk58pYQAD61rCJnM,6128
|
|
73
|
+
KekikStream/Plugins/SuperFilmGeldi.py,sha256=dqU1IJHcTPU9zlnA9rSKsX0ehpBYSgDuz6eSlCCop8k,6044
|
|
74
|
+
KekikStream/Plugins/UgurFilm.py,sha256=TlMDy3tSfkEUy_ziIdCkgnfmoRtVdXEv8m4kjKeAWrE,4696
|
|
75
|
+
kekikstream-2.1.7.dist-info/licenses/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
|
|
76
|
+
kekikstream-2.1.7.dist-info/METADATA,sha256=-rH6IXawYy_VoHlNrY5YZh4ounZYSKX7o952j4nq97w,10254
|
|
77
|
+
kekikstream-2.1.7.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
78
|
+
kekikstream-2.1.7.dist-info/entry_points.txt,sha256=dFwdiTx8djyehI0Gsz-rZwjAfZzUzoBSrmzRu9ubjJc,50
|
|
79
|
+
kekikstream-2.1.7.dist-info/top_level.txt,sha256=DNmGJDXl27Drdfobrak8KYLmocW_uznVYFJOzcjUgmY,12
|
|
80
|
+
kekikstream-2.1.7.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|