KekikStream 1.4.8__py3-none-any.whl → 1.5.1__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/Extractors/CloseLoad.py +3 -3
- KekikStream/Plugins/Dizilla.py +1 -1
- KekikStream/Plugins/HDFilmCehennemi.py +4 -4
- {kekikstream-1.4.8.dist-info → kekikstream-1.5.1.dist-info}/METADATA +1 -1
- {kekikstream-1.4.8.dist-info → kekikstream-1.5.1.dist-info}/RECORD +9 -10
- KekikStream/Helpers/Unpack.py +0 -75
- {kekikstream-1.4.8.dist-info → kekikstream-1.5.1.dist-info}/LICENSE +0 -0
- {kekikstream-1.4.8.dist-info → kekikstream-1.5.1.dist-info}/WHEEL +0 -0
- {kekikstream-1.4.8.dist-info → kekikstream-1.5.1.dist-info}/entry_points.txt +0 -0
- {kekikstream-1.4.8.dist-info → kekikstream-1.5.1.dist-info}/top_level.txt +0 -0
@@ -1,7 +1,7 @@
|
|
1
1
|
# Bu araç @keyiflerolsun tarafından | @KekikAkademi için yazılmıştır.
|
2
2
|
|
3
|
-
from KekikStream.Core
|
4
|
-
from
|
3
|
+
from KekikStream.Core import ExtractorBase, ExtractResult
|
4
|
+
from Kekik.Sifreleme import Packer
|
5
5
|
import re, base64
|
6
6
|
|
7
7
|
def get_m3u_link(data: str) -> str:
|
@@ -35,7 +35,7 @@ class CloseLoadExtractor(ExtractorBase):
|
|
35
35
|
istek.raise_for_status()
|
36
36
|
|
37
37
|
eval_func = re.compile(r'\s*(eval\(function[\s\S].*)\s*').findall(istek.text)[0]
|
38
|
-
m3u_link = get_m3u_link(extract_data(unpack(eval_func)))
|
38
|
+
m3u_link = get_m3u_link(extract_data(Packer.unpack(eval_func)))
|
39
39
|
|
40
40
|
await self.close()
|
41
41
|
return ExtractResult(
|
KekikStream/Plugins/Dizilla.py
CHANGED
@@ -8,7 +8,7 @@ from urllib.parse import urlparse, urlunparse
|
|
8
8
|
class Dizilla(PluginBase):
|
9
9
|
name = "Dizilla"
|
10
10
|
language = "tr"
|
11
|
-
main_url = "https://dizilla.
|
11
|
+
main_url = "https://dizilla.nl"
|
12
12
|
favicon = f"https://www.google.com/s2/favicons?domain={main_url}&sz=64"
|
13
13
|
description = "Dizilla tüm yabancı dizileri ücretsiz olarak Türkçe Dublaj ve altyazılı seçenekleri ile 1080P kalite izleyebileceğiniz yeni nesil yabancı dizi izleme siteniz."
|
14
14
|
|
@@ -1,8 +1,8 @@
|
|
1
1
|
# Bu araç @keyiflerolsun tarafından | @KekikAkademi için yazılmıştır.
|
2
2
|
|
3
|
-
from KekikStream.Core
|
4
|
-
from parsel
|
5
|
-
from
|
3
|
+
from KekikStream.Core import kekik_cache, PluginBase, MainPageResult, SearchResult, MovieInfo, ExtractResult, Subtitle
|
4
|
+
from parsel import Selector
|
5
|
+
from Kekik.Sifreleme import Packer
|
6
6
|
import random, string, re, base64
|
7
7
|
|
8
8
|
class HDFilmCehennemi(PluginBase):
|
@@ -167,7 +167,7 @@ class HDFilmCehennemi(PluginBase):
|
|
167
167
|
await self.cehennempass(iframe.split("/")[-1])
|
168
168
|
return None, None
|
169
169
|
|
170
|
-
unpacked = unpack(eval_func)
|
170
|
+
unpacked = Packer.unpack(eval_func)
|
171
171
|
b64_url = re.search(r'file_link=\"(.*)\"\;', unpacked)[1]
|
172
172
|
video_url = base64.b64decode(b64_url).decode("utf-8")
|
173
173
|
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.2
|
2
2
|
Name: KekikStream
|
3
|
-
Version: 1.
|
3
|
+
Version: 1.5.1
|
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
|
@@ -15,7 +15,7 @@ KekikStream/Core/Plugin/PluginLoader.py,sha256=yZxMug-OcJ5RBm4fQkoquKrZxcBU7Pvt4
|
|
15
15
|
KekikStream/Core/Plugin/PluginManager.py,sha256=CZVg1eegi8vfMfccx0DRV0Box8kXz-aoULTQLgbPbvM,893
|
16
16
|
KekikStream/Core/Plugin/PluginModels.py,sha256=ZZJUXbC0G2k0DU7Wpbf0rwjn7spywpiaLIHE7kLajhk,2533
|
17
17
|
KekikStream/Core/UI/UIManager.py,sha256=T4V_kdTTWa-UDamgLSKa__dWJuzcvRK9NuwBlzU9Bzc,1693
|
18
|
-
KekikStream/Extractors/CloseLoad.py,sha256=
|
18
|
+
KekikStream/Extractors/CloseLoad.py,sha256=Uwy_LHKak2AUHKvSqJQk9SsYhZ2D21RHyCmonBIg_hI,1477
|
19
19
|
KekikStream/Extractors/ContentX.py,sha256=HfQ3g5KlL7LxB-7lxE70kIwg17NvfEk6wEUtzo-7-nM,3044
|
20
20
|
KekikStream/Extractors/FourCX.py,sha256=4FrMj1IZBBpN_g1P6S3A-8eUu7QFwlt4fJXzJ7vfe0Q,221
|
21
21
|
KekikStream/Extractors/FourPichive.py,sha256=iq3BCUbih1UVF4y4BIWO--0hX5jP2nxqesNx3MGP3kQ,234
|
@@ -42,22 +42,21 @@ KekikStream/Extractors/VidMoly.py,sha256=2bg7pUp0IVn2VpaOVdf2xHgjoPbIIUgUEiw2V3k
|
|
42
42
|
KekikStream/Extractors/VidMolyMe.py,sha256=ogLiFUJVqFbhtzQrZ1gSB9me85DiHvntjWtSvidYVS8,218
|
43
43
|
KekikStream/Extractors/VidMoxy.py,sha256=Ii1CQNkUk7lDV0tCLkJf1Bu_jLan30AGNrsAQlNmP4c,1826
|
44
44
|
KekikStream/Extractors/VideoSeyred.py,sha256=HHzS8Ew1yJgWmyzi64dJkPD5bGP6Ku00EoSdZ7ncgaA,2009
|
45
|
-
KekikStream/Helpers/Unpack.py,sha256=iS-r6k-NHlBleWsVwv_QXLaEMbJRBUXDKqVE6NkWEIk,2235
|
46
45
|
KekikStream/Plugins/DiziBox.py,sha256=Vk7ujbMTORimFNXA7BTZkQnXs-6WBfI7iIJxFYRJaH0,9326
|
47
46
|
KekikStream/Plugins/DiziYou.py,sha256=YmuCvbee-xh6Eu_KFTMYrESS6cnTEBcND9vItFmBS7M,8069
|
48
|
-
KekikStream/Plugins/Dizilla.py,sha256=
|
47
|
+
KekikStream/Plugins/Dizilla.py,sha256=DEj74uyFZoJJPLWXZtstuPSERUGIj29iHp6RkjuI7wY,6897
|
49
48
|
KekikStream/Plugins/FilmMakinesi.py,sha256=J4v35Ln3RehWPai3I-9nWrasRLx3hN3IgrWVpt5b_HE,5712
|
50
49
|
KekikStream/Plugins/FullHDFilmizlesene.py,sha256=AO9Il0PE77JUvg1AN4Vxl95pTrCBbOjclqFGWuzo7cY,6271
|
51
|
-
KekikStream/Plugins/HDFilmCehennemi.py,sha256=
|
50
|
+
KekikStream/Plugins/HDFilmCehennemi.py,sha256=2A-qqgsohm4uWBsxCl8TI4CNWaL7RNjRP8ehGZp-SIk,10032
|
52
51
|
KekikStream/Plugins/JetFilmizle.py,sha256=P6m8PfsG1PRRMQb1wmCGb9j4-N53xITq9JmKvwwny0I,5586
|
53
52
|
KekikStream/Plugins/RecTV.py,sha256=8wUh-vGOCg-kWHrQjOp9nJV9hRPHHLq0PmM_lMoD4NM,7394
|
54
53
|
KekikStream/Plugins/SezonlukDizi.py,sha256=IvmOB6qCEHBy41BS4KFBjsTegmzEF6l-2l_CvamYrW8,6099
|
55
54
|
KekikStream/Plugins/Shorten.py,sha256=xh15NEJRNR982zy7SHzvTbs9Ml4niTh2psAAN3X6dcY,9006
|
56
55
|
KekikStream/Plugins/SineWix.py,sha256=RhV4C5e3QCkT8CkCOSMNwP84dFpbTnP7LnC_67pfgQo,7336
|
57
56
|
KekikStream/Plugins/UgurFilm.py,sha256=tChGgiAeQeVUqHqrVXDz_eMIyghOHqKuHJb0pCQqs1M,4724
|
58
|
-
kekikstream-1.
|
59
|
-
kekikstream-1.
|
60
|
-
kekikstream-1.
|
61
|
-
kekikstream-1.
|
62
|
-
kekikstream-1.
|
63
|
-
kekikstream-1.
|
57
|
+
kekikstream-1.5.1.dist-info/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
|
58
|
+
kekikstream-1.5.1.dist-info/METADATA,sha256=WmctJbMbUG7rV_BYOcDzVmD2jFDCej4CXCQU-rfKqZQ,4973
|
59
|
+
kekikstream-1.5.1.dist-info/WHEEL,sha256=jB7zZ3N9hIM9adW7qlTAyycLYW9npaWKLRzaoVcLKcM,91
|
60
|
+
kekikstream-1.5.1.dist-info/entry_points.txt,sha256=dFwdiTx8djyehI0Gsz-rZwjAfZzUzoBSrmzRu9ubjJc,50
|
61
|
+
kekikstream-1.5.1.dist-info/top_level.txt,sha256=DNmGJDXl27Drdfobrak8KYLmocW_uznVYFJOzcjUgmY,12
|
62
|
+
kekikstream-1.5.1.dist-info/RECORD,,
|
KekikStream/Helpers/Unpack.py
DELETED
@@ -1,75 +0,0 @@
|
|
1
|
-
# ! https://github.com/keyiflerolsun/Kekik-cloudstream/blob/master/FilmMakinesi/src/main/kotlin/com/keyiflerolsun/CloseLoadUnpacker.kt
|
2
|
-
|
3
|
-
import re
|
4
|
-
|
5
|
-
packed_extract_regex = re.compile(
|
6
|
-
r"\}\('(.*)',\s*(\d+),\s*(\d+),\s*'(.*?)'\.split\('\|'\)",
|
7
|
-
re.IGNORECASE | re.MULTILINE
|
8
|
-
)
|
9
|
-
|
10
|
-
unpack_replace_regex = re.compile(
|
11
|
-
r"\b\w+\b",
|
12
|
-
re.IGNORECASE | re.MULTILINE
|
13
|
-
)
|
14
|
-
|
15
|
-
class Unbaser:
|
16
|
-
ALPHABET = {
|
17
|
-
52: "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOP",
|
18
|
-
54: "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQR",
|
19
|
-
62: "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ",
|
20
|
-
95: " !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~"
|
21
|
-
}
|
22
|
-
|
23
|
-
def __init__(self, base: int):
|
24
|
-
self.base = base
|
25
|
-
|
26
|
-
if base > 62:
|
27
|
-
self.selector = 95
|
28
|
-
elif base > 54:
|
29
|
-
self.selector = 62
|
30
|
-
elif base > 52:
|
31
|
-
self.selector = 54
|
32
|
-
else:
|
33
|
-
self.selector = 52
|
34
|
-
|
35
|
-
self.dict = {char: idx for idx, char in enumerate(Unbaser.ALPHABET[self.selector])}
|
36
|
-
|
37
|
-
def unbase(self, value: str) -> int:
|
38
|
-
if 2 <= self.base <= 36:
|
39
|
-
try:
|
40
|
-
return int(value, self.base)
|
41
|
-
except ValueError:
|
42
|
-
return 0
|
43
|
-
else:
|
44
|
-
result = 0
|
45
|
-
|
46
|
-
for index, c in enumerate(reversed(value)):
|
47
|
-
digit = self.dict.get(c, 0)
|
48
|
-
result += digit * (self.base ** index)
|
49
|
-
|
50
|
-
return result
|
51
|
-
|
52
|
-
def unpack(script_block: str) -> str:
|
53
|
-
match = packed_extract_regex.search(script_block)
|
54
|
-
if not match:
|
55
|
-
raise ValueError("Packed script not found")
|
56
|
-
|
57
|
-
payload, radix_str, count_str, symtab_str = match.groups()
|
58
|
-
|
59
|
-
radix = int(radix_str)
|
60
|
-
count = int(count_str)
|
61
|
-
symtab = symtab_str.split('|')
|
62
|
-
|
63
|
-
if len(symtab) != count:
|
64
|
-
raise ValueError("there is an error in the packed script")
|
65
|
-
|
66
|
-
unbaser = Unbaser(radix)
|
67
|
-
|
68
|
-
def replacer(match_obj):
|
69
|
-
word = match_obj.group(0)
|
70
|
-
index = unbaser.unbase(word)
|
71
|
-
replacement = symtab[index] if index < len(symtab) else word
|
72
|
-
|
73
|
-
return replacement or word
|
74
|
-
|
75
|
-
return unpack_replace_regex.sub(replacer, payload)
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|