KekikStream 2.1.7__py3-none-any.whl → 2.2.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/Filemoon.py +78 -0
- KekikStream/Extractors/JFVid.py +40 -0
- KekikStream/Extractors/RapidVid.py +15 -5
- KekikStream/Extractors/VidHide.py +11 -2
- KekikStream/Plugins/JetFilmizle.py +20 -1
- KekikStream/Plugins/SezonlukDizi.py +17 -0
- {kekikstream-2.1.7.dist-info → kekikstream-2.2.2.dist-info}/METADATA +2 -1
- {kekikstream-2.1.7.dist-info → kekikstream-2.2.2.dist-info}/RECORD +12 -10
- {kekikstream-2.1.7.dist-info → kekikstream-2.2.2.dist-info}/WHEEL +0 -0
- {kekikstream-2.1.7.dist-info → kekikstream-2.2.2.dist-info}/entry_points.txt +0 -0
- {kekikstream-2.1.7.dist-info → kekikstream-2.2.2.dist-info}/licenses/LICENSE +0 -0
- {kekikstream-2.1.7.dist-info → kekikstream-2.2.2.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,78 @@
|
|
|
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 Packer
|
|
5
|
+
from parsel import Selector
|
|
6
|
+
import re
|
|
7
|
+
|
|
8
|
+
class Filemoon(ExtractorBase):
|
|
9
|
+
name = "Filemoon"
|
|
10
|
+
main_url = "https://filemoon.to"
|
|
11
|
+
|
|
12
|
+
# Filemoon'un farklı domainlerini destekle
|
|
13
|
+
supported_domains = [
|
|
14
|
+
"filemoon.to",
|
|
15
|
+
"filemoon.in",
|
|
16
|
+
"filemoon.sx",
|
|
17
|
+
"filemoon.nl",
|
|
18
|
+
"filemoon.com"
|
|
19
|
+
]
|
|
20
|
+
|
|
21
|
+
def can_handle_url(self, url: str) -> bool:
|
|
22
|
+
return any(domain in url for domain in self.supported_domains)
|
|
23
|
+
|
|
24
|
+
async def extract(self, url: str, referer: str = None) -> ExtractResult:
|
|
25
|
+
headers = {
|
|
26
|
+
"Referer" : url,
|
|
27
|
+
"Sec-Fetch-Dest" : "iframe",
|
|
28
|
+
"Sec-Fetch-Mode" : "navigate",
|
|
29
|
+
"Sec-Fetch-Site" : "cross-site",
|
|
30
|
+
}
|
|
31
|
+
self.httpx.headers.update(headers)
|
|
32
|
+
|
|
33
|
+
# İlk sayfayı al
|
|
34
|
+
istek = await self.httpx.get(url)
|
|
35
|
+
response = istek.text
|
|
36
|
+
secici = Selector(response)
|
|
37
|
+
|
|
38
|
+
# Eğer iframe varsa, iframe'e git
|
|
39
|
+
iframe_src = secici.css("iframe::attr(src)").get()
|
|
40
|
+
if iframe_src:
|
|
41
|
+
iframe_url = self.fix_url(iframe_src)
|
|
42
|
+
self.httpx.headers.update({
|
|
43
|
+
"Accept-Language" : "en-US,en;q=0.5",
|
|
44
|
+
"Sec-Fetch-Dest" : "iframe"
|
|
45
|
+
})
|
|
46
|
+
istek = await self.httpx.get(iframe_url)
|
|
47
|
+
response = istek.text
|
|
48
|
+
|
|
49
|
+
# Packed script'i bul ve unpack et
|
|
50
|
+
m3u8_url = None
|
|
51
|
+
|
|
52
|
+
if Packer.detect_packed(response):
|
|
53
|
+
try:
|
|
54
|
+
unpacked = Packer.unpack(response)
|
|
55
|
+
# sources:[{file:"..." pattern'ını ara
|
|
56
|
+
if match := re.search(r'sources:\s*\[\s*\{\s*file:\s*"([^"]+)"', unpacked):
|
|
57
|
+
m3u8_url = match.group(1)
|
|
58
|
+
elif match := re.search(r'file:\s*"([^"]*?\.m3u8[^"]*)"', unpacked):
|
|
59
|
+
m3u8_url = match.group(1)
|
|
60
|
+
except Exception:
|
|
61
|
+
pass
|
|
62
|
+
|
|
63
|
+
# Fallback: Doğrudan response'ta ara
|
|
64
|
+
if not m3u8_url:
|
|
65
|
+
if match := re.search(r'sources:\s*\[\s*\{\s*file:\s*"([^"]+)"', response):
|
|
66
|
+
m3u8_url = match.group(1)
|
|
67
|
+
elif match := re.search(r'file:\s*"([^"]*?\.m3u8[^"]*)"', response):
|
|
68
|
+
m3u8_url = match.group(1)
|
|
69
|
+
|
|
70
|
+
if not m3u8_url:
|
|
71
|
+
raise ValueError(f"Filemoon: Video URL bulunamadı. {url}")
|
|
72
|
+
|
|
73
|
+
return ExtractResult(
|
|
74
|
+
name = self.name,
|
|
75
|
+
url = self.fix_url(m3u8_url),
|
|
76
|
+
referer = f"{self.main_url}/",
|
|
77
|
+
subtitles = []
|
|
78
|
+
)
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
# Bu araç @keyiflerolsun tarafından | @KekikAkademi için yazılmıştır.
|
|
2
|
+
|
|
3
|
+
from KekikStream.Core import ExtractorBase, ExtractResult
|
|
4
|
+
import re
|
|
5
|
+
|
|
6
|
+
class JFVid(ExtractorBase):
|
|
7
|
+
name = "JFVid"
|
|
8
|
+
main_url = "https://jfvid.com"
|
|
9
|
+
|
|
10
|
+
# Birden fazla domain destekle
|
|
11
|
+
supported_domains = ["jfvid.com"]
|
|
12
|
+
|
|
13
|
+
def can_handle_url(self, url: str) -> bool:
|
|
14
|
+
return any(domain in url for domain in self.supported_domains)
|
|
15
|
+
|
|
16
|
+
async def extract(self, url: str, referer: str = None) -> ExtractResult:
|
|
17
|
+
# Dinamik base URL kullan
|
|
18
|
+
base_url = self.get_base_url(url)
|
|
19
|
+
|
|
20
|
+
if referer:
|
|
21
|
+
self.httpx.headers.update({"Referer": referer})
|
|
22
|
+
|
|
23
|
+
# /play/ endpoint'inden encodedId'yi al
|
|
24
|
+
# URL format: https://xxx.jfvid.com/play/{encodedId}
|
|
25
|
+
if "/play/" in url:
|
|
26
|
+
encoded_id = url.split("/play/")[-1]
|
|
27
|
+
stream_url = f"{base_url}/stream/{encoded_id}"
|
|
28
|
+
elif "/stream/" in url:
|
|
29
|
+
# Zaten stream URL ise doğrudan kullan
|
|
30
|
+
stream_url = url
|
|
31
|
+
else:
|
|
32
|
+
raise ValueError(f"JFVid: Desteklenmeyen URL formatı. {url}")
|
|
33
|
+
|
|
34
|
+
# Stream endpoint'i direkt m3u8 master playlist döndürür
|
|
35
|
+
return ExtractResult(
|
|
36
|
+
name = self.name,
|
|
37
|
+
url = stream_url,
|
|
38
|
+
referer = referer,
|
|
39
|
+
subtitles = []
|
|
40
|
+
)
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# Bu araç @keyiflerolsun tarafından | @KekikAkademi için yazılmıştır.
|
|
2
2
|
|
|
3
3
|
from KekikStream.Core import ExtractorBase, ExtractResult, Subtitle
|
|
4
|
-
from Kekik.Sifreleme import Packer, HexCodec
|
|
4
|
+
from Kekik.Sifreleme import Packer, HexCodec, StreamDecoder
|
|
5
5
|
import re, base64
|
|
6
6
|
|
|
7
7
|
class RapidVid(ExtractorBase):
|
|
@@ -39,15 +39,25 @@ class RapidVid(ExtractorBase):
|
|
|
39
39
|
subtitles.append(Subtitle(name=decoded_lang, url=sub_url.replace("\\", "")))
|
|
40
40
|
|
|
41
41
|
try:
|
|
42
|
+
decoded_url = None
|
|
43
|
+
|
|
44
|
+
# Method 1: file": "..." pattern (HexCodec)
|
|
42
45
|
if extracted_value := re.search(r'file": "(.*)",', istek.text):
|
|
43
46
|
escaped_hex = extracted_value[1]
|
|
44
47
|
decoded_url = HexCodec.decode(escaped_hex)
|
|
45
|
-
else:
|
|
46
|
-
av_encoded = re.search(r"av\('([^']+)'\)", istek.text)
|
|
47
|
-
if not av_encoded:
|
|
48
|
-
raise ValueError("AV encoding not found.")
|
|
49
48
|
|
|
49
|
+
# Method 2: av('...') pattern
|
|
50
|
+
elif av_encoded := re.search(r"av\('([^']+)'\)", istek.text):
|
|
50
51
|
decoded_url = self.decode_secret(av_encoded[1])
|
|
52
|
+
|
|
53
|
+
# Method 3: Packed script with dc_* function (StreamDecoder)
|
|
54
|
+
elif Packer.detect_packed(istek.text):
|
|
55
|
+
unpacked = Packer.unpack(istek.text)
|
|
56
|
+
decoded_url = StreamDecoder.extract_stream_url(unpacked)
|
|
57
|
+
|
|
58
|
+
if not decoded_url:
|
|
59
|
+
raise ValueError("No valid video URL pattern found.")
|
|
60
|
+
|
|
51
61
|
except Exception as hata:
|
|
52
62
|
raise RuntimeError(f"Extraction failed: {hata}") from hata
|
|
53
63
|
|
|
@@ -9,6 +9,12 @@ class VidHide(ExtractorBase):
|
|
|
9
9
|
name = "VidHide"
|
|
10
10
|
main_url = "https://vidhidepro.com"
|
|
11
11
|
|
|
12
|
+
# Birden fazla domain destekle
|
|
13
|
+
supported_domains = ["vidhidepro.com", "vidhide.com", "rubyvidhub.com"]
|
|
14
|
+
|
|
15
|
+
def can_handle_url(self, url: str) -> bool:
|
|
16
|
+
return any(domain in url for domain in self.supported_domains)
|
|
17
|
+
|
|
12
18
|
def get_embed_url(self, url: str) -> str:
|
|
13
19
|
if "/d/" in url:
|
|
14
20
|
return url.replace("/d/", "/v/")
|
|
@@ -20,6 +26,9 @@ class VidHide(ExtractorBase):
|
|
|
20
26
|
return url.replace("/f/", "/v/")
|
|
21
27
|
|
|
22
28
|
async def extract(self, url: str, referer: str = None) -> ExtractResult:
|
|
29
|
+
# Dinamik base URL kullan
|
|
30
|
+
base_url = self.get_base_url(url)
|
|
31
|
+
|
|
23
32
|
if referer:
|
|
24
33
|
self.httpx.headers.update({"Referer": referer})
|
|
25
34
|
|
|
@@ -27,7 +36,7 @@ class VidHide(ExtractorBase):
|
|
|
27
36
|
"Sec-Fetch-Dest" : "empty",
|
|
28
37
|
"Sec-Fetch-Mode" : "cors",
|
|
29
38
|
"Sec-Fetch-Site" : "cross-site",
|
|
30
|
-
"Origin" :
|
|
39
|
+
"Origin" : base_url,
|
|
31
40
|
})
|
|
32
41
|
|
|
33
42
|
embed_url = self.get_embed_url(url)
|
|
@@ -66,7 +75,7 @@ class VidHide(ExtractorBase):
|
|
|
66
75
|
return ExtractResult(
|
|
67
76
|
name = self.name,
|
|
68
77
|
url = self.fix_url(m3u8_url),
|
|
69
|
-
referer = f"{
|
|
78
|
+
referer = f"{base_url}/",
|
|
70
79
|
user_agent = self.httpx.headers.get("User-Agent", ""),
|
|
71
80
|
subtitles = []
|
|
72
81
|
)
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
from KekikStream.Core import PluginBase, MainPageResult, SearchResult, MovieInfo, ExtractResult
|
|
4
4
|
from parsel import Selector
|
|
5
|
+
import re
|
|
5
6
|
|
|
6
7
|
class JetFilmizle(PluginBase):
|
|
7
8
|
name = "JetFilmizle"
|
|
@@ -16,7 +17,25 @@ class JetFilmizle(PluginBase):
|
|
|
16
17
|
f"{main_url}/editorun-secimi/page/" : "Editörün Seçimi",
|
|
17
18
|
f"{main_url}/turk-film-izle/page/" : "Türk Filmleri",
|
|
18
19
|
f"{main_url}/cizgi-filmler-izle/page/" : "Çizgi Filmler",
|
|
19
|
-
f"{main_url}/kategoriler/yesilcam-filmleri-izlee/page/" : "Yeşilçam Filmleri"
|
|
20
|
+
f"{main_url}/kategoriler/yesilcam-filmleri-izlee/page/" : "Yeşilçam Filmleri",
|
|
21
|
+
f"{main_url}/film-turu/aile-filmleri-izle/page/" : "Aile Filmleri",
|
|
22
|
+
f"{main_url}/film-turu/aksiyon-filmleri/page/" : "Aksiyon Filmleri",
|
|
23
|
+
f"{main_url}/film-turu/animasyon-filmler-izle/page/" : "Animasyon Filmleri",
|
|
24
|
+
f"{main_url}/film-turu/bilim-kurgu-filmler/page/" : "Bilim Kurgu Filmleri",
|
|
25
|
+
f"{main_url}/film-turu/dram-filmleri-izle/page/" : "Dram Filmleri",
|
|
26
|
+
f"{main_url}/film-turu/fantastik-filmleri-izle/page/" : "Fantastik Filmler",
|
|
27
|
+
f"{main_url}/film-turu/gerilim-filmleri/page/" : "Gerilim Filmleri",
|
|
28
|
+
f"{main_url}/film-turu/gizem-filmleri/page/" : "Gizem Filmleri",
|
|
29
|
+
f"{main_url}/film-turu/komedi-film-full-izle/page/" : "Komedi Filmleri",
|
|
30
|
+
f"{main_url}/film-turu/korku-filmleri-izle/page/" : "Korku Filmleri",
|
|
31
|
+
f"{main_url}/film-turu/macera-filmleri/page/" : "Macera Filmleri",
|
|
32
|
+
f"{main_url}/film-turu/muzikal/page/" : "Müzikal Filmler",
|
|
33
|
+
f"{main_url}/film-turu/polisiye/page/" : "Polisiye Filmler",
|
|
34
|
+
f"{main_url}/film-turu/romantik-film-izle/page/" : "Romantik Filmler",
|
|
35
|
+
f"{main_url}/film-turu/savas-filmi-izle/page/" : "Savaş Filmleri",
|
|
36
|
+
f"{main_url}/film-turu/spor/page/" : "Spor Filmleri",
|
|
37
|
+
f"{main_url}/film-turu/suc-filmleri/page/" : "Suç Filmleri",
|
|
38
|
+
f"{main_url}/film-turu/tarihi-filmler/page/" : "Tarihi Filmleri",
|
|
20
39
|
}
|
|
21
40
|
|
|
22
41
|
async def get_main_page(self, page: int, url: str, category: str) -> list[MainPageResult]:
|
|
@@ -20,6 +20,23 @@ class SezonlukDizi(PluginBase):
|
|
|
20
20
|
f"{main_url}/diziler.asp?siralama_tipi=id&kat=4&s=" : "Animasyonlar",
|
|
21
21
|
f"{main_url}/diziler.asp?siralama_tipi=id&kat=5&s=" : "Animeler",
|
|
22
22
|
f"{main_url}/diziler.asp?siralama_tipi=id&kat=6&s=" : "Belgeseller",
|
|
23
|
+
f"{main_url}/diziler.asp?siralama_tipi=id&tur=aile&s=" : "Aile",
|
|
24
|
+
f"{main_url}/diziler.asp?siralama_tipi=id&tur=aksiyon&s=" : "Aksiyon",
|
|
25
|
+
f"{main_url}/diziler.asp?siralama_tipi=id&tur=bilimkurgu&s=" : "Bilim Kurgu",
|
|
26
|
+
f"{main_url}/diziler.asp?siralama_tipi=id&tur=biyografik&s=" : "Biyografi",
|
|
27
|
+
f"{main_url}/diziler.asp?siralama_tipi=id&tur=dram&s=" : "Dram",
|
|
28
|
+
f"{main_url}/diziler.asp?siralama_tipi=id&tur=fantastik&s=" : "Fantastik",
|
|
29
|
+
f"{main_url}/diziler.asp?siralama_tipi=id&tur=gerilim&s=" : "Gerilim",
|
|
30
|
+
f"{main_url}/diziler.asp?siralama_tipi=id&tur=gizem&s=" : "Gizem",
|
|
31
|
+
f"{main_url}/diziler.asp?siralama_tipi=id&tur=korku&s=" : "Korku",
|
|
32
|
+
f"{main_url}/diziler.asp?siralama_tipi=id&tur=komedi&s=" : "Komedi",
|
|
33
|
+
f"{main_url}/diziler.asp?siralama_tipi=id&tur=macera&s=" : "Macera",
|
|
34
|
+
f"{main_url}/diziler.asp?siralama_tipi=id&tur=muzikal&s=" : "Müzikal",
|
|
35
|
+
f"{main_url}/diziler.asp?siralama_tipi=id&tur=suc&s=" : "Suç",
|
|
36
|
+
f"{main_url}/diziler.asp?siralama_tipi=id&tur=romantik&s=" : "Romantik",
|
|
37
|
+
f"{main_url}/diziler.asp?siralama_tipi=id&tur=savas&s=" : "Savaş",
|
|
38
|
+
f"{main_url}/diziler.asp?siralama_tipi=id&tur=tarihi&s=" : "Tarihi",
|
|
39
|
+
f"{main_url}/diziler.asp?siralama_tipi=id&tur=western&s=" : "Western"
|
|
23
40
|
}
|
|
24
41
|
|
|
25
42
|
async def get_main_page(self, page: int, url: str, category: str) -> list[MainPageResult]:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: KekikStream
|
|
3
|
-
Version: 2.
|
|
3
|
+
Version: 2.2.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
|
|
@@ -294,6 +294,7 @@ Projeyi geliştirmek için katkılarınızı bekliyoruz!
|
|
|
294
294
|
- [keyiflerolsun/seyirTurk-Parser](https://github.com/keyiflerolsun/seyirTurk-Parser)
|
|
295
295
|
- [feroxx/Kekik-cloudstream](https://github.com/feroxx/Kekik-cloudstream)
|
|
296
296
|
- [kerimmkirac/cs-kerim](https://github.com/kerimmkirac/cs-kerim)
|
|
297
|
+
- [Phisher98/Extractors](https://github.com/phisher98/cloudstream-extensions-phisher/blob/master/StreamPlay/src/main/kotlin/com/Phisher98/Extractors.kt)
|
|
297
298
|
|
|
298
299
|
## 🌐 Telif Hakkı ve Lisans
|
|
299
300
|
|
|
@@ -21,7 +21,9 @@ KekikStream/Extractors/ContentX.py,sha256=x0j67e1OAw4L1m7ejUTyiIxqr1EhvpjaA_0U-s
|
|
|
21
21
|
KekikStream/Extractors/DonilasPlay.py,sha256=Lr60pEht96SMlXICYWo9J5dOwV4ty8fetBCCqJ3ARUY,3221
|
|
22
22
|
KekikStream/Extractors/DzenRu.py,sha256=X0Rhm1-W4YjQwVrJs8YFqVcCxMaZi8rsKiLhK_ZsYlU,1185
|
|
23
23
|
KekikStream/Extractors/ExPlay.py,sha256=EJNVKAbaIxlbOsCx7J9aLfNHKOFoqSLZZUw7W4QYeH0,1827
|
|
24
|
+
KekikStream/Extractors/Filemoon.py,sha256=l0AVyRrYA2DTuSkYoy6Jh02_w53TeBRyROkY9koiees,2684
|
|
24
25
|
KekikStream/Extractors/HDPlayerSystem.py,sha256=EgnFzx5Q4PkuwAtuff5SYU9k59B-CyOdySl7lbCZ9hM,1312
|
|
26
|
+
KekikStream/Extractors/JFVid.py,sha256=_6A0zmYrWZxIfkCCKAaNxMRLjU-_0Z0hCxCNSApcknk,1350
|
|
25
27
|
KekikStream/Extractors/JetTv.py,sha256=aA3WeOvR-tszac-WSwunZZb1NRy25TQH8vxY3TDscRI,1596
|
|
26
28
|
KekikStream/Extractors/MailRu.py,sha256=xQVCWwYqNoG5T43VAW1_m0v4e80FbO-1pNPKkwhTccU,1218
|
|
27
29
|
KekikStream/Extractors/MixPlayHD.py,sha256=POV_yq3KoZ6S6EqFsKYULEBz92NdUa2BpYKNo0eNQH8,1552
|
|
@@ -31,7 +33,7 @@ KekikStream/Extractors/Odnoklassniki.py,sha256=YfFRCL3Ag5N4zDzK9ZLOr3HVQcsETFQpf
|
|
|
31
33
|
KekikStream/Extractors/PeaceMakerst.py,sha256=pEgJb3KDfEPAUjbuvrYbUlxIciKgED-Vd0arrRO3QCk,2317
|
|
32
34
|
KekikStream/Extractors/PixelDrain.py,sha256=Uk2pPvtBzaKtRXu1iNO8FLHd0EAuIOIzI1H_n02tg-U,964
|
|
33
35
|
KekikStream/Extractors/PlayerFilmIzle.py,sha256=kH-O_RtQvG4iRLGKi-sFn1ST14DrxxoAa5iRT2PsdXc,2503
|
|
34
|
-
KekikStream/Extractors/RapidVid.py,sha256=
|
|
36
|
+
KekikStream/Extractors/RapidVid.py,sha256=t_8ZUp5DCTIaohc5aW4s9HEQQ1A2lU5bTMX84lctmtY,3529
|
|
35
37
|
KekikStream/Extractors/SetPlay.py,sha256=6XuNXoNFM1h3KOCkTxeZmcAl8QTdqzVN_pp_dEIKF8A,2235
|
|
36
38
|
KekikStream/Extractors/SetPrime.py,sha256=ob09y-Sm91YR7rIRzikhZiMHX6D4Djm5QzFTg6KbO4k,1536
|
|
37
39
|
KekikStream/Extractors/SibNet.py,sha256=zJTkzlr34ufKCWzKKCgJrzhb2o-fpjTjFdi38gv6N6g,849
|
|
@@ -41,7 +43,7 @@ KekikStream/Extractors/TauVideo.py,sha256=2ai9BwwM6qlCgxK7E0B642LtOF5y4hEb9tQ2aD
|
|
|
41
43
|
KekikStream/Extractors/TurboImgz.py,sha256=nnWnP1K4JZbMj6S-YuXxej31UZtF4JcboSW4n7A4A5c,824
|
|
42
44
|
KekikStream/Extractors/TurkeyPlayer.py,sha256=FX_H3vzXjAD7IjK11bjJVVw_VdPQ4n6YQLfjQ6E3t7o,1247
|
|
43
45
|
KekikStream/Extractors/VCTPlay.py,sha256=1BCl2_vVIrwvG56LCzl2KE5g2CUaMAhzImOZMdZpZCQ,1377
|
|
44
|
-
KekikStream/Extractors/VidHide.py,sha256=
|
|
46
|
+
KekikStream/Extractors/VidHide.py,sha256=UIAPFLbGDPRjcJVuDmaVbFN5r0ZyJoW4CRn1INH8mJs,2837
|
|
45
47
|
KekikStream/Extractors/VidMoly.py,sha256=QLRRGH1uHFTREl5Oq3V8WIkVpqaZuuygmHaW1ulj1Lg,4774
|
|
46
48
|
KekikStream/Extractors/VidMoxy.py,sha256=LT7wTKBtuuagXwfGjWZwQF2NQGuChurZJ-I6gM0Jcek,1771
|
|
47
49
|
KekikStream/Extractors/VidPapi.py,sha256=g9ohdL9VJrxy4N7xerbIRz3ZxjsXFHlJWy0NaZ31hFY,3259
|
|
@@ -59,22 +61,22 @@ KekikStream/Plugins/FilmModu.py,sha256=HVawdKHuqcFb3PQ-93uwGlwv1dNhkM2kpStBlTJJX
|
|
|
59
61
|
KekikStream/Plugins/FullHDFilm.py,sha256=fimK5MqPYjmog859lfuEuJeg8AGylYyDm36Ak3X3Msg,9768
|
|
60
62
|
KekikStream/Plugins/FullHDFilmizlesene.py,sha256=_-HaoNvPVzITB_aK3jOkSSAOA50SYFNdnjHH4JGCmOc,6078
|
|
61
63
|
KekikStream/Plugins/HDFilmCehennemi.py,sha256=I-dwkerkwfzcaSQA9XzIGh2LeRywBGydX0D0k6FmoOc,13029
|
|
62
|
-
KekikStream/Plugins/JetFilmizle.py,sha256=
|
|
64
|
+
KekikStream/Plugins/JetFilmizle.py,sha256=njmaX7Rhi0bewZvK_NO9PTs86uB-8zxYcuwrYthA2aw,7956
|
|
63
65
|
KekikStream/Plugins/KultFilmler.py,sha256=ODnQu2_qLKx68dpT16MFUiIXYQlkQSDU0x15o91LWU8,9097
|
|
64
66
|
KekikStream/Plugins/RecTV.py,sha256=Nj4AdeetPMzvZ-VKUdUGhBC1SiFSBRYRebODgE2UeI8,7228
|
|
65
67
|
KekikStream/Plugins/RoketDizi.py,sha256=7cP6935unhrn_yDt0hsLoW3nboX3WUD0P2DqqRny3_M,8568
|
|
66
68
|
KekikStream/Plugins/SelcukFlix.py,sha256=WKMsZpVVdHn_zW69xxhAuIP7OhAPbPFxFRWzGzHBgaE,13601
|
|
67
69
|
KekikStream/Plugins/SetFilmIzle.py,sha256=EcoHSacJO9bvzA9lZZzDZAwAhXfaDstI4M4C3YOwvEU,10113
|
|
68
|
-
KekikStream/Plugins/SezonlukDizi.py,sha256=
|
|
70
|
+
KekikStream/Plugins/SezonlukDizi.py,sha256=7N4S8ikA4IzHszD5WaXAUESAVfHDKSnMQeX4iQFP3KY,8457
|
|
69
71
|
KekikStream/Plugins/SineWix.py,sha256=z0r90lggAugEWE1g9vg8gZsInBObUZPnVFQwq7GYmJs,7052
|
|
70
72
|
KekikStream/Plugins/Sinefy.py,sha256=Ogw0-qjROz8T0EkV1jwbOvz0WM4FN9D24bNrJmi314k,9998
|
|
71
73
|
KekikStream/Plugins/SinemaCX.py,sha256=aujqCWPGZHcRqKcMFlZYEwMonj0C_UQ_J4ZqCyF59pU,7492
|
|
72
74
|
KekikStream/Plugins/Sinezy.py,sha256=lFOfbMwxzP6IkhPZ_C3ZWGrgwThSk58pYQAD61rCJnM,6128
|
|
73
75
|
KekikStream/Plugins/SuperFilmGeldi.py,sha256=dqU1IJHcTPU9zlnA9rSKsX0ehpBYSgDuz6eSlCCop8k,6044
|
|
74
76
|
KekikStream/Plugins/UgurFilm.py,sha256=TlMDy3tSfkEUy_ziIdCkgnfmoRtVdXEv8m4kjKeAWrE,4696
|
|
75
|
-
kekikstream-2.
|
|
76
|
-
kekikstream-2.
|
|
77
|
-
kekikstream-2.
|
|
78
|
-
kekikstream-2.
|
|
79
|
-
kekikstream-2.
|
|
80
|
-
kekikstream-2.
|
|
77
|
+
kekikstream-2.2.2.dist-info/licenses/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
|
|
78
|
+
kekikstream-2.2.2.dist-info/METADATA,sha256=FnPEIjgDNwByMlEYW2flhStgJXsl7NMRoRlOf1mkQ74,10407
|
|
79
|
+
kekikstream-2.2.2.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
80
|
+
kekikstream-2.2.2.dist-info/entry_points.txt,sha256=dFwdiTx8djyehI0Gsz-rZwjAfZzUzoBSrmzRu9ubjJc,50
|
|
81
|
+
kekikstream-2.2.2.dist-info/top_level.txt,sha256=DNmGJDXl27Drdfobrak8KYLmocW_uznVYFJOzcjUgmY,12
|
|
82
|
+
kekikstream-2.2.2.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|