KekikStream 1.6.1__tar.gz → 1.6.2__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 (66) hide show
  1. {kekikstream-1.6.1 → kekikstream-1.6.2}/KekikStream/Extractors/RapidVid.py +30 -12
  2. {kekikstream-1.6.1 → kekikstream-1.6.2}/KekikStream/Plugins/DiziBox.py +4 -0
  3. {kekikstream-1.6.1 → kekikstream-1.6.2}/KekikStream/Plugins/DiziYou.py +3 -1
  4. {kekikstream-1.6.1 → kekikstream-1.6.2}/KekikStream/Plugins/FullHDFilmizlesene.py +25 -26
  5. {kekikstream-1.6.1 → kekikstream-1.6.2}/KekikStream/Plugins/UgurFilm.py +1 -1
  6. {kekikstream-1.6.1 → kekikstream-1.6.2}/KekikStream.egg-info/PKG-INFO +1 -1
  7. {kekikstream-1.6.1 → kekikstream-1.6.2}/PKG-INFO +1 -1
  8. {kekikstream-1.6.1 → kekikstream-1.6.2}/setup.py +1 -1
  9. {kekikstream-1.6.1 → kekikstream-1.6.2}/KekikStream/CLI/__init__.py +0 -0
  10. {kekikstream-1.6.1 → kekikstream-1.6.2}/KekikStream/CLI/pypi_kontrol.py +0 -0
  11. {kekikstream-1.6.1 → kekikstream-1.6.2}/KekikStream/Core/Extractor/ExtractorBase.py +0 -0
  12. {kekikstream-1.6.1 → kekikstream-1.6.2}/KekikStream/Core/Extractor/ExtractorLoader.py +0 -0
  13. {kekikstream-1.6.1 → kekikstream-1.6.2}/KekikStream/Core/Extractor/ExtractorManager.py +0 -0
  14. {kekikstream-1.6.1 → kekikstream-1.6.2}/KekikStream/Core/Extractor/ExtractorModels.py +0 -0
  15. {kekikstream-1.6.1 → kekikstream-1.6.2}/KekikStream/Core/Media/MediaHandler.py +0 -0
  16. {kekikstream-1.6.1 → kekikstream-1.6.2}/KekikStream/Core/Media/MediaManager.py +0 -0
  17. {kekikstream-1.6.1 → kekikstream-1.6.2}/KekikStream/Core/Plugin/PluginBase.py +0 -0
  18. {kekikstream-1.6.1 → kekikstream-1.6.2}/KekikStream/Core/Plugin/PluginLoader.py +0 -0
  19. {kekikstream-1.6.1 → kekikstream-1.6.2}/KekikStream/Core/Plugin/PluginManager.py +0 -0
  20. {kekikstream-1.6.1 → kekikstream-1.6.2}/KekikStream/Core/Plugin/PluginModels.py +0 -0
  21. {kekikstream-1.6.1 → kekikstream-1.6.2}/KekikStream/Core/UI/UIManager.py +0 -0
  22. {kekikstream-1.6.1 → kekikstream-1.6.2}/KekikStream/Core/__init__.py +0 -0
  23. {kekikstream-1.6.1 → kekikstream-1.6.2}/KekikStream/Extractors/CloseLoad.py +0 -0
  24. {kekikstream-1.6.1 → kekikstream-1.6.2}/KekikStream/Extractors/ContentX.py +0 -0
  25. {kekikstream-1.6.1 → kekikstream-1.6.2}/KekikStream/Extractors/FourCX.py +0 -0
  26. {kekikstream-1.6.1 → kekikstream-1.6.2}/KekikStream/Extractors/FourPichive.py +0 -0
  27. {kekikstream-1.6.1 → kekikstream-1.6.2}/KekikStream/Extractors/FourPlayRu.py +0 -0
  28. {kekikstream-1.6.1 → kekikstream-1.6.2}/KekikStream/Extractors/HDStreamAble.py +0 -0
  29. {kekikstream-1.6.1 → kekikstream-1.6.2}/KekikStream/Extractors/Hotlinger.py +0 -0
  30. {kekikstream-1.6.1 → kekikstream-1.6.2}/KekikStream/Extractors/MailRu.py +0 -0
  31. {kekikstream-1.6.1 → kekikstream-1.6.2}/KekikStream/Extractors/MixPlayHD.py +0 -0
  32. {kekikstream-1.6.1 → kekikstream-1.6.2}/KekikStream/Extractors/MolyStream.py +0 -0
  33. {kekikstream-1.6.1 → kekikstream-1.6.2}/KekikStream/Extractors/Odnoklassniki.py +0 -0
  34. {kekikstream-1.6.1 → kekikstream-1.6.2}/KekikStream/Extractors/OkRuHTTP.py +0 -0
  35. {kekikstream-1.6.1 → kekikstream-1.6.2}/KekikStream/Extractors/OkRuSSL.py +0 -0
  36. {kekikstream-1.6.1 → kekikstream-1.6.2}/KekikStream/Extractors/PeaceMakerst.py +0 -0
  37. {kekikstream-1.6.1 → kekikstream-1.6.2}/KekikStream/Extractors/Pichive.py +0 -0
  38. {kekikstream-1.6.1 → kekikstream-1.6.2}/KekikStream/Extractors/PixelDrain.py +0 -0
  39. {kekikstream-1.6.1 → kekikstream-1.6.2}/KekikStream/Extractors/PlayRu.py +0 -0
  40. {kekikstream-1.6.1 → kekikstream-1.6.2}/KekikStream/Extractors/SibNet.py +0 -0
  41. {kekikstream-1.6.1 → kekikstream-1.6.2}/KekikStream/Extractors/Sobreatsesuyp.py +0 -0
  42. {kekikstream-1.6.1 → kekikstream-1.6.2}/KekikStream/Extractors/TRsTX.py +0 -0
  43. {kekikstream-1.6.1 → kekikstream-1.6.2}/KekikStream/Extractors/TauVideo.py +0 -0
  44. {kekikstream-1.6.1 → kekikstream-1.6.2}/KekikStream/Extractors/TurboImgz.py +0 -0
  45. {kekikstream-1.6.1 → kekikstream-1.6.2}/KekikStream/Extractors/VidMoly.py +0 -0
  46. {kekikstream-1.6.1 → kekikstream-1.6.2}/KekikStream/Extractors/VidMolyMe.py +0 -0
  47. {kekikstream-1.6.1 → kekikstream-1.6.2}/KekikStream/Extractors/VidMoxy.py +0 -0
  48. {kekikstream-1.6.1 → kekikstream-1.6.2}/KekikStream/Extractors/VideoSeyred.py +0 -0
  49. {kekikstream-1.6.1 → kekikstream-1.6.2}/KekikStream/Plugins/Dizilla.py +0 -0
  50. {kekikstream-1.6.1 → kekikstream-1.6.2}/KekikStream/Plugins/FilmMakinesi.py +0 -0
  51. {kekikstream-1.6.1 → kekikstream-1.6.2}/KekikStream/Plugins/HDFilmCehennemi.py +0 -0
  52. {kekikstream-1.6.1 → kekikstream-1.6.2}/KekikStream/Plugins/JetFilmizle.py +0 -0
  53. {kekikstream-1.6.1 → kekikstream-1.6.2}/KekikStream/Plugins/RecTV.py +0 -0
  54. {kekikstream-1.6.1 → kekikstream-1.6.2}/KekikStream/Plugins/SezonlukDizi.py +0 -0
  55. {kekikstream-1.6.1 → kekikstream-1.6.2}/KekikStream/__init__.py +0 -0
  56. {kekikstream-1.6.1 → kekikstream-1.6.2}/KekikStream/__main__.py +0 -0
  57. {kekikstream-1.6.1 → kekikstream-1.6.2}/KekikStream/requirements.txt +0 -0
  58. {kekikstream-1.6.1 → kekikstream-1.6.2}/KekikStream.egg-info/SOURCES.txt +0 -0
  59. {kekikstream-1.6.1 → kekikstream-1.6.2}/KekikStream.egg-info/dependency_links.txt +0 -0
  60. {kekikstream-1.6.1 → kekikstream-1.6.2}/KekikStream.egg-info/entry_points.txt +0 -0
  61. {kekikstream-1.6.1 → kekikstream-1.6.2}/KekikStream.egg-info/requires.txt +0 -0
  62. {kekikstream-1.6.1 → kekikstream-1.6.2}/KekikStream.egg-info/top_level.txt +0 -0
  63. {kekikstream-1.6.1 → kekikstream-1.6.2}/LICENSE +0 -0
  64. {kekikstream-1.6.1 → kekikstream-1.6.2}/MANIFEST.in +0 -0
  65. {kekikstream-1.6.1 → kekikstream-1.6.2}/README.md +0 -0
  66. {kekikstream-1.6.1 → kekikstream-1.6.2}/setup.cfg +0 -0
