KekikStream 1.3.0__py3-none-any.whl → 1.3.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/Extractors/CloseLoad.py +25 -9
- KekikStream/Helpers/Unpack.py +75 -0
- KekikStream/Plugins/DiziYou.py +39 -3
- KekikStream/Plugins/FilmMakinesi.py +47 -3
- KekikStream/Plugins/FullHDFilmizlesene.py +50 -3
- {kekikstream-1.3.0.dist-info → kekikstream-1.3.2.dist-info}/METADATA +1 -1
- {kekikstream-1.3.0.dist-info → kekikstream-1.3.2.dist-info}/RECORD +11 -10
- {kekikstream-1.3.0.dist-info → kekikstream-1.3.2.dist-info}/LICENSE +0 -0
- {kekikstream-1.3.0.dist-info → kekikstream-1.3.2.dist-info}/WHEEL +0 -0
- {kekikstream-1.3.0.dist-info → kekikstream-1.3.2.dist-info}/entry_points.txt +0 -0
- {kekikstream-1.3.0.dist-info → kekikstream-1.3.2.dist-info}/top_level.txt +0 -0
@@ -1,8 +1,27 @@
|
|
1
1
|
# Bu araç @keyiflerolsun tarafından | @KekikAkademi için yazılmıştır.
|
2
2
|
|
3
|
-
from KekikStream.Core
|
4
|
-
from
|
5
|
-
|
3
|
+
from KekikStream.Core import ExtractorBase, ExtractResult
|
4
|
+
from KekikStream.Helpers.Unpack import unpack
|
5
|
+
import re, base64
|
6
|
+
|
7
|
+
def get_m3u_link(data: str) -> str:
|
8
|
+
first = base64.b64decode(data)
|
9
|
+
first_reversed = first[::-1]
|
10
|
+
|
11
|
+
second = base64.b64decode(first_reversed)
|
12
|
+
|
13
|
+
parts = second.decode('utf-8').split("|")
|
14
|
+
if len(parts) < 2:
|
15
|
+
raise ValueError("Decoded data has an unexpected format.")
|
16
|
+
|
17
|
+
return parts[1]
|
18
|
+
|
19
|
+
def extract_data(raw_script: str) -> str:
|
20
|
+
pattern = re.compile(r'return result\}var .*?=.*?\("(.*?)"\)')
|
21
|
+
if match := pattern.search(raw_script):
|
22
|
+
return match[1]
|
23
|
+
else:
|
24
|
+
raise Exception("data not found")
|
6
25
|
|
7
26
|
class CloseLoadExtractor(ExtractorBase):
|
8
27
|
name = "CloseLoad"
|
@@ -15,12 +34,9 @@ class CloseLoadExtractor(ExtractorBase):
|
|
15
34
|
istek = await self.httpx.get(url)
|
16
35
|
istek.raise_for_status()
|
17
36
|
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
raise ValueError("Base64 kodu bulunamadı.")
|
22
|
-
|
23
|
-
m3u_link = b64decode(f"{atob[0]}===").decode("utf-8")
|
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)))
|
39
|
+
print(m3u_link)
|
24
40
|
|
25
41
|
await self.close()
|
26
42
|
return ExtractResult(
|
@@ -0,0 +1,75 @@
|
|
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)
|
KekikStream/Plugins/DiziYou.py
CHANGED
@@ -1,12 +1,48 @@
|
|
1
1
|
# Bu araç @keyiflerolsun tarafından | @KekikAkademi için yazılmıştır.
|
2
2
|
|
3
|
-
from KekikStream.Core import kekik_cache, PluginBase, SearchResult, SeriesInfo, Episode, Subtitle, ExtractResult
|
3
|
+
from KekikStream.Core import kekik_cache, PluginBase, MainPageResult, SearchResult, SeriesInfo, Episode, Subtitle, ExtractResult
|
4
4
|
from parsel import Selector
|
5
5
|
import re
|
6
6
|
|
7
7
|
class DiziYou(PluginBase):
|
8
|
-
name
|
9
|
-
|
8
|
+
name = "DiziYou"
|
9
|
+
language = "tr"
|
10
|
+
main_url = "https://www.diziyou1.com"
|
11
|
+
favicon = f"https://www.google.com/s2/favicons?domain={main_url}&sz=64"
|
12
|
+
description = "Diziyou en kaliteli Türkçe dublaj ve altyazılı yabancı dizi izleme sitesidir. Güncel ve efsanevi dizileri 1080p Full HD kalitede izlemek için hemen tıkla!"
|
13
|
+
|
14
|
+
main_page = {
|
15
|
+
f"{main_url}/dizi-arsivi/page/SAYFA/?tur=Aile" : "Aile",
|
16
|
+
f"{main_url}/dizi-arsivi/page/SAYFA/?tur=Aksiyon" : "Aksiyon",
|
17
|
+
f"{main_url}/dizi-arsivi/page/SAYFA/?tur=Animasyon" : "Animasyon",
|
18
|
+
f"{main_url}/dizi-arsivi/page/SAYFA/?tur=Belgesel" : "Belgesel",
|
19
|
+
f"{main_url}/dizi-arsivi/page/SAYFA/?tur=Bilim+Kurgu" : "Bilim Kurgu",
|
20
|
+
f"{main_url}/dizi-arsivi/page/SAYFA/?tur=Dram" : "Dram",
|
21
|
+
f"{main_url}/dizi-arsivi/page/SAYFA/?tur=Fantazi" : "Fantazi",
|
22
|
+
f"{main_url}/dizi-arsivi/page/SAYFA/?tur=Gerilim" : "Gerilim",
|
23
|
+
f"{main_url}/dizi-arsivi/page/SAYFA/?tur=Gizem" : "Gizem",
|
24
|
+
f"{main_url}/dizi-arsivi/page/SAYFA/?tur=Komedi" : "Komedi",
|
25
|
+
f"{main_url}/dizi-arsivi/page/SAYFA/?tur=Korku" : "Korku",
|
26
|
+
f"{main_url}/dizi-arsivi/page/SAYFA/?tur=Macera" : "Macera",
|
27
|
+
f"{main_url}/dizi-arsivi/page/SAYFA/?tur=Sava%C5%9F" : "Savaş",
|
28
|
+
f"{main_url}/dizi-arsivi/page/SAYFA/?tur=Su%C3%A7" : "Suç",
|
29
|
+
f"{main_url}/dizi-arsivi/page/SAYFA/?tur=Vah%C5%9Fi+Bat%C4%B1" : "Vahşi Batı"
|
30
|
+
}
|
31
|
+
|
32
|
+
@kekik_cache(ttl=60*60)
|
33
|
+
async def get_main_page(self, page: int, url: str, category: str) -> list[MainPageResult]:
|
34
|
+
istek = await self.httpx.get(f"{url.replace('SAYFA', str(page))}")
|
35
|
+
secici = Selector(istek.text)
|
36
|
+
|
37
|
+
return [
|
38
|
+
MainPageResult(
|
39
|
+
category = category,
|
40
|
+
title = veri.css("div#categorytitle a::text").get(),
|
41
|
+
url = self.fix_url(veri.css("div#categorytitle a::attr(href)").get()),
|
42
|
+
poster = self.fix_url(veri.css("img::attr(src)").get()),
|
43
|
+
)
|
44
|
+
for veri in secici.css("div.single-item")
|
45
|
+
]
|
10
46
|
|
11
47
|
@kekik_cache(ttl=60*60)
|
12
48
|
async def search(self, query: str) -> list[SearchResult]:
|
@@ -1,11 +1,55 @@
|
|
1
1
|
# Bu araç @keyiflerolsun tarafından | @KekikAkademi için yazılmıştır.
|
2
2
|
|
3
|
-
from KekikStream.Core import kekik_cache, PluginBase, SearchResult, MovieInfo
|
3
|
+
from KekikStream.Core import kekik_cache, PluginBase, MainPageResult, SearchResult, MovieInfo
|
4
4
|
from parsel import Selector
|
5
5
|
|
6
6
|
class FilmMakinesi(PluginBase):
|
7
|
-
name
|
8
|
-
|
7
|
+
name = "FilmMakinesi"
|
8
|
+
language = "tr"
|
9
|
+
main_url = "https://filmmakinesi.de"
|
10
|
+
favicon = f"https://www.google.com/s2/favicons?domain={main_url}&sz=64"
|
11
|
+
description = "Film Makinesi, en yeni ve en güncel filmleri sitemizde full HD kalite farkı ile izleyebilirsiniz. HD film izle denildiğinde akla gelen en kaliteli film izleme sitesi."
|
12
|
+
|
13
|
+
main_page = {
|
14
|
+
f"{main_url}/page/" : "Son Filmler",
|
15
|
+
f"{main_url}/film-izle/olmeden-izlenmesi-gerekenler/page/" : "Ölmeden İzle",
|
16
|
+
f"{main_url}/film-izle/aksiyon-filmleri-izle/page/" : "Aksiyon",
|
17
|
+
f"{main_url}/film-izle/bilim-kurgu-filmi-izle/page/" : "Bilim Kurgu",
|
18
|
+
f"{main_url}/film-izle/macera-filmleri/page/" : "Macera",
|
19
|
+
f"{main_url}/film-izle/komedi-filmi-izle/page/" : "Komedi",
|
20
|
+
f"{main_url}/film-izle/romantik-filmler-izle/page/" : "Romantik",
|
21
|
+
f"{main_url}/film-izle/belgesel/page/" : "Belgesel",
|
22
|
+
f"{main_url}/film-izle/fantastik-filmler-izle/page/" : "Fantastik",
|
23
|
+
f"{main_url}/film-izle/polisiye-filmleri-izle/page/" : "Polisiye Suç",
|
24
|
+
f"{main_url}/film-izle/korku-filmleri-izle-hd/page/" : "Korku",
|
25
|
+
f"{main_url}/film-izle/savas/page/" : "Tarihi ve Savaş",
|
26
|
+
f"{main_url}/film-izle/gerilim-filmleri-izle/page/" : "Gerilim Heyecan",
|
27
|
+
f"{main_url}/film-izle/gizemli/page/" : "Gizem",
|
28
|
+
f"{main_url}/film-izle/aile-filmleri/page/" : "Aile",
|
29
|
+
f"{main_url}/film-izle/animasyon-filmler/page/" : "Animasyon",
|
30
|
+
f"{main_url}/film-izle/western/page/" : "Western",
|
31
|
+
f"{main_url}/film-izle/biyografi/page/" : "Biyografik",
|
32
|
+
f"{main_url}/film-izle/dram/page/" : "Dram",
|
33
|
+
f"{main_url}/film-izle/muzik/page/" : "Müzik",
|
34
|
+
f"{main_url}/film-izle/spor/page/" : "Spor"
|
35
|
+
}
|
36
|
+
|
37
|
+
@kekik_cache(ttl=60*60)
|
38
|
+
async def get_main_page(self, page: int, url: str, category: str) -> list[MainPageResult]:
|
39
|
+
istek = self.cloudscraper.get(f"{url}{page}")
|
40
|
+
secici = Selector(istek.text)
|
41
|
+
|
42
|
+
veriler = secici.css("section#film_posts article") if "/film-izle/" in url else secici.css("section#film_posts div.tooltip")
|
43
|
+
|
44
|
+
return [
|
45
|
+
MainPageResult(
|
46
|
+
category = category,
|
47
|
+
title = veri.css("h6 a::text").get(),
|
48
|
+
url = self.fix_url(veri.css("h6 a::attr(href)").get()),
|
49
|
+
poster = self.fix_url(veri.css("img::attr(data-src)").get() or veri.css("img::attr(src)").get()),
|
50
|
+
)
|
51
|
+
for veri in veriler
|
52
|
+
]
|
9
53
|
|
10
54
|
@kekik_cache(ttl=60*60)
|
11
55
|
async def search(self, query: str) -> list[SearchResult]:
|
@@ -1,13 +1,60 @@
|
|
1
1
|
# Bu araç @keyiflerolsun tarafından | @KekikAkademi için yazılmıştır.
|
2
2
|
|
3
|
-
from KekikStream.Core import kekik_cache, PluginBase, SearchResult, MovieInfo
|
3
|
+
from KekikStream.Core import kekik_cache, PluginBase, MainPageResult, SearchResult, MovieInfo
|
4
4
|
from parsel import Selector
|
5
5
|
from Kekik.Sifreleme import StringCodec
|
6
6
|
import json, re
|
7
7
|
|
8
8
|
class FullHDFilmizlesene(PluginBase):
|
9
|
-
name
|
10
|
-
|
9
|
+
name = "FullHDFilmizlesene"
|
10
|
+
language = "tr"
|
11
|
+
main_url = "https://www.fullhdfilmizlesene.de"
|
12
|
+
favicon = f"https://www.google.com/s2/favicons?domain={main_url}&sz=64"
|
13
|
+
description = "Sinema zevkini evinize kadar getirdik. Türkiye'nin lider Film sitesinde, en yeni filmleri Full HD izleyin."
|
14
|
+
|
15
|
+
main_page = {
|
16
|
+
f"{main_url}/en-cok-izlenen-filmler-izle-hd/" : "En Çok izlenen Filmler",
|
17
|
+
f"{main_url}/filmizle/imdb-puani-yuksek-filmler-izle-1/" : "IMDB Puanı Yüksek Filmler",
|
18
|
+
f"{main_url}/filmizle/aile-filmleri-izle-2/" : "Aile Filmleri",
|
19
|
+
f"{main_url}/filmizle/aksiyon-filmler-izle-1/" : "Aksiyon Filmleri",
|
20
|
+
f"{main_url}/filmizle/animasyon-filmleri-izle-4/" : "Animasyon Filmleri",
|
21
|
+
f"{main_url}/filmizle/belgesel-filmleri-izle-2/" : "Belgeseller",
|
22
|
+
f"{main_url}/filmizle/bilim-kurgu-filmleri-izle-1/" : "Bilim Kurgu Filmleri",
|
23
|
+
f"{main_url}/filmizle/bluray-filmler-izle-1/" : "Blu Ray Filmler",
|
24
|
+
f"{main_url}/filmizle/cizgi-filmler-izle-1/" : "Çizgi Filmler",
|
25
|
+
f"{main_url}/filmizle/dram-filmleri-izle/" : "Dram Filmleri",
|
26
|
+
f"{main_url}/filmizle/fantastik-filmleri-izle-2/" : "Fantastik Filmler",
|
27
|
+
f"{main_url}/filmizle/gerilim-filmleri-izle-3/" : "Gerilim Filmleri",
|
28
|
+
f"{main_url}/filmizle/gizem-filmleri-izle/" : "Gizem Filmleri",
|
29
|
+
f"{main_url}/filmizle/hint-filmler-fh-hd-izle/" : "Hint Filmleri",
|
30
|
+
f"{main_url}/filmizle/komedi-filmleri-izle-2/" : "Komedi Filmleri",
|
31
|
+
f"{main_url}/filmizle/korku-filmleri-izle-2/" : "Korku Filmleri",
|
32
|
+
f"{main_url}/filmizle/macera-filmleri-izle-1/" : "Macera Filmleri",
|
33
|
+
f"{main_url}/filmizle/muzikal-filmleri-izle/" : "Müzikal Filmler",
|
34
|
+
f"{main_url}/filmizle/polisiye-filmleri-izle-1/" : "Polisiye Filmleri",
|
35
|
+
f"{main_url}/filmizle/psikolojik-filmleri-izle/" : "Psikolojik Filmler",
|
36
|
+
f"{main_url}/filmizle/romantik-filmler-izle-1/" : "Romantik Filmler",
|
37
|
+
f"{main_url}/filmizle/savas-filmleri-izle-2/" : "Savaş Filmleri",
|
38
|
+
f"{main_url}/filmizle/suc-filmleri-izle-3/" : "Suç Filmleri",
|
39
|
+
f"{main_url}/filmizle/tarih-filmleri-izle/" : "Tarih Filmleri",
|
40
|
+
f"{main_url}/filmizle/western-filmleri-izle/" : "Western Filmler",
|
41
|
+
f"{main_url}/filmizle/yerli-filmler-izle-3/" : "Yerli Filmler",
|
42
|
+
}
|
43
|
+
|
44
|
+
@kekik_cache(ttl=60*60)
|
45
|
+
async def get_main_page(self, page: int, url: str, category: str) -> list[MainPageResult]:
|
46
|
+
istek = self.cloudscraper.get(f"{url}{page}")
|
47
|
+
secici = Selector(istek.text)
|
48
|
+
|
49
|
+
return [
|
50
|
+
MainPageResult(
|
51
|
+
category = category,
|
52
|
+
title = veri.css("span.film-title::text").get(),
|
53
|
+
url = self.fix_url(veri.css("a::attr(href)").get()),
|
54
|
+
poster = self.fix_url(veri.css("img::attr(data-src)").get()),
|
55
|
+
)
|
56
|
+
for veri in secici.css("li.film")
|
57
|
+
]
|
11
58
|
|
12
59
|
@kekik_cache(ttl=60*60)
|
13
60
|
async def search(self, query: str) -> list[SearchResult]:
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.2
|
2
2
|
Name: KekikStream
|
3
|
-
Version: 1.3.
|
3
|
+
Version: 1.3.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
|
@@ -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=JUU4ZLfP9ahTRJwl7n2TMGyu9V8IIUJBmeN-RTywgrs,1486
|
19
19
|
KekikStream/Extractors/ContentX.py,sha256=u1sDdM79MNx9OdPTPcAA0OQDS7537IO8aJlffxhMi8c,2976
|
20
20
|
KekikStream/Extractors/FourCX.py,sha256=4FrMj1IZBBpN_g1P6S3A-8eUu7QFwlt4fJXzJ7vfe0Q,221
|
21
21
|
KekikStream/Extractors/FourPichive.py,sha256=iq3BCUbih1UVF4y4BIWO--0hX5jP2nxqesNx3MGP3kQ,234
|
@@ -42,11 +42,12 @@ KekikStream/Extractors/VidMoly.py,sha256=O6F_82E-LeFVOgSw-ot91B1ZP8pqqt1jZ5pmkwk
|
|
42
42
|
KekikStream/Extractors/VidMolyMe.py,sha256=ogLiFUJVqFbhtzQrZ1gSB9me85DiHvntjWtSvidYVS8,218
|
43
43
|
KekikStream/Extractors/VidMoxy.py,sha256=T1iqfyOasRxoepmuWAmXeVW6E7M1O18KG3264KUSzc0,1798
|
44
44
|
KekikStream/Extractors/VideoSeyred.py,sha256=M6QPZ_isX9vM_7LPo-2I_8Cf1vB9awHw8vvzBODtoiQ,1977
|
45
|
+
KekikStream/Helpers/Unpack.py,sha256=iS-r6k-NHlBleWsVwv_QXLaEMbJRBUXDKqVE6NkWEIk,2235
|
45
46
|
KekikStream/Plugins/DiziBox.py,sha256=Vk7ujbMTORimFNXA7BTZkQnXs-6WBfI7iIJxFYRJaH0,9326
|
46
|
-
KekikStream/Plugins/DiziYou.py,sha256=
|
47
|
+
KekikStream/Plugins/DiziYou.py,sha256=_4ZV1T7Pco1_Hvbu9--QeDeU7xx_OfqtMWTNTAg2IY8,7995
|
47
48
|
KekikStream/Plugins/Dizilla.py,sha256=E3HehhcnZBDVJzroRa7jlFzj3ixdx9-LT7YnWKmcX3Q,6899
|
48
|
-
KekikStream/Plugins/FilmMakinesi.py,sha256=
|
49
|
-
KekikStream/Plugins/FullHDFilmizlesene.py,sha256=
|
49
|
+
KekikStream/Plugins/FilmMakinesi.py,sha256=J4v35Ln3RehWPai3I-9nWrasRLx3hN3IgrWVpt5b_HE,5712
|
50
|
+
KekikStream/Plugins/FullHDFilmizlesene.py,sha256=AO9Il0PE77JUvg1AN4Vxl95pTrCBbOjclqFGWuzo7cY,6271
|
50
51
|
KekikStream/Plugins/HDFilmCehennemi.py,sha256=I932zIgfJeqcD64Lb2742n24JF84aQ7To-WVDtn5fnE,6767
|
51
52
|
KekikStream/Plugins/JetFilmizle.py,sha256=2gXx55v3e46pcn_rNXgvLqIOe7Bg0FcZJ_UHznBfC5M,4008
|
52
53
|
KekikStream/Plugins/RecTV.py,sha256=Ff0-YrrzkiBvKo6FelMIX5vtJw22WvXmZpiKyboX7Kg,5163
|
@@ -54,9 +55,9 @@ KekikStream/Plugins/SezonlukDizi.py,sha256=fNVVKYIDiZnAYNT84sEp3PuPJwn6Az12UjiCO
|
|
54
55
|
KekikStream/Plugins/Shorten.py,sha256=ei3lDfGWX-pAWxASxeusKZWNHlYe-a4uNKUMo69wemk,8945
|
55
56
|
KekikStream/Plugins/SineWix.py,sha256=XbuV8PxScbx87GuLkgHul-AdBKMDA-nCoAxr4pb2PNc,7141
|
56
57
|
KekikStream/Plugins/UgurFilm.py,sha256=xLxUI8nx9xH18wB9dhSWEvLGdxuonRkf75BnjIOkfPY,3019
|
57
|
-
kekikstream-1.3.
|
58
|
-
kekikstream-1.3.
|
59
|
-
kekikstream-1.3.
|
60
|
-
kekikstream-1.3.
|
61
|
-
kekikstream-1.3.
|
62
|
-
kekikstream-1.3.
|
58
|
+
kekikstream-1.3.2.dist-info/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
|
59
|
+
kekikstream-1.3.2.dist-info/METADATA,sha256=Z3Ki6yHqDcrKAUIpDyibxw-1m2zd6IUfxvC5kn_OY04,4508
|
60
|
+
kekikstream-1.3.2.dist-info/WHEEL,sha256=jB7zZ3N9hIM9adW7qlTAyycLYW9npaWKLRzaoVcLKcM,91
|
61
|
+
kekikstream-1.3.2.dist-info/entry_points.txt,sha256=dFwdiTx8djyehI0Gsz-rZwjAfZzUzoBSrmzRu9ubjJc,50
|
62
|
+
kekikstream-1.3.2.dist-info/top_level.txt,sha256=DNmGJDXl27Drdfobrak8KYLmocW_uznVYFJOzcjUgmY,12
|
63
|
+
kekikstream-1.3.2.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|