13 Commits
11 changed files with 65 additions and 36 deletions
+8
View File
@@ -2,7 +2,15 @@ FROM python:3.11-slim-bullseye
WORKDIR /app
ADD . /app
RUN apt-get update && \
apt-get install -y tesseract-ocr libtesseract-dev && \
apt-get clean && \
rm -rf /var/lib/apt/lists/*
RUN pip install --no-cache-dir -r requirements.txt
RUN pip install --no-cache-dir pytesseract
EXPOSE 8080
# Run run.py when the container launches
+1
View File
@@ -165,6 +165,7 @@ async def series_redirect_url(link,season,episode,client,MFP,MFP_CREDENTIALS,str
mixdrop_real_link = await get_stayonline(mixdrop_link,client)
streams = await mixdrop(mixdrop_real_link,client,MFP,MFP_CREDENTIALS,streams,"CB01",proxies,ForwardProxy,"")
return streams
return streams
+1 -1
View File
@@ -218,7 +218,7 @@ async def eurostreaming(streams,id,client,MFP,MFP_CREDENTIALS):
async def test_euro():
from curl_cffi.requests import AsyncSession
async with AsyncSession() as client:
results = await eurostreaming({'streams': []},"tt9253284:1:4",client,"0",['test','test'])
results = await eurostreaming({'streams': []},"tt6156584:4:1",client,"0",['test','test'])
print(results)
async def test_deltabit():
+16 -1
View File
@@ -59,7 +59,7 @@ async def deltabit(page_url,client,streams,site_name,proxies,ForwardProxy,langua
if not link:
if not i >= 3:
page_url = 'https://deltabit.co/q4r8w4assff4'
link,fname = await deltabit(page_url,client)
link,fname = await deltabit(page_url,client,streams,site_name,proxies,ForwardProxy,language)
i +=1
else:
link = link[0]
@@ -68,3 +68,18 @@ async def deltabit(page_url,client,streams,site_name,proxies,ForwardProxy,langua
return streams
#Testing
async def test_deltabit():
from curl_cffi.requests import AsyncSession
async with AsyncSession() as client:
results = await deltabit("https://deltabit.co/a54ehb8w42pe",client,{'streams': []},'Deltabit', {},"","")
print(results)
if __name__ == "__main__":
import asyncio
asyncio.run(test_deltabit())
# https://loadm.cam/#cfnqx
+1 -1
View File
@@ -15,7 +15,7 @@ async def uqload(player_link,client,MFP,MFP_CREDENTIALS,streams,site_name,proxie
headers = random_headers.generate()
if MFP == "1":
url = await build_mfp(MFP_CREDENTIALS, player_link, "Uqload",client)
streams['streams'].append({'name': f"{Name} 🕵️‍♂️",'title': f'{Icon}Guardaflix\n▶️ Uqload', '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'}}, 'notWebReady': True, 'bingeGroup': 'guardaflix'}})
streams['streams'].append({'name': f"{Name} 🕵️‍♂️",'title': f'{Icon}{site_name}\n▶️ Uqload', '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'}}, 'notWebReady': True, 'bingeGroup': 'guardaflix'}})
return streams
response = await client.get(ForwardProxy + player_link, headers = headers, proxies = proxies)
video_url_match = re.search(r'sources: \["(.*?)"]', response.text)
+28 -26
View File
@@ -19,32 +19,34 @@ async def vixcloud(link,client,MFP,MFP_CREDENTIALS,streams,site_name,proxies,For
final_url = await build_mfp(MFP_CREDENTIALS, link, "VixCloud",client)
quality = ""
mfp_icon = '🕵️‍♂️'
else:
mfp_icon = ''
headers = random_headers.generate()
headers['Referer'] = f"{SC_DOMAIN}/"
headers['Origin'] = f"{SC_DOMAIN}"
headers['User-Agent'] = User_Agent
headers['user-agent'] = User_Agent
response = await client.get(link)
if response.status_code != 200:
logger.warning("Failed to extract URL components, Invalid Request")
soup = BeautifulSoup(response.text, "lxml", parse_only=SoupStrainer("body"))
if soup:
script = soup.find("body").find("script").text
token = re.search(r"'token':\s*'(\w+)'", script).group(1)
expires = re.search(r"'expires':\s*'(\d+)'", script).group(1)
server_url = re.search(r"url:\s*'([^']+)'", script).group(1)
try:
quality = re.search(r'"quality":(\d+)', script).group(1)
except:
quality = ""
if "?b=1" in server_url:
final_url = f'{server_url}&token={token}&expires={expires}'
else:
final_url = f"{server_url}?token={token}&expires={expires}"
if "window.canPlayFHD = true" in script:
final_url += "&h=1"
if final_url:
streams['streams'].append({"name":f'{Name} {mfp_icon}\n{quality}', 'title': f'{Icon} StreamingCommunity\n▶️ Vixcloud','url': final_url,'behaviorHints': {'bingeGroup': f'{site_name.lower()}{quality}'}})
return streams
mfp_icon = ''
headers = random_headers.generate()
headers['Referer'] = f"{SC_DOMAIN}/"
headers['Origin'] = f"{SC_DOMAIN}"
headers['User-Agent'] = User_Agent
headers['user-agent'] = User_Agent
response = await client.get(link)
if response.status_code != 200:
logger.warning("Failed to extract URL components, Invalid Request")
soup = BeautifulSoup(response.text, "lxml", parse_only=SoupStrainer("body"))
if soup:
script = soup.find("body").find("script").text
token = re.search(r"'token':\s*'(\w+)'", script).group(1)
expires = re.search(r"'expires':\s*'(\d+)'", script).group(1)
server_url = re.search(r"url:\s*'([^']+)'", script).group(1)
try:
quality = re.search(r'"quality":(\d+)', script).group(1)
except:
quality = ""
if "?b=1" in server_url:
final_url = f'{server_url}&token={token}&expires={expires}'
else:
final_url = f"{server_url}?token={token}&expires={expires}"
if "window.canPlayFHD = true" in script:
final_url += "&h=1"
if final_url:
logger.info(f"Vixcloud Found Results for the current ID")
streams['streams'].append({"name":f'{Name} {mfp_icon}\n{quality}', 'title': f'{Icon} StreamingCommunity\n▶️ Vixcloud','url': final_url,'behaviorHints': {'proxyHeaders': {"request": {"user-agent": User_Agent}}, 'notWebReady': True, 'bingeGroup': f'{site_name.lower()}{quality}'}})
+3 -2
View File
@@ -9,6 +9,8 @@ from Src.API.extractors.uqload import uqload
from Src.API.extractors.dropload import dropload
import logging
from Src.Utilities.config import setup_logging
import json
import random
level = config.LEVEL
logger = setup_logging(level)
env_vars = load_env()
@@ -55,7 +57,6 @@ async def search(showname,date,MFP,MFP_CREDENTIALS,client,streams):
headers['Origin'] = f'{GF_DOMAIN}'
headers['Referer'] = f'{GF_DOMAIN}/'
headers['Content-Type'] = 'application/x-www-form-urlencoded; charset=UTF-8'
showname = quote(showname)
data = {
'action': 'action_tr_search_suggest',
'nonce': '20115729b4',
@@ -109,7 +110,7 @@ async def guardaflix(streams,id,client,MFP,MFP_CREDENTIALS):
async def test_guardaflix():
from curl_cffi.requests import AsyncSession
async with AsyncSession() as client:
results = await guardaflix({'streams': []},"tt16426418",client,"0",['test','test'])
results = await guardaflix({'streams': []},"tt4045450",client,"0",['test','test'])
print(results)
+3 -1
View File
@@ -11,6 +11,8 @@ from Src.API.extractors.dropload import dropload
import logging
from Src.Utilities.config import setup_logging
level = config.LEVEL
import json
import random
logger = setup_logging(level)
env_vars = load_env()
random_headers = Headers()
@@ -130,7 +132,7 @@ async def guardoserie(streams,id,client,MFP,MFP_CREDENTIALS):
async def test_guardoserie():
from curl_cffi.requests import AsyncSession
async with AsyncSession() as client:
results = await guardoserie({'streams': []},"tt16426418",client,"1",['test','test'])
results = await guardoserie({'streams': []},"tt10919420:1:1",client,"1",['test','test'])
print(results)
+1 -1
View File
@@ -1,4 +1,4 @@
{
"projectName": "MammaMia",
"lastCommit": "10f381b"
"lastCommit": "d39bc34"
}
+1 -1
View File
@@ -174,7 +174,7 @@ CONFIGURE = """
<img src="https://creazilla-store.fra1.digitaloceanspaces.com/emojis/49647/pizza-emoji-clipart-md.png" alt="Logo">
</div>
<h1 class="name">Mamma Mia</h1>
<h2 class="version">v1.5.0</h2>
<h2 class="version">v2.0.0</h2>
<div id="additionalText">
<h2>This addon provides Movie, Series, Anime, and Live TV HTTPS Streams.<br> https://github.com/UrloMythus/MammaMia/</h2>
</div>
+1 -1
View File
@@ -174,7 +174,7 @@ HTML = """
<img src="https://creazilla-store.fra1.digitaloceanspaces.com/emojis/49647/pizza-emoji-clipart-md.png" alt="Logo">
</div>
<h1 class="name">Mamma Mia</h1>
<h2 class="version">v1.5.0</h2>
<h2 class="version">v2.0.0</h2>
<div id="additionalText">
<h2>This addon provides Movie, Series, Anime, and Live TV HTTPS Streams.<br> https://github.com/UrloMythus/MammaMia/</h2>
</div>