@@ -2,7 +2,7 @@
2
2
 
3
3
  from KekikStream.Core import ExtractorBase, ExtractResult, Subtitle
4
4
  from Kekik.Sifreleme import Packer, HexCodec
5
- import re
5
+ import re, base64
6
6
 
7
7
  class RapidVid(ExtractorBase):
8
8
  name = "RapidVid"
@@ -37,17 +37,11 @@ class RapidVid(ExtractorBase):
37
37
  escaped_hex = extracted_value[1]
38
38
  decoded_url = HexCodec.decode(escaped_hex)
39
39
  else:
40
- eval_jwsetup = re.search(r'\};\s*(eval\(function[\s\S]*?)var played = \d+;', istek.text)
41
- if not eval_jwsetup:
42
- raise ValueError("JWPlayer setup not found.")
40
+ av_encoded = re.search(r"av\('([^']+)'\)", istek.text)
41
+ if not av_encoded:
42
+ raise ValueError("AV encoding not found.")
43
43
 
44
- unpacked_jwsetup = Packer.unpack(Packer.unpack(eval_jwsetup[1]))
45
- extracted_value = re.search(r'file":"(.*)","label', unpacked_jwsetup)
46
- if not extracted_value:
47
- raise ValueError("File URL not found in unpacked JWPlayer setup.")
48
-
49
- escaped_hex = extracted_value[1].replace("\\\\x", "")
50
- decoded_url = bytes.fromhex(escaped_hex).decode("utf-8")
44
+ decoded_url = self.decode_secret(av_encoded[1])
51
45
  except Exception as hata:
