Compare commits

..

No commits in common. "03bbb224ad212b03ae5b1cf906a51aaebc7d7510" and "862de2f9d29ae775e7fc3dd4a0ff8d44f8a4c1a9" have entirely different histories.

2 changed files with 7 additions and 20 deletions

View File

@ -182,7 +182,6 @@ class AniworldLoader(Loader):
'quiet': True,
'no_warnings': True,
'progress_with_newline': False,
'nocheckcertificate': True,
}
if header:

View File

@ -9,10 +9,6 @@ from bs4 import BeautifulSoup
from fake_useragent import UserAgent
from src.Loaders.provider.Provider import Provider
# Compile regex patterns once for better performance
REDIRECT_PATTERN = re.compile(r"https?://[^'\"<>]+")
B64_PATTERN = re.compile(r"var a168c='([^']+)'")
HLS_PATTERN = re.compile(r"'hls': '(?P<hls>[^']+)'")
class VOE(Provider):
def __init__(self):
@ -52,26 +48,18 @@ class VOE(Provider):
response = self.session.get(redirect_url, headers={'User-Agent': self.RANDOM_USER_AGENT})
html = response.content
# Method 1: Extract from script tag
extracted = self.extract_voe_from_script(html)
if extracted:
return extracted, self.Header
# Method 2: Extract from base64 encoded variable
htmlText = html.decode('utf-8')
b64_match = B64_PATTERN.search(htmlText)
if b64_match:
decoded = base64.b64decode(b64_match.group(1)).decode()[::-1]
source = json.loads(decoded).get("source")
if source:
return source, self.Header
# Method 3: Extract HLS source
hls_match = HLS_PATTERN.search(htmlText)
if hls_match:
return base64.b64decode(hls_match.group("hls")).decode(), self.Header
b64match = re.search(r"var a168c='([^']+)'", html)
if b64match:
decoded = base64.b64decode(b64match.group(1)).decode()[::-1]
return json.loads(decoded)["source"], self.Header
hls = re.search(r"'hls': '(?P<hls>[^']+)'", html)
if hls:
return base64.b64decode(hls.group("hls")).decode(), self.Header
def shift_letters(self, input_str):
result = ''
for c in input_str: