KekikStream 2.2.1__py3-none-any.whl → 2.2.3__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.
@@ -7,7 +7,16 @@ class JFVid(ExtractorBase):
7
7
  name = "JFVid"
8
8
  main_url = "https://jfvid.com"
9
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
+
10
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
+
11
20
  if referer:
12
21
  self.httpx.headers.update({"Referer": referer})
13
22
 
@@ -15,7 +24,7 @@ class JFVid(ExtractorBase):
15
24
  # URL format: https://xxx.jfvid.com/play/{encodedId}
16
25
  if "/play/" in url:
17
26
  encoded_id = url.split("/play/")[-1]
18
- stream_url = f"{self.main_url}/stream/{encoded_id}"
27
+ stream_url = f"{base_url}/stream/{encoded_id}"
19
28
  elif "/stream/" in url:
20
29
  # Zaten stream URL ise doğrudan kullan
21
30
  stream_url = url
@@ -1,6 +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
4
5
  import re
5
6
 
6
7
  class PlayerFilmIzle(ExtractorBase):
@@ -29,8 +30,11 @@ class PlayerFilmIzle(ExtractorBase):
29
30
  sub_lang = sub_lang_raw.replace("[", "")
30
31
  subtitles.append(Subtitle(name=sub_lang, url=sub_url))
31
32
 
32
- # Data yakalama: FirePlayer|DATA|...
33
- data_match = re.search(r'FirePlayer\|([^|]+)\|', video_req, re.IGNORECASE)
33
+ # Packed script varsa unpack et
34
+ unpacked = Packer.unpack(video_req) if Packer.detect_packed(video_req) else video_req
35
+
36
+ # Data yakalama: FirePlayer("DATA", ...) formatından
37
+ data_match = re.search(r'FirePlayer\s*\(\s*["\']([a-f0-9]+)["\']', unpacked, re.IGNORECASE)
34
38
  data_val = data_match.group(1) if data_match else None
35
39
 
36
40
  if not data_val:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: KekikStream
3
- Version: 2.2.1
3
+ Version: 2.2.3
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
@@ -23,7 +23,7 @@ KekikStream/Extractors/DzenRu.py,sha256=X0Rhm1-W4YjQwVrJs8YFqVcCxMaZi8rsKiLhK_Zs
23
23
  KekikStream/Extractors/ExPlay.py,sha256=EJNVKAbaIxlbOsCx7J9aLfNHKOFoqSLZZUw7W4QYeH0,1827
24
24
  KekikStream/Extractors/Filemoon.py,sha256=l0AVyRrYA2DTuSkYoy6Jh02_w53TeBRyROkY9koiees,2684
25
25
  KekikStream/Extractors/HDPlayerSystem.py,sha256=EgnFzx5Q4PkuwAtuff5SYU9k59B-CyOdySl7lbCZ9hM,1312
26
- KekikStream/Extractors/JFVid.py,sha256=hOi8uhMAO03U_GNt2SytrIzSdBTPhyBLwZM7ZKi_Gyw,1084
26
+ KekikStream/Extractors/JFVid.py,sha256=_6A0zmYrWZxIfkCCKAaNxMRLjU-_0Z0hCxCNSApcknk,1350
27
27
  KekikStream/Extractors/JetTv.py,sha256=aA3WeOvR-tszac-WSwunZZb1NRy25TQH8vxY3TDscRI,1596
28
28
  KekikStream/Extractors/MailRu.py,sha256=xQVCWwYqNoG5T43VAW1_m0v4e80FbO-1pNPKkwhTccU,1218
29
29
  KekikStream/Extractors/MixPlayHD.py,sha256=POV_yq3KoZ6S6EqFsKYULEBz92NdUa2BpYKNo0eNQH8,1552
@@ -32,7 +32,7 @@ KekikStream/Extractors/MolyStream.py,sha256=IeeBw9tJJrL5QQ-t2Yp-a-6lnDc3Y00UNiaN
32
32
  KekikStream/Extractors/Odnoklassniki.py,sha256=YfFRCL3Ag5N4zDzK9ZLOr3HVQcsETFQpff1px02imJ0,4019
33
33
  KekikStream/Extractors/PeaceMakerst.py,sha256=pEgJb3KDfEPAUjbuvrYbUlxIciKgED-Vd0arrRO3QCk,2317
34
34
  KekikStream/Extractors/PixelDrain.py,sha256=Uk2pPvtBzaKtRXu1iNO8FLHd0EAuIOIzI1H_n02tg-U,964
35
- KekikStream/Extractors/PlayerFilmIzle.py,sha256=kH-O_RtQvG4iRLGKi-sFn1ST14DrxxoAa5iRT2PsdXc,2503
35
+ KekikStream/Extractors/PlayerFilmIzle.py,sha256=gcgCz_pfMBJmn_5gIKw9kIM15dnRqAHD6gvxp6l73nw,2708
36
36
  KekikStream/Extractors/RapidVid.py,sha256=t_8ZUp5DCTIaohc5aW4s9HEQQ1A2lU5bTMX84lctmtY,3529
37
37
  KekikStream/Extractors/SetPlay.py,sha256=6XuNXoNFM1h3KOCkTxeZmcAl8QTdqzVN_pp_dEIKF8A,2235
38
38
  KekikStream/Extractors/SetPrime.py,sha256=ob09y-Sm91YR7rIRzikhZiMHX6D4Djm5QzFTg6KbO4k,1536
@@ -74,9 +74,9 @@ KekikStream/Plugins/SinemaCX.py,sha256=aujqCWPGZHcRqKcMFlZYEwMonj0C_UQ_J4ZqCyF59
74
74
  KekikStream/Plugins/Sinezy.py,sha256=lFOfbMwxzP6IkhPZ_C3ZWGrgwThSk58pYQAD61rCJnM,6128
75
75
  KekikStream/Plugins/SuperFilmGeldi.py,sha256=dqU1IJHcTPU9zlnA9rSKsX0ehpBYSgDuz6eSlCCop8k,6044
76
76
  KekikStream/Plugins/UgurFilm.py,sha256=TlMDy3tSfkEUy_ziIdCkgnfmoRtVdXEv8m4kjKeAWrE,4696
77
- kekikstream-2.2.1.dist-info/licenses/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
78
- kekikstream-2.2.1.dist-info/METADATA,sha256=lVxzMXVJOVRdkPsEomBTqczZrLr9Ht0xzbuR3Zf7OPM,10407
79
- kekikstream-2.2.1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
80
- kekikstream-2.2.1.dist-info/entry_points.txt,sha256=dFwdiTx8djyehI0Gsz-rZwjAfZzUzoBSrmzRu9ubjJc,50
81
- kekikstream-2.2.1.dist-info/top_level.txt,sha256=DNmGJDXl27Drdfobrak8KYLmocW_uznVYFJOzcjUgmY,12
82
- kekikstream-2.2.1.dist-info/RECORD,,
77
+ kekikstream-2.2.3.dist-info/licenses/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
78
+ kekikstream-2.2.3.dist-info/METADATA,sha256=eSO7kqtUY8ODlEDauP3ghASAsgWJKWwRdVOVzR5kGMY,10407
79
+ kekikstream-2.2.3.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
80
+ kekikstream-2.2.3.dist-info/entry_points.txt,sha256=dFwdiTx8djyehI0Gsz-rZwjAfZzUzoBSrmzRu9ubjJc,50
81
+ kekikstream-2.2.3.dist-info/top_level.txt,sha256=DNmGJDXl27Drdfobrak8KYLmocW_uznVYFJOzcjUgmY,12
82
+ kekikstream-2.2.3.dist-info/RECORD,,