52
46
  raise RuntimeError(f"Extraction failed: {hata}") from hata
53
47
 
@@ -58,4 +52,28 @@ class RapidVid(ExtractorBase):
58
52
  referer = self.main_url,
59
53
  headers = {},
60
54
  subtitles = subtitles
61
- )
55
+ )
56
+
57
+ def decode_secret(self, encoded_string: str) -> str:
58
+ # 1. Base64 ile şifrelenmiş string ters çevrilmiş, önce geri çeviriyoruz
59
+ reversed_input = encoded_string[::-1]
60
+
61
+ # 2. İlk base64 çözme işlemi
62
+ decoded_once = base64.b64decode(reversed_input).decode("utf-8")
63
+
64
+ decrypted_chars = []
65
+ key = "K9L"
66
+
67
+ # 3. Key'e göre karakter kaydırma geri alınıyor
68
+ for index, encoded_char in enumerate(decoded_once):
69
+ key_char = key[index % len(key)]
70
+ offset = (ord(key_char) % 5) + 1 # Her karakter için dinamik offset
71
+
72
+ original_char_code = ord(encoded_char) - offset
73
+ decrypted_chars.append(chr(original_char_code))
74
+
75
+ # 4. Karakterleri birleştirip ikinci base64 çözme işlemini yapıyoruz
76
+ intermediate_string = "".join(decrypted_chars)
77
+ final_decoded_bytes = base64.b64decode(intermediate_string)
78
+
79
+ return final_decoded_bytes.decode("utf-8")
@@ -42,6 +42,10 @@ class DiziBox(PluginBase):
42
42
 
43
43
  #@kekik_cache(ttl=60*60)
44
44
  async def get_main_page(self, page: int, url: str, category: str) -> list[MainPageResult]:
