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.
Files changed (86) hide show
  1. {kekikstream-2.1.5 → kekikstream-2.1.6}/KekikStream/Plugins/SetFilmIzle.py +19 -19
  2. {kekikstream-2.1.5 → kekikstream-2.1.6}/KekikStream.egg-info/PKG-INFO +1 -1
  3. {kekikstream-2.1.5 → kekikstream-2.1.6}/PKG-INFO +1 -1
  4. {kekikstream-2.1.5 → kekikstream-2.1.6}/setup.py +1 -1
  5. {kekikstream-2.1.5 → kekikstream-2.1.6}/KekikStream/CLI/__init__.py +0 -0
  6. {kekikstream-2.1.5 → kekikstream-2.1.6}/KekikStream/CLI/pypi_kontrol.py +0 -0
  7. {kekikstream-2.1.5 → kekikstream-2.1.6}/KekikStream/Core/Extractor/ExtractorBase.py +0 -0
  8. {kekikstream-2.1.5 → kekikstream-2.1.6}/KekikStream/Core/Extractor/ExtractorLoader.py +0 -0
  9. {kekikstream-2.1.5 → kekikstream-2.1.6}/KekikStream/Core/Extractor/ExtractorManager.py +0 -0
  10. {kekikstream-2.1.5 → kekikstream-2.1.6}/KekikStream/Core/Extractor/ExtractorModels.py +0 -0
  11. {kekikstream-2.1.5 → kekikstream-2.1.6}/KekikStream/Core/Extractor/YTDLPCache.py +0 -0
  12. {kekikstream-2.1.5 → kekikstream-2.1.6}/KekikStream/Core/Media/MediaHandler.py +0 -0
  13. {kekikstream-2.1.5 → kekikstream-2.1.6}/KekikStream/Core/Media/MediaManager.py +0 -0
  14. {kekikstream-2.1.5 → kekikstream-2.1.6}/KekikStream/Core/Plugin/PluginBase.py +0 -0
  15. {kekikstream-2.1.5 → kekikstream-2.1.6}/KekikStream/Core/Plugin/PluginLoader.py +0 -0
  16. {kekikstream-2.1.5 → kekikstream-2.1.6}/KekikStream/Core/Plugin/PluginManager.py +0 -0
  17. {kekikstream-2.1.5 → kekikstream-2.1.6}/KekikStream/Core/Plugin/PluginModels.py +0 -0
  18. {kekikstream-2.1.5 → kekikstream-2.1.6}/KekikStream/Core/UI/UIManager.py +0 -0
  19. {kekikstream-2.1.5 → kekikstream-2.1.6}/KekikStream/Core/__init__.py +0 -0
  20. {kekikstream-2.1.5 → kekikstream-2.1.6}/KekikStream/Extractors/CloseLoad.py +0 -0
  21. {kekikstream-2.1.5 → kekikstream-2.1.6}/KekikStream/Extractors/ContentX.py +0 -0
  22. {kekikstream-2.1.5 → kekikstream-2.1.6}/KekikStream/Extractors/DonilasPlay.py +0 -0
  23. {kekikstream-2.1.5 → kekikstream-2.1.6}/KekikStream/Extractors/DzenRu.py +0 -0
  24. {kekikstream-2.1.5 → kekikstream-2.1.6}/KekikStream/Extractors/ExPlay.py +0 -0
  25. {kekikstream-2.1.5 → kekikstream-2.1.6}/KekikStream/Extractors/HDPlayerSystem.py +0 -0
  26. {kekikstream-2.1.5 → kekikstream-2.1.6}/KekikStream/Extractors/JetTv.py +0 -0
  27. {kekikstream-2.1.5 → kekikstream-2.1.6}/KekikStream/Extractors/MailRu.py +0 -0
  28. {kekikstream-2.1.5 → kekikstream-2.1.6}/KekikStream/Extractors/MixPlayHD.py +0 -0
  29. {kekikstream-2.1.5 → kekikstream-2.1.6}/KekikStream/Extractors/MixTiger.py +0 -0
  30. {kekikstream-2.1.5 → kekikstream-2.1.6}/KekikStream/Extractors/MolyStream.py +0 -0
  31. {kekikstream-2.1.5 → kekikstream-2.1.6}/KekikStream/Extractors/Odnoklassniki.py +0 -0
  32. {kekikstream-2.1.5 → kekikstream-2.1.6}/KekikStream/Extractors/PeaceMakerst.py +0 -0
  33. {kekikstream-2.1.5 → kekikstream-2.1.6}/KekikStream/Extractors/PixelDrain.py +0 -0
  34. {kekikstream-2.1.5 → kekikstream-2.1.6}/KekikStream/Extractors/PlayerFilmIzle.py +0 -0
  35. {kekikstream-2.1.5 → kekikstream-2.1.6}/KekikStream/Extractors/RapidVid.py +0 -0
  36. {kekikstream-2.1.5 → kekikstream-2.1.6}/KekikStream/Extractors/SetPlay.py +0 -0
  37. {kekikstream-2.1.5 → kekikstream-2.1.6}/KekikStream/Extractors/SetPrime.py +0 -0
  38. {kekikstream-2.1.5 → kekikstream-2.1.6}/KekikStream/Extractors/SibNet.py +0 -0
  39. {kekikstream-2.1.5 → kekikstream-2.1.6}/KekikStream/Extractors/Sobreatsesuyp.py +0 -0
  40. {kekikstream-2.1.5 → kekikstream-2.1.6}/KekikStream/Extractors/TRsTX.py +0 -0
  41. {kekikstream-2.1.5 → kekikstream-2.1.6}/KekikStream/Extractors/TauVideo.py +0 -0
  42. {kekikstream-2.1.5 → kekikstream-2.1.6}/KekikStream/Extractors/TurboImgz.py +0 -0
  43. {kekikstream-2.1.5 → kekikstream-2.1.6}/KekikStream/Extractors/TurkeyPlayer.py +0 -0
  44. {kekikstream-2.1.5 → kekikstream-2.1.6}/KekikStream/Extractors/VCTPlay.py +0 -0
  45. {kekikstream-2.1.5 → kekikstream-2.1.6}/KekikStream/Extractors/VidHide.py +0 -0
  46. {kekikstream-2.1.5 → kekikstream-2.1.6}/KekikStream/Extractors/VidMoly.py +0 -0
  47. {kekikstream-2.1.5 → kekikstream-2.1.6}/KekikStream/Extractors/VidMoxy.py +0 -0
  48. {kekikstream-2.1.5 → kekikstream-2.1.6}/KekikStream/Extractors/VidPapi.py +0 -0
  49. {kekikstream-2.1.5 → kekikstream-2.1.6}/KekikStream/Extractors/VideoSeyred.py +0 -0
  50. {kekikstream-2.1.5 → kekikstream-2.1.6}/KekikStream/Extractors/YTDLP.py +0 -0
  51. {kekikstream-2.1.5 → kekikstream-2.1.6}/KekikStream/Extractors/YildizKisaFilm.py +0 -0
  52. {kekikstream-2.1.5 → kekikstream-2.1.6}/KekikStream/Plugins/BelgeselX.py +0 -0
  53. {kekikstream-2.1.5 → kekikstream-2.1.6}/KekikStream/Plugins/DiziBox.py +0 -0
  54. {kekikstream-2.1.5 → kekikstream-2.1.6}/KekikStream/Plugins/DiziPal.py +0 -0
  55. {kekikstream-2.1.5 → kekikstream-2.1.6}/KekikStream/Plugins/DiziYou.py +0 -0
  56. {kekikstream-2.1.5 → kekikstream-2.1.6}/KekikStream/Plugins/Dizilla.py +0 -0
  57. {kekikstream-2.1.5 → kekikstream-2.1.6}/KekikStream/Plugins/FilmBip.py +0 -0
  58. {kekikstream-2.1.5 → kekikstream-2.1.6}/KekikStream/Plugins/FilmMakinesi.py +0 -0
  59. {kekikstream-2.1.5 → kekikstream-2.1.6}/KekikStream/Plugins/FilmModu.py +0 -0
  60. {kekikstream-2.1.5 → kekikstream-2.1.6}/KekikStream/Plugins/FullHDFilm.py +0 -0
  61. {kekikstream-2.1.5 → kekikstream-2.1.6}/KekikStream/Plugins/FullHDFilmizlesene.py +0 -0
  62. {kekikstream-2.1.5 → kekikstream-2.1.6}/KekikStream/Plugins/HDFilmCehennemi.py +0 -0
  63. {kekikstream-2.1.5 → kekikstream-2.1.6}/KekikStream/Plugins/JetFilmizle.py +0 -0
  64. {kekikstream-2.1.5 → kekikstream-2.1.6}/KekikStream/Plugins/KultFilmler.py +0 -0
  65. {kekikstream-2.1.5 → kekikstream-2.1.6}/KekikStream/Plugins/RecTV.py +0 -0
  66. {kekikstream-2.1.5 → kekikstream-2.1.6}/KekikStream/Plugins/RoketDizi.py +0 -0
  67. {kekikstream-2.1.5 → kekikstream-2.1.6}/KekikStream/Plugins/SelcukFlix.py +0 -0
  68. {kekikstream-2.1.5 → kekikstream-2.1.6}/KekikStream/Plugins/SezonlukDizi.py +0 -0
  69. {kekikstream-2.1.5 → kekikstream-2.1.6}/KekikStream/Plugins/SineWix.py +0 -0
  70. {kekikstream-2.1.5 → kekikstream-2.1.6}/KekikStream/Plugins/Sinefy.py +0 -0
  71. {kekikstream-2.1.5 → kekikstream-2.1.6}/KekikStream/Plugins/SinemaCX.py +0 -0
  72. {kekikstream-2.1.5 → kekikstream-2.1.6}/KekikStream/Plugins/Sinezy.py +0 -0
  73. {kekikstream-2.1.5 → kekikstream-2.1.6}/KekikStream/Plugins/SuperFilmGeldi.py +0 -0
  74. {kekikstream-2.1.5 → kekikstream-2.1.6}/KekikStream/Plugins/UgurFilm.py +0 -0
  75. {kekikstream-2.1.5 → kekikstream-2.1.6}/KekikStream/__init__.py +0 -0
  76. {kekikstream-2.1.5 → kekikstream-2.1.6}/KekikStream/__main__.py +0 -0
  77. {kekikstream-2.1.5 → kekikstream-2.1.6}/KekikStream/requirements.txt +0 -0
  78. {kekikstream-2.1.5 → kekikstream-2.1.6}/KekikStream.egg-info/SOURCES.txt +0 -0
  79. {kekikstream-2.1.5 → kekikstream-2.1.6}/KekikStream.egg-info/dependency_links.txt +0 -0
  80. {kekikstream-2.1.5 → kekikstream-2.1.6}/KekikStream.egg-info/entry_points.txt +0 -0
  81. {kekikstream-2.1.5 → kekikstream-2.1.6}/KekikStream.egg-info/requires.txt +0 -0
  82. {kekikstream-2.1.5 → kekikstream-2.1.6}/KekikStream.egg-info/top_level.txt +0 -0
  83. {kekikstream-2.1.5 → kekikstream-2.1.6}/LICENSE +0 -0
  84. {kekikstream-2.1.5 → kekikstream-2.1.6}/MANIFEST.in +0 -0
  85. {kekikstream-2.1.5 → kekikstream-2.1.6}/README.md +0 -0
  86. {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
- # Ana sayfadan nonce değerini al
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 = secici.css("div#playex::attr(data-nonce)").get() or ""
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.5
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.5
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.5",
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