fix: maxstream

This commit is contained in:
fatshotty
2021-06-24 17:39:15 +02:00
parent 5be564b3e9
commit 17eea720bc
+40 -9
View File
@@ -2,21 +2,52 @@ from core import httptools
from core import scrapertools, support from core import scrapertools, support
from lib import jsunpack from lib import jsunpack
from platformcode import logger, config from platformcode import logger, config
import re, ast, requests
def test_video_exists(page_url): def test_video_exists(page_url):
logger.debug("(page_url='%s')" % page_url) logger.debug("(page_url='%s')" % page_url)
global data
page_url = re.sub(r'(.*\/)([^\/]+)$', '\\1cast/\\2', page_url)
data = httptools.downloadpage(page_url).data data = httptools.downloadpage(page_url).data
if "File Not Found" in data or "File was deleted" in data: lastIndexStart = data.rfind('<script>')
return False, config.get_localized_string(70449) % "MaxStream" lastIndexEnd = data.rfind('</script>')
return True, ""
script = data[ (lastIndexStart + len('<script>')):lastIndexEnd ]
char_codes = ast.literal_eval(re.search('\[[^]+]+]',script).group(0))
hidden_js = "".join([chr(c - int(re.search('parseInt\(value\)\s?-\s?([0-9]+)', script).group(1))) for c in char_codes])
newurl = re.search('\$.get\(\'([^\']+)', hidden_js).group(1)
global url_video
url_video = None
castpage = httptools.downloadpage(newurl, headers={'x-requested-with': 'XMLHttpRequest', 'Referer': page_url }).data
url_video = re.search( r"cc\.cast\('(http[s]?.*?)'", castpage)
if url_video:
url_video = url_video.group(1)
return True, ""
return False, config.get_localized_string(70449) % "MaxStream"
def get_video_url(page_url, premium=False, user="", password="", video_password=""): def get_video_url(page_url, premium=False, user="", password="", video_password=""):
logger.debug("url=" + page_url) logger.debug("url=" + page_url)
global data
packed = scrapertools.find_single_match(data, r'(eval.*?)</script>') # page_url = re.sub(r'(.*\/)([^\/]+)$', '\\1/cast/\\2', page_url)
unpacked = jsunpack.unpack(packed)
return support.get_jwplayer_mediaurl(unpacked, 'MaxStream') # data = httptools.downloadpage(page_url).data
# packed = scrapertools.find_single_match(data, r'(eval.*?)</script>')
# unpacked = jsunpack.unpack(packed)
# return support.get_jwplayer_mediaurl(unpacked, 'MaxStream')
if url_video:
video_urls = []
video_urls.append(["[MaxStream]", url_video])
return video_urls
else:
raise "Something wrong: no url found before :("