KekikStream 1.0.0__py3-none-any.whl → 1.0.2__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/Media/MediaHandler.py +6 -2
- KekikStream/Extractors/MolyStream.py +18 -0
- KekikStream/Plugins/DiziBox.py +6 -2
- KekikStream/Plugins/Dizilla.py +1 -1
- KekikStream/Plugins/RecTV.py +3 -0
- KekikStream/Plugins/SezonlukDizi.py +2 -2
- KekikStream/__init__.py +4 -0
- {KekikStream-1.0.0.dist-info → KekikStream-1.0.2.dist-info}/METADATA +1 -1
- {KekikStream-1.0.0.dist-info → KekikStream-1.0.2.dist-info}/RECORD +13 -12
- {KekikStream-1.0.0.dist-info → KekikStream-1.0.2.dist-info}/LICENSE +0 -0
- {KekikStream-1.0.0.dist-info → KekikStream-1.0.2.dist-info}/WHEEL +0 -0
- {KekikStream-1.0.0.dist-info → KekikStream-1.0.2.dist-info}/entry_points.txt +0 -0
- {KekikStream-1.0.0.dist-info → KekikStream-1.0.2.dist-info}/top_level.txt +0 -0
@@ -18,8 +18,12 @@ class MediaHandler:
|
|
18
18
|
if extract_data.referer:
|
19
19
|
self.headers.update({"Referer": extract_data.referer})
|
20
20
|
|
21
|
+
# ExtractResult'tan gelen headers'ları ekle
|
22
|
+
if extract_data.headers:
|
23
|
+
self.headers.update(extract_data.headers)
|
24
|
+
|
21
25
|
# Google Drive gibi özel durumlar için yt-dlp kullan
|
22
|
-
if self.headers.get("User-Agent")
|
26
|
+
if self.headers.get("User-Agent") in ["googleusercontent", "Mozilla/5.0 (X11; Linux x86_64; rv:101.0) Gecko/20100101 Firefox/101.0"]:
|
23
27
|
return self.play_with_ytdlp(extract_data)
|
24
28
|
|
25
29
|
# İşletim sistemine göre oynatıcı seç
|
@@ -90,7 +94,7 @@ class MediaHandler:
|
|
90
94
|
|
91
95
|
def play_with_ytdlp(self, extract_data: ExtractResult):
|
92
96
|
try:
|
93
|
-
ytdlp_command = ["yt-dlp", "--quiet", "--no-warnings"
|
97
|
+
ytdlp_command = ["yt-dlp", "--quiet", "--no-warnings"]
|
94
98
|
|
95
99
|
for key, value in self.headers.items():
|
96
100
|
ytdlp_command.extend(["--add-header", f"{key}: {value}"])
|
@@ -0,0 +1,18 @@
|
|
1
|
+
# Bu araç @keyiflerolsun tarafından | @KekikAkademi için yazılmıştır.
|
2
|
+
|
3
|
+
from KekikStream.Core import ExtractorBase, ExtractResult
|
4
|
+
from Kekik.Sifreleme import AESManager
|
5
|
+
import re, json
|
6
|
+
|
7
|
+
class MolyStream(ExtractorBase):
|
8
|
+
name = "MolyStream"
|
9
|
+
main_url = "https://dbx.molystream.org"
|
10
|
+
|
11
|
+
async def extract(self, url, referer=None) -> ExtractResult:
|
12
|
+
return ExtractResult(
|
13
|
+
name = self.name,
|
14
|
+
url = url,
|
15
|
+
referer = url.replace("/sheila", ""),
|
16
|
+
headers = {"User-Agent": "Mozilla/5.0 (X11; Linux x86_64; rv:101.0) Gecko/20100101 Firefox/101.0"},
|
17
|
+
subtitles = []
|
18
|
+
)
|
KekikStream/Plugins/DiziBox.py
CHANGED
@@ -57,7 +57,7 @@ class DiziBox(PluginBase):
|
|
57
57
|
episodes.append(Episode(
|
58
58
|
season = ep_season,
|
59
59
|
episode = ep_episode,
|
60
|
-
title =
|
60
|
+
title = "",
|
61
61
|
url = ep_href,
|
62
62
|
))
|
63
63
|
|
@@ -89,8 +89,12 @@ class DiziBox(PluginBase):
|
|
89
89
|
|
90
90
|
crypt_data = re.search(r"CryptoJS\.AES\.decrypt\(\"(.*)\",\"", istek.text)[1]
|
91
91
|
crypt_pass = re.search(r"\",\"(.*)\"\);", istek.text)[1]
|
92
|
+
decode = CryptoJS.decrypt(crypt_pass, crypt_data)
|
92
93
|
|
93
|
-
|
94
|
+
if video_match := re.search(r"file: '(.*)',", decode):
|
95
|
+
results.append(video_match[1])
|
96
|
+
else:
|
97
|
+
results.append(decode)
|
94
98
|
|
95
99
|
elif "/player/moly/moly.php" in iframe_link:
|
96
100
|
iframe_link = iframe_link.replace("moly.php?h=", "moly.php?wmode=opaque&h=")
|
KekikStream/Plugins/Dizilla.py
CHANGED
KekikStream/Plugins/RecTV.py
CHANGED
@@ -111,4 +111,7 @@ class RecTV(PluginBase):
|
|
111
111
|
async def play(self, name: str, url: str, referer: str, subtitles: list[Subtitle]):
|
112
112
|
extract_result = ExtractResult(name=name, url=url, referer=referer, subtitles=subtitles)
|
113
113
|
self.media_handler.title = name
|
114
|
+
if self.name not in self.media_handler.title:
|
115
|
+
self.media_handler.title = f"{self.name} | {self.media_handler.title}"
|
116
|
+
|
114
117
|
self.media_handler.play_media(extract_result)
|
@@ -82,7 +82,7 @@ class SezonlukDizi(PluginBase):
|
|
82
82
|
links = []
|
83
83
|
for dil, label in [("1", "AltYazı"), ("0", "Dublaj")]:
|
84
84
|
dil_istek = await self.oturum.post(
|
85
|
-
url = f"{self.main_url}/ajax/
|
85
|
+
url = f"{self.main_url}/ajax/dataAlternatif22.asp",
|
86
86
|
headers = {"X-Requested-With": "XMLHttpRequest"},
|
87
87
|
data = {"bid": bid, "dil": dil},
|
88
88
|
)
|
@@ -95,7 +95,7 @@ class SezonlukDizi(PluginBase):
|
|
95
95
|
if dil_json.get("status") == "success":
|
96
96
|
for veri in dil_json.get("data", []):
|
97
97
|
veri_response = await self.oturum.post(
|
98
|
-
url = f"{self.main_url}/ajax/
|
98
|
+
url = f"{self.main_url}/ajax/dataEmbed22.asp",
|
99
99
|
headers = {"X-Requested-With": "XMLHttpRequest"},
|
100
100
|
data = {"id": veri.get("id")},
|
101
101
|
)
|
KekikStream/__init__.py
CHANGED
@@ -127,6 +127,9 @@ class KekikStream:
|
|
127
127
|
konsol.print(f"[yellow][!] {eklenti_adi} geçerli bir PluginBase değil, atlanıyor...[/yellow]")
|
128
128
|
continue
|
129
129
|
|
130
|
+
if eklenti_adi in ["Shorten"]:
|
131
|
+
continue
|
132
|
+
|
130
133
|
konsol.log(f"[yellow][~] {eklenti_adi:<19} aranıyor...[/]")
|
131
134
|
try:
|
132
135
|
sonuclar = await eklenti.search(sorgu)
|
@@ -208,6 +211,7 @@ class KekikStream:
|
|
208
211
|
self.dizi = True
|
209
212
|
await self.dizi_bolum_secimi(medya_bilgi)
|
210
213
|
else:
|
214
|
+
self.dizi = False
|
211
215
|
baglantilar = await self.suanki_eklenti.load_links(medya_bilgi.url)
|
212
216
|
await self.baglanti_secenekleri_goster(baglantilar)
|
213
217
|
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.2
|
2
2
|
Name: KekikStream
|
3
|
-
Version: 1.0.
|
3
|
+
Version: 1.0.2
|
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
|
@@ -1,4 +1,4 @@
|
|
1
|
-
KekikStream/__init__.py,sha256=
|
1
|
+
KekikStream/__init__.py,sha256=PwKHsbnKv6LBUtttQQPy1-mD_3RaCeNNDMLa1kz_TKA,14777
|
2
2
|
KekikStream/__main__.py,sha256=B81dQoeGEb-T5Sycs3eNAmW7unvx0Mef0syCjs4nPds,137
|
3
3
|
KekikStream/requirements.txt,sha256=QWCXrrmKodIm7mGtIz9cWr9sks-lmL_TilKMrruWJn0,77
|
4
4
|
KekikStream/CLI/__init__.py,sha256=U6oLq_O7u5y2eHhBnmfhZNns_EqHHJXJmzl8jvZFUNY,230
|
@@ -8,7 +8,7 @@ KekikStream/Core/Extractor/ExtractorBase.py,sha256=ZyasO5m7iAsnh-mwhtlp-VXkZ4pIu
|
|
8
8
|
KekikStream/Core/Extractor/ExtractorLoader.py,sha256=ecrfz9mYizlENCjbyfjdfnOrQorxQTF4ZFGhPpU6JHk,4193
|
9
9
|
KekikStream/Core/Extractor/ExtractorManager.py,sha256=4L1H3jiTnf0kTq4W6uS7n95bBYHlKJ8_hh0og8z4erQ,1244
|
10
10
|
KekikStream/Core/Extractor/ExtractorModels.py,sha256=huIcPQ5VIRfMx0LcL5SS1u4dldZbHjzHKEdSEtOPlc0,456
|
11
|
-
KekikStream/Core/Media/MediaHandler.py,sha256=
|
11
|
+
KekikStream/Core/Media/MediaHandler.py,sha256=zyubfuXsrf6flZ1XC5C8OseZpSchtFnnbaUf_LRLBX0,6490
|
12
12
|
KekikStream/Core/Media/MediaManager.py,sha256=9ItiUguOkk3wg3YY5uf3mrjfwLPCvggnP8QviX0uiuE,526
|
13
13
|
KekikStream/Core/Plugin/PluginBase.py,sha256=KuR89bkrChPAct4-PMjxbK4i6busXMMFeZjv-x4F1CQ,2521
|
14
14
|
KekikStream/Core/Plugin/PluginLoader.py,sha256=2UM3gNcEgd7k-FxG-JB5nTIS0K_clzvFtzGjMA_Sx7Q,3379
|
@@ -24,6 +24,7 @@ KekikStream/Extractors/HDStreamAble.py,sha256=66n5EvIdX_or5cdnlJ_Uqmzi50n4rl9c5V
|
|
24
24
|
KekikStream/Extractors/Hotlinger.py,sha256=NFMRgUmb6BCrJfa7Hi0VarDNYvCeVknBWEk24FKBBa0,224
|
25
25
|
KekikStream/Extractors/MailRu.py,sha256=lB3Xy912EaSEUw7Im65L5TwtIeM7OLFV1_9lan39g40,1308
|
26
26
|
KekikStream/Extractors/MixPlayHD.py,sha256=M7Zxmpkazkj6ewgLWKKDeZDbBOCM9vkMDyIaVhaSPrY,1554
|
27
|
+
KekikStream/Extractors/MolyStream.py,sha256=Z3v21NQ43y8XqtA5SqacZaWnP9HeeGfFejMMk08XHGk,659
|
27
28
|
KekikStream/Extractors/Odnoklassniki.py,sha256=B0A2krVVvzmpZBzIpxu40WB9AZ_zzH-Km2HTetrNvqQ,3593
|
28
29
|
KekikStream/Extractors/OkRuHTTP.py,sha256=L-B0i_i_Vnm61GvUfd6cGIW-o_H4M-C7DO_cdw2rQPU,228
|
29
30
|
KekikStream/Extractors/OkRuSSL.py,sha256=FHJ5XZ1dO5ED3mIku3e3vnq8K0slrcr0jqhaUnHmfVk,227
|
@@ -40,20 +41,20 @@ KekikStream/Extractors/TurboImgz.py,sha256=VXx9vZZRTdQiVNER0LcXm2nsv2OaXnxuPpslG
|
|
40
41
|
KekikStream/Extractors/VidMoly.py,sha256=BKJgk60GomFYiLFsRQSR2sOYP105Aix5y5XLazBNWmw,3368
|
41
42
|
KekikStream/Extractors/VidMoxy.py,sha256=_K6BA7Uo59DA3ty_tsayCUZjXmRoDBTghekVNXiuZ7g,1800
|
42
43
|
KekikStream/Extractors/VideoSeyred.py,sha256=otyGi1zdY_JPrXJjoZjesCQDiOkxFdaWiXQ9mOmrygA,1780
|
43
|
-
KekikStream/Plugins/DiziBox.py,sha256=
|
44
|
+
KekikStream/Plugins/DiziBox.py,sha256=3luzkJ0tQzdYc6qQCp_-OGKGmYZx5eWYaJJV5w5R6JM,6089
|
44
45
|
KekikStream/Plugins/DiziYou.py,sha256=zvhdJzjGEHosS_kIqXCc3aRJPESsP-BZ6FzhokThCjs,5382
|
45
|
-
KekikStream/Plugins/Dizilla.py,sha256=
|
46
|
+
KekikStream/Plugins/Dizilla.py,sha256=Ou2dtQ-I_kn5CUsoEsQKsl7ozKs-qYOSfESydiwfUD0,4243
|
46
47
|
KekikStream/Plugins/FilmMakinesi.py,sha256=rz8TQeL41PJbeEmksgPHIhp6J-4vbSCBTeEH0ukExz4,2822
|
47
48
|
KekikStream/Plugins/FullHDFilmizlesene.py,sha256=Fa0gRP_NoMfPC8HIKRxERjQVOv8Fyb-ayMJ2EooZ7BE,3080
|
48
49
|
KekikStream/Plugins/JetFilmizle.py,sha256=Gu4Ums-88x7jNKAtKkdSXyMaOyLv0_Kb6jnomhAWhM0,3916
|
49
|
-
KekikStream/Plugins/RecTV.py,sha256=
|
50
|
-
KekikStream/Plugins/SezonlukDizi.py,sha256=
|
50
|
+
KekikStream/Plugins/RecTV.py,sha256=hA7lG8iLFO-IXzYekAbLckpbqe5GheY4iYKohlMRN3Y,5024
|
51
|
+
KekikStream/Plugins/SezonlukDizi.py,sha256=VUyKAu2SlUCV4uTQfIr2BLLTus2-LOXPFF4rDHG1rs8,4444
|
51
52
|
KekikStream/Plugins/Shorten.py,sha256=kDQGmj7qvfdDyDkU__QGjx-FoGSgCOPxcA3veM2BGPk,8858
|
52
53
|
KekikStream/Plugins/SineWix.py,sha256=WxlGoE8GMWr7S7Htu_Bh_OP4qIav1igHLJ3GWzP8ttQ,4859
|
53
54
|
KekikStream/Plugins/UgurFilm.py,sha256=yYXee5uxwNnPqFJZ6s6cRkmUyqS3Vv8x-iesPalc4j4,2930
|
54
|
-
KekikStream-1.0.
|
55
|
-
KekikStream-1.0.
|
56
|
-
KekikStream-1.0.
|
57
|
-
KekikStream-1.0.
|
58
|
-
KekikStream-1.0.
|
59
|
-
KekikStream-1.0.
|
55
|
+
KekikStream-1.0.2.dist-info/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
|
56
|
+
KekikStream-1.0.2.dist-info/METADATA,sha256=EgrKBWcxV81NeCQNVNsc1IXBi6zfHPLyJiZCRc40SRg,4226
|
57
|
+
KekikStream-1.0.2.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
|
58
|
+
KekikStream-1.0.2.dist-info/entry_points.txt,sha256=dFwdiTx8djyehI0Gsz-rZwjAfZzUzoBSrmzRu9ubjJc,50
|
59
|
+
KekikStream-1.0.2.dist-info/top_level.txt,sha256=DNmGJDXl27Drdfobrak8KYLmocW_uznVYFJOzcjUgmY,12
|
60
|
+
KekikStream-1.0.2.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|