KekikStream 2.1.5__tar.gz → 2.1.6__tar.gz
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-2.1.5 → kekikstream-2.1.6}/KekikStream/Plugins/SetFilmIzle.py +19 -19
- {kekikstream-2.1.5 → kekikstream-2.1.6}/KekikStream.egg-info/PKG-INFO +1 -1
- {kekikstream-2.1.5 → kekikstream-2.1.6}/PKG-INFO +1 -1
- {kekikstream-2.1.5 → kekikstream-2.1.6}/setup.py +1 -1
- {kekikstream-2.1.5 → kekikstream-2.1.6}/KekikStream/CLI/__init__.py +0 -0
- {kekikstream-2.1.5 → kekikstream-2.1.6}/KekikStream/CLI/pypi_kontrol.py +0 -0
- {kekikstream-2.1.5 → kekikstream-2.1.6}/KekikStream/Core/Extractor/ExtractorBase.py +0 -0
- {kekikstream-2.1.5 → kekikstream-2.1.6}/KekikStream/Core/Extractor/ExtractorLoader.py +0 -0
- {kekikstream-2.1.5 → kekikstream-2.1.6}/KekikStream/Core/Extractor/ExtractorManager.py +0 -0
- {kekikstream-2.1.5 → kekikstream-2.1.6}/KekikStream/Core/Extractor/ExtractorModels.py +0 -0
- {kekikstream-2.1.5 → kekikstream-2.1.6}/KekikStream/Core/Extractor/YTDLPCache.py +0 -0
- {kekikstream-2.1.5 → kekikstream-2.1.6}/KekikStream/Core/Media/MediaHandler.py +0 -0
- {kekikstream-2.1.5 → kekikstream-2.1.6}/KekikStream/Core/Media/MediaManager.py +0 -0
- {kekikstream-2.1.5 → kekikstream-2.1.6}/KekikStream/Core/Plugin/PluginBase.py +0 -0
- {kekikstream-2.1.5 → kekikstream-2.1.6}/KekikStream/Core/Plugin/PluginLoader.py +0 -0
- {kekikstream-2.1.5 → kekikstream-2.1.6}/KekikStream/Core/Plugin/PluginManager.py +0 -0
- {kekikstream-2.1.5 → kekikstream-2.1.6}/KekikStream/Core/Plugin/PluginModels.py +0 -0
- {kekikstream-2.1.5 → kekikstream-2.1.6}/KekikStream/Core/UI/UIManager.py +0 -0
- {kekikstream-2.1.5 → kekikstream-2.1.6}/KekikStream/Core/__init__.py +0 -0
- {kekikstream-2.1.5 → kekikstream-2.1.6}/KekikStream/Extractors/CloseLoad.py +0 -0
- {kekikstream-2.1.5 → kekikstream-2.1.6}/KekikStream/Extractors/ContentX.py +0 -0
- {kekikstream-2.1.5 → kekikstream-2.1.6}/KekikStream/Extractors/DonilasPlay.py +0 -0
- {kekikstream-2.1.5 → kekikstream-2.1.6}/KekikStream/Extractors/DzenRu.py +0 -0
- {kekikstream-2.1.5 → kekikstream-2.1.6}/KekikStream/Extractors/ExPlay.py +0 -0
- {kekikstream-2.1.5 → kekikstream-2.1.6}/KekikStream/Extractors/HDPlayerSystem.py +0 -0
- {kekikstream-2.1.5 → kekikstream-2.1.6}/KekikStream/Extractors/JetTv.py +0 -0
- {kekikstream-2.1.5 → kekikstream-2.1.6}/KekikStream/Extractors/MailRu.py +0 -0
- {kekikstream-2.1.5 → kekikstream-2.1.6}/KekikStream/Extractors/MixPlayHD.py +0 -0
- {kekikstream-2.1.5 → kekikstream-2.1.6}/KekikStream/Extractors/MixTiger.py +0 -0
- {kekikstream-2.1.5 → kekikstream-2.1.6}/KekikStream/Extractors/MolyStream.py +0 -0
- {kekikstream-2.1.5 → kekikstream-2.1.6}/KekikStream/Extractors/Odnoklassniki.py +0 -0
- {kekikstream-2.1.5 → kekikstream-2.1.6}/KekikStream/Extractors/PeaceMakerst.py +0 -0
- {kekikstream-2.1.5 → kekikstream-2.1.6}/KekikStream/Extractors/PixelDrain.py +0 -0
- {kekikstream-2.1.5 → kekikstream-2.1.6}/KekikStream/Extractors/PlayerFilmIzle.py +0 -0
- {kekikstream-2.1.5 → kekikstream-2.1.6}/KekikStream/Extractors/RapidVid.py +0 -0
- {kekikstream-2.1.5 → kekikstream-2.1.6}/KekikStream/Extractors/SetPlay.py +0 -0
- {kekikstream-2.1.5 → kekikstream-2.1.6}/KekikStream/Extractors/SetPrime.py +0 -0
- {kekikstream-2.1.5 → kekikstream-2.1.6}/KekikStream/Extractors/SibNet.py +0 -0
- {kekikstream-2.1.5 → kekikstream-2.1.6}/KekikStream/Extractors/Sobreatsesuyp.py +0 -0
- {kekikstream-2.1.5 → kekikstream-2.1.6}/KekikStream/Extractors/TRsTX.py +0 -0
- {kekikstream-2.1.5 → kekikstream-2.1.6}/KekikStream/Extractors/TauVideo.py +0 -0
- {kekikstream-2.1.5 → kekikstream-2.1.6}/KekikStream/Extractors/TurboImgz.py +0 -0
- {kekikstream-2.1.5 → kekikstream-2.1.6}/KekikStream/Extractors/TurkeyPlayer.py +0 -0
- {kekikstream-2.1.5 → kekikstream-2.1.6}/KekikStream/Extractors/VCTPlay.py +0 -0
- {kekikstream-2.1.5 → kekikstream-2.1.6}/KekikStream/Extractors/VidHide.py +0 -0
- {kekikstream-2.1.5 → kekikstream-2.1.6}/KekikStream/Extractors/VidMoly.py +0 -0
- {kekikstream-2.1.5 → kekikstream-2.1.6}/KekikStream/Extractors/VidMoxy.py +0 -0
- {kekikstream-2.1.5 → kekikstream-2.1.6}/KekikStream/Extractors/VidPapi.py +0 -0
- {kekikstream-2.1.5 → kekikstream-2.1.6}/KekikStream/Extractors/VideoSeyred.py +0 -0
- {kekikstream-2.1.5 → kekikstream-2.1.6}/KekikStream/Extractors/YTDLP.py +0 -0
- {kekikstream-2.1.5 → kekikstream-2.1.6}/KekikStream/Extractors/YildizKisaFilm.py +0 -0
- {kekikstream-2.1.5 → kekikstream-2.1.6}/KekikStream/Plugins/BelgeselX.py +0 -0
- {kekikstream-2.1.5 → kekikstream-2.1.6}/KekikStream/Plugins/DiziBox.py +0 -0
- {kekikstream-2.1.5 → kekikstream-2.1.6}/KekikStream/Plugins/DiziPal.py +0 -0
- {kekikstream-2.1.5 → kekikstream-2.1.6}/KekikStream/Plugins/DiziYou.py +0 -0
- {kekikstream-2.1.5 → kekikstream-2.1.6}/KekikStream/Plugins/Dizilla.py +0 -0
- {kekikstream-2.1.5 → kekikstream-2.1.6}/KekikStream/Plugins/FilmBip.py +0 -0
- {kekikstream-2.1.5 → kekikstream-2.1.6}/KekikStream/Plugins/FilmMakinesi.py +0 -0
- {kekikstream-2.1.5 → kekikstream-2.1.6}/KekikStream/Plugins/FilmModu.py +0 -0
- {kekikstream-2.1.5 → kekikstream-2.1.6}/KekikStream/Plugins/FullHDFilm.py +0 -0
- {kekikstream-2.1.5 → kekikstream-2.1.6}/KekikStream/Plugins/FullHDFilmizlesene.py +0 -0
- {kekikstream-2.1.5 → kekikstream-2.1.6}/KekikStream/Plugins/HDFilmCehennemi.py +0 -0
- {kekikstream-2.1.5 → kekikstream-2.1.6}/KekikStream/Plugins/JetFilmizle.py +0 -0
- {kekikstream-2.1.5 → kekikstream-2.1.6}/KekikStream/Plugins/KultFilmler.py +0 -0
- {kekikstream-2.1.5 → kekikstream-2.1.6}/KekikStream/Plugins/RecTV.py +0 -0
- {kekikstream-2.1.5 → kekikstream-2.1.6}/KekikStream/Plugins/RoketDizi.py +0 -0
- {kekikstream-2.1.5 → kekikstream-2.1.6}/KekikStream/Plugins/SelcukFlix.py +0 -0
- {kekikstream-2.1.5 → kekikstream-2.1.6}/KekikStream/Plugins/SezonlukDizi.py +0 -0
- {kekikstream-2.1.5 → kekikstream-2.1.6}/KekikStream/Plugins/SineWix.py +0 -0
- {kekikstream-2.1.5 → kekikstream-2.1.6}/KekikStream/Plugins/Sinefy.py +0 -0
- {kekikstream-2.1.5 → kekikstream-2.1.6}/KekikStream/Plugins/SinemaCX.py +0 -0
- {kekikstream-2.1.5 → kekikstream-2.1.6}/KekikStream/Plugins/Sinezy.py +0 -0
- {kekikstream-2.1.5 → kekikstream-2.1.6}/KekikStream/Plugins/SuperFilmGeldi.py +0 -0
- {kekikstream-2.1.5 → kekikstream-2.1.6}/KekikStream/Plugins/UgurFilm.py +0 -0
- {kekikstream-2.1.5 → kekikstream-2.1.6}/KekikStream/__init__.py +0 -0
- {kekikstream-2.1.5 → kekikstream-2.1.6}/KekikStream/__main__.py +0 -0
- {kekikstream-2.1.5 → kekikstream-2.1.6}/KekikStream/requirements.txt +0 -0
- {kekikstream-2.1.5 → kekikstream-2.1.6}/KekikStream.egg-info/SOURCES.txt +0 -0
- {kekikstream-2.1.5 → kekikstream-2.1.6}/KekikStream.egg-info/dependency_links.txt +0 -0
- {kekikstream-2.1.5 → kekikstream-2.1.6}/KekikStream.egg-info/entry_points.txt +0 -0
- {kekikstream-2.1.5 → kekikstream-2.1.6}/KekikStream.egg-info/requires.txt +0 -0
- {kekikstream-2.1.5 → kekikstream-2.1.6}/KekikStream.egg-info/top_level.txt +0 -0
- {kekikstream-2.1.5 → kekikstream-2.1.6}/LICENSE +0 -0
- {kekikstream-2.1.5 → kekikstream-2.1.6}/MANIFEST.in +0 -0
- {kekikstream-2.1.5 → kekikstream-2.1.6}/README.md +0 -0
- {kekikstream-2.1.5 → kekikstream-2.1.6}/setup.cfg +0 -0
|
@@ -34,6 +34,23 @@ class SetFilmIzle(PluginBase):
|
|
|
34
34
|
f"{main_url}/tur/western/" : "Western"
|
|
35
35
|
}
|
|
36
36
|
|
|
37
|
+
def _get_nonce(self, nonce_type: str = "video_nonce", referer: str = None) -> str:
|
|
38
|
+
"""Site cache'lenmiş nonce'ları expire olabiliyor, fresh nonce al"""
|
|
39
|
+
try:
|
|
40
|
+
resp = self.cloudscraper.post(
|
|
41
|
+
f"{self.main_url}/wp-admin/admin-ajax.php",
|
|
42
|
+
headers = {
|
|
43
|
+
"Referer" : referer or self.main_url,
|
|
44
|
+
"Origin" : self.main_url,
|
|
45
|
+
"Content-Type" : "application/x-www-form-urlencoded",
|
|
46
|
+
},
|
|
47
|
+
data = "action=st_cache_refresh_nonces"
|
|
48
|
+
)
|
|
49
|
+
nonces = resp.json().get("data", {}).get("nonces", {})
|
|
50
|
+
return nonces.get(nonce_type, "")
|
|
51
|
+
except:
|
|
52
|
+
return ""
|
|
53
|
+
|
|
37
54
|
async def get_main_page(self, page: int, url: str, category: str) -> list[MainPageResult]:
|
|
38
55
|
istek = self.cloudscraper.get(url)
|
|
39
56
|
secici = Selector(istek.text)
|
|
@@ -55,23 +72,7 @@ class SetFilmIzle(PluginBase):
|
|
|
55
72
|
return results
|
|
56
73
|
|
|
57
74
|
async def search(self, query: str) -> list[SearchResult]:
|
|
58
|
-
|
|
59
|
-
main_resp = self.cloudscraper.get(self.main_url)
|
|
60
|
-
|
|
61
|
-
# Birden fazla nonce pattern dene
|
|
62
|
-
nonce = ""
|
|
63
|
-
nonce_patterns = [
|
|
64
|
-
r'nonces:\s*\{\s*search:\s*"([^"]+)"', # STMOVIE_AJAX.nonces.search
|
|
65
|
-
r'"search":\s*"([a-zA-Z0-9]+)"', # JSON format
|
|
66
|
-
r"nonce:\s*'([^']*)'",
|
|
67
|
-
r'"nonce":"([^"]+)"',
|
|
68
|
-
r'data-nonce="([^"]+)"',
|
|
69
|
-
]
|
|
70
|
-
for pattern in nonce_patterns:
|
|
71
|
-
match = re.search(pattern, main_resp.text)
|
|
72
|
-
if match:
|
|
73
|
-
nonce = match.group(1)
|
|
74
|
-
break
|
|
75
|
+
nonce = self._get_nonce("search")
|
|
75
76
|
|
|
76
77
|
search_resp = self.cloudscraper.post(
|
|
77
78
|
f"{self.main_url}/wp-admin/admin-ajax.php",
|
|
@@ -197,7 +198,7 @@ class SetFilmIzle(PluginBase):
|
|
|
197
198
|
istek = await self.httpx.get(url)
|
|
198
199
|
secici = Selector(istek.text)
|
|
199
200
|
|
|
200
|
-
nonce =
|
|
201
|
+
nonce = self._get_nonce("video_nonce", referer=url)
|
|
201
202
|
|
|
202
203
|
# partKey to dil label mapping
|
|
203
204
|
part_key_labels = {
|
|
@@ -215,7 +216,6 @@ class SetFilmIzle(PluginBase):
|
|
|
215
216
|
if not source_id or "event" in source_id or source_id == "":
|
|
216
217
|
continue
|
|
217
218
|
|
|
218
|
-
# Multipart form request
|
|
219
219
|
try:
|
|
220
220
|
resp = self.cloudscraper.post(
|
|
221
221
|
f"{self.main_url}/wp-admin/admin-ajax.php",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: KekikStream
|
|
3
|
-
Version: 2.1.
|
|
3
|
+
Version: 2.1.6
|
|
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,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: KekikStream
|
|
3
|
-
Version: 2.1.
|
|
3
|
+
Version: 2.1.6
|
|
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
|
|
@@ -6,7 +6,7 @@ from io import open
|
|
|
6
6
|
setup(
|
|
7
7
|
# ? Genel Bilgiler
|
|
8
8
|
name = "KekikStream",
|
|
9
|
-
version = "2.1.
|
|
9
|
+
version = "2.1.6",
|
|
10
10
|
url = "https://github.com/keyiflerolsun/KekikStream",
|
|
11
11
|
description = "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ı",
|
|
12
12
|
keywords = ["KekikStream", "KekikAkademi", "keyiflerolsun"],
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|