MammaMia 2.2.0
This commit is contained in:
@@ -66,7 +66,7 @@ async def deltabit(page_url,client,streams,site_name,proxies,ForwardProxy,langua
|
||||
if link:
|
||||
link = link[0]
|
||||
elif extractor == 'Turbovid':
|
||||
link = await eval_solver(response.text,proxies, ForwardProxy, client)
|
||||
link = await eval_solver(response.text,proxies, ForwardProxy, client,r'sources:\s*\["([^"]+)"')
|
||||
if not link:
|
||||
i = 0
|
||||
if not i >= 3:
|
||||
|
||||
@@ -25,7 +25,7 @@ async def mixdrop(url,client,MFP,MFP_CREDENTIALS,streams,site_name,proxies,Forwa
|
||||
|
||||
else:
|
||||
headers = {"accept-language": "en-US,en;q=0.5"}
|
||||
url = await eval_solver(url, proxies , ForwardProxy, client)
|
||||
url = await eval_solver(url, proxies , ForwardProxy, client,r'MDCore.wurl ?= ?"(.*?)"')
|
||||
if url:
|
||||
url = "https:" + url
|
||||
logger.info(f"{site_name} on Mixdrop found results for the current ID")
|
||||
|
||||
@@ -0,0 +1,35 @@
|
||||
import Src.Utilities.config as config
|
||||
from Src.Utilities.eval import eval_solver
|
||||
import logging
|
||||
from Src.Utilities.config import setup_logging
|
||||
level = config.LEVEL
|
||||
logger = setup_logging(level)
|
||||
Icon = config.Icon
|
||||
Name = config.Name
|
||||
|
||||
|
||||
|
||||
|
||||
async def streamhg(link,client,streams, site_name, proxies,ForwardProxy):
|
||||
link = 'https://audinifer.com/e/' + link.split('/e/')[1]
|
||||
url = await eval_solver(link,proxies, ForwardProxy, client,r'"hls2":"([^"]+)"')
|
||||
if url:
|
||||
streams['streams'].append({'name': f"{Name}",'title': f'{Icon}{site_name}\n▶️ StreamHG', 'url': url, 'behaviorHints': {'bingeGroup': f'{site_name.lower()}'}})
|
||||
logger.info(f"{site_name} on StreamHG found results for the current ID")
|
||||
status = True
|
||||
else:
|
||||
status = False
|
||||
return streams,status
|
||||
|
||||
|
||||
|
||||
|
||||
async def test_streamhg():
|
||||
from curl_cffi.requests import AsyncSession
|
||||
async with AsyncSession() as client:
|
||||
results = await streamhg("https://dhcplay.com/e/zctlgpn3zoll",client,{'streams': []}, "StreamHG", {},"")
|
||||
print(results)
|
||||
if __name__ == "__main__":
|
||||
import asyncio
|
||||
asyncio.run(test_streamhg())
|
||||
|
||||
@@ -11,7 +11,7 @@ Name = config.Name
|
||||
|
||||
|
||||
async def supervideo(supervideo_link,client,streams, site_name, proxies,ForwardProxy):
|
||||
url = await eval_solver(supervideo_link,proxies, ForwardProxy, client)
|
||||
url = await eval_solver(supervideo_link,proxies, ForwardProxy, client,r'file:"(.*?)"')
|
||||
if url:
|
||||
streams['streams'].append({'name': f"{Name}",'title': f'{Icon}{site_name}\n▶️ Supervideo', 'url': url, 'behaviorHints': {'bingeGroup': f'{site_name.lower()}'}})
|
||||
logger.info(f"{site_name} on SuperVideo found results for the current ID")
|
||||
|
||||
@@ -5,7 +5,8 @@ import logging
|
||||
import Src.Utilities.config as config
|
||||
from Src.Utilities.config import setup_logging
|
||||
from Src.Utilities.loadenv import load_env
|
||||
|
||||
from fake_headers import Headers
|
||||
random_headers = Headers()
|
||||
UT_PROXY = config.UT_PROXY
|
||||
UT_ForwardProxy = config.UT_ForwardProxy
|
||||
level = config.LEVEL
|
||||
@@ -31,6 +32,8 @@ else:
|
||||
ForwardProxy = ""
|
||||
|
||||
url = 'https://uprot.net/msf/r4hcq47tarq8'
|
||||
|
||||
|
||||
headers = {
|
||||
'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/144.0.0.0 Safari/537.36',
|
||||
'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
|
||||
@@ -118,8 +121,14 @@ async def bypass_uprot(client,link):
|
||||
if 'msfi' not in link:
|
||||
if 'msf' in link:
|
||||
link = link.replace('msf','mse')
|
||||
headers = random_headers.generate()
|
||||
headers['Origin'] = url.split('msf')[0]
|
||||
headers['Referer'] = url
|
||||
response = await client.get(ForwardProxy + link, headers=headers, impersonate = 'chrome', proxies = proxies)
|
||||
max_stream = await find_link(response.text,client)
|
||||
if response.status_code != 403:
|
||||
max_stream = await find_link(response.text,client)
|
||||
else:
|
||||
logger.info("Uprot blocked the request: 403")
|
||||
else:
|
||||
if 'mse' in link:
|
||||
link = link.replace('mse','msf')
|
||||
@@ -131,7 +140,12 @@ async def bypass_uprot(client,link):
|
||||
cookies = json.loads(parts[0].replace("'", '"'))
|
||||
data = json.loads(parts[1].replace("'", '"'))
|
||||
response = await client.post(ForwardProxy + link, cookies=cookies, headers=headers, data =data, impersonate = 'chrome', proxies = proxies)
|
||||
max_stream = await get_maxstream_link(response.text,client)
|
||||
if response.status_code != 403:
|
||||
max_stream = await get_maxstream_link(response.text,client)
|
||||
|
||||
if response.status_code == 403:
|
||||
max_stream = False
|
||||
|
||||
return max_stream
|
||||
|
||||
except Exception as e:
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
{'PHPSESSID': 'bm1qtf1pe0dnr4u4nhvofitk8u', 'captcha': 'ca5612d51c9bbc60f8d76051693d3315'}
|
||||
{'captcha': '853'}
|
||||
{}
|
||||
{}
|
||||
@@ -0,0 +1,77 @@
|
||||
|
||||
|
||||
|
||||
import Src.Utilities.config as config
|
||||
Icon = config.Icon
|
||||
Name = config.Name
|
||||
import re
|
||||
from fake_headers import Headers
|
||||
random_headers = Headers()
|
||||
import logging
|
||||
from Src.Utilities.config import setup_logging
|
||||
level = config.LEVEL
|
||||
logger = setup_logging(level)
|
||||
import base64
|
||||
from bs4 import BeautifulSoup,SoupStrainer
|
||||
VD_DOMAIN = config.VD_DOMAIN
|
||||
|
||||
headers = {
|
||||
'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64; rv:150.0) Gecko/20100101 Firefox/150.0',
|
||||
'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
|
||||
'Accept-Language': 'en-US,en;q=0.9',
|
||||
# 'Accept-Encoding': 'gzip, deflate, br, zstd',
|
||||
'Sec-GPC': '1',
|
||||
'Alt-Used': 'v.vidxgo.co',
|
||||
'Connection': 'keep-alive',
|
||||
'Upgrade-Insecure-Requests': '1',
|
||||
'Sec-Fetch-Dest': 'iframe',
|
||||
'Sec-Fetch-Mode': 'navigate',
|
||||
'Sec-Fetch-Site': 'none',
|
||||
'DNT': '1',
|
||||
'Referer': 'https://altadefinizione.you/',
|
||||
'Sec-Fetch-Storage-Access': 'none',
|
||||
'-': '-',
|
||||
'Priority': 'u=0, i',
|
||||
}
|
||||
|
||||
|
||||
async def vidxgo(link,client,streams,proxies,ForwardProxy):
|
||||
#headers = random_headers.generate()
|
||||
response = await client.get(link, allow_redirects=True, headers = headers)
|
||||
soup = BeautifulSoup(response.text,'lxml',parse_only=SoupStrainer('script'))
|
||||
scripts = soup.find_all('script')
|
||||
text = scripts[5]
|
||||
match = re.search(r"var .+'(.*)',d=atob\('(.*)'",text.text)
|
||||
if match:
|
||||
key = match.group(1)
|
||||
base64_text = match.group(2)
|
||||
decoded = base64.b64decode(base64_text)
|
||||
u = bytearray(len(decoded))
|
||||
for i in range(len(decoded)):
|
||||
u[i] = decoded[i] ^ ord(key[i % len(key)])
|
||||
decrypted_code = u.decode('utf-8')
|
||||
|
||||
|
||||
match = re.search(r'currentSrc.+"(https:[^";]+)',decrypted_code)
|
||||
if match:
|
||||
url = match.group(1).replace("\\","")
|
||||
streams['streams'].append({'name': f"{Name}",'title': f'{Icon}Vidxgo\n ▶️ Vidxgo', 'url': url, 'behaviorHints': {'proxyHeaders': {"request": {"User-Agent": 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/139.0.0.0 Safari/537.36',"Accept": "*/*", "Accept-Language":"en-US,en;q=0.9","Referer":VD_DOMAIN+"/","Origin":VD_DOMAIN,"Sec-GPC": "1","Connection": "keep-alive","Sec-Fetch-Dest":"empty","Sec-Fetch-Mode":"cors","Sec-Fetch-Site":"cross-site","DNT": "1","Priority":"u=0"}}, 'notWebReady': True, 'bingeGroup': f'vidxgo'}})
|
||||
logger.info(f"Vidxgo found results for the current ID")
|
||||
|
||||
return streams
|
||||
|
||||
#Testing
|
||||
async def test_vidxgo():
|
||||
from curl_cffi.requests import AsyncSession
|
||||
async with AsyncSession() as client:
|
||||
results = await vidsrc("https://v.vidxgo.co/tt34437972/1/1",client,{'streams': []}, "Vidxgo", {})
|
||||
print(results)
|
||||
if __name__ == "__main__":
|
||||
import asyncio
|
||||
asyncio.run(test_vidxgo())
|
||||
|
||||
|
||||
|
||||
|
||||
# XOR decryption
|
||||
|
||||
Reference in New Issue
Block a user