45
+ self.httpx.cookies.update({
46
+ "isTrustedUser" : "true",
47
+ "dbxu" : str(time.time() * 1000).split(".")[0]
48
+ })
45
49
  istek = await self.httpx.get(
46
50
  url = f"{url.replace('SAYFA', str(page))}",
47
51
  follow_redirects = True
@@ -66,7 +66,9 @@ class DiziYou(PluginBase):
66
66
  title = secici.css("h1::text").get().strip()
67
67
  poster = self.fix_url(secici.css("div.category_image img::attr(src)").get().strip())
68
68
  year = secici.xpath("//span[contains(., 'Yapım Yılı')]/following-sibling::text()[1]").get()
69
- description = secici.css("div.diziyou_desc::text").get().strip()
69
+ description = secici.css("div.diziyou_desc::text").get()
70
+ if description:
71
+ description = description.strip()
70
72
  tags = secici.css("div.genres a::text").getall()
71
73
  rating = secici.xpath("//span[contains(., 'IMDB')]/following-sibling::text()[1]").get()
72
74
  _actors = secici.xpath("//span[contains(., 'Oyuncular')]/following-sibling::text()[1]").get()
@@ -13,32 +13,31 @@ class FullHDFilmizlesene(PluginBase):
13
13
  description = "Sinema zevkini evinize kadar getirdik. Türkiye'nin lider Film sitesinde, en yeni filmleri Full HD izleyin."
14
14
 
15
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",
16
+ f"{main_url}/en-cok-izlenen-hd-filmler/" : "En Çok izlenen Filmler",
17
+ f"{main_url}/filmizle/aile-filmleri-hdf-izle/" : "Aile Filmleri",
18
+ f"{main_url}/filmizle/aksiyon-filmleri-hdf-izle/" : "Aksiyon Filmleri",
19
+ f"{main_url}/filmizle/animasyon-filmleri-izle/" : "Animasyon Filmleri",
20
+ f"{main_url}/filmizle/belgesel-filmleri-izle/" : "Belgeseller",
21
+ f"{main_url}/filmizle/bilim-kurgu-filmleri-izle-2/" : "Bilim Kurgu Filmleri",
22
+ f"{main_url}/filmizle/bluray-filmler-izle/" : "Blu Ray Filmler",
23
+ f"{main_url}/filmizle/cizgi-filmler-fhd-izle/" : "Çizgi Filmler",
24
+ f"{main_url}/filmizle/dram-filmleri-hd-izle/" : "Dram Filmleri",
25
+ f"{main_url}/filmizle/fantastik-filmler-hd-izle/" : "Fantastik Filmler",
26
+ f"{main_url}/filmizle/gerilim-filmleri-fhd-izle/" : "Gerilim Filmleri",
27
+ f"{main_url}/filmizle/gizem-filmleri-hd-izle/" : "Gizem Filmleri",
28
+ f"{main_url}/filmizle/hint-filmleri-fhd-izle/" : "Hint Filmleri",
29
+ f"{main_url}/filmizle/komedi-filmleri-fhd-izle/" : "Komedi Filmleri",
30
+ f"{main_url}/filmizle/korku-filmleri-izle-3/" : "Korku Filmleri",
31
+ f"{main_url}/filmizle/macera-filmleri-fhd-izle/" : "Macera Filmleri",
32
+ f"{main_url}/filmizle/muzikal-filmler-izle/" : "Müzikal Filmler",
33
+ f"{main_url}/filmizle/polisiye-filmleri-izle/" : "Polisiye Filmleri",
34
+ f"{main_url}/filmizle/psikolojik-filmler-izle/" : "Psikolojik Filmler",
35
+ f"{main_url}/filmizle/romantik-filmler-fhd-izle/" : "Romantik Filmler",
36
+ f"{main_url}/filmizle/savas-filmleri-fhd-izle/" : "Savaş Filmleri",
37
+ f"{main_url}/filmizle/suc-filmleri-izle/" : "Suç Filmleri",
38
+ f"{main_url}/filmizle/tarih-filmleri-fhd-izle/" : "Tarih Filmleri",
39
+ f"{main_url}/filmizle/western-filmler-hd-izle-3/" : "Western Filmler",
40
+ f"{main_url}/filmizle/yerli-filmler-hd-izle/" : "Yerli Filmler"
42
41
  }
43
42
 
44
43
  #@kekik_cache(ttl=60*60)
@@ -6,7 +6,7 @@ from parsel import Selector
6
6
  class UgurFilm(PluginBase):
7
7
  name = "UgurFilm"
8
8
  language = "tr"
9
- main_url = "https://ugurfilm8.com"
9
+ main_url = "https://ugurfilm3.xyz"
10
10
  favicon = f"https://www.google.com/s2/favicons?domain={main_url}&sz=64"
11
11
  description = "Yabancı film izle, Türkçe dublaj ve Türkçe altyazılı film seçenekleriyle 720p ve 1080p HD kalitesinde film izle - Uğur Film full hd film izle."
12
12
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: KekikStream
3
- Version: 1.6.1
3
+ Version: 1.6.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
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: KekikStream
3
- Version: 1.6.1
3
+ Version: 1.6.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
@@ -6,7 +6,7 @@ from io import open
6
6
  setup(
7
7
  # ? Genel Bilgiler
8
8
  name = "KekikStream",
9
- version = "1.6.1",
9
+ version = "1.6.2",
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