Fix DooD Stream

This commit is contained in:
Alhaziel01
2023-06-23 11:44:43 +02:00
parent 68048f1d61
commit e5bb7fbca9
3 changed files with 16 additions and 10 deletions
+3 -2
View File
@@ -429,8 +429,9 @@ def downloadpage(url, **opt):
else: else:
logger.debug("CF retry with proxy for domain: %s" % domain) logger.debug("CF retry with proxy for domain: %s" % domain)
if not opt.get('headers'): if not opt.get('headers'):
opt['headers'] = [] opt['headers'] = {}
opt['headers'].extend([['Px-Host', domain], ['Px-Token', cf_proxy['token']]]) opt['headers']['Px-Host'] = domain
opt['headers']['Px-Token'] = cf_proxy['token']
opt['real-url'] = url opt['real-url'] = url
ret = downloadpage(urlparse.urlunparse((parse.scheme, cf_proxy['url'], parse.path, parse.params, parse.query, parse.fragment)), **opt) ret = downloadpage(urlparse.urlunparse((parse.scheme, cf_proxy['url'], parse.path, parse.params, parse.query, parse.fragment)), **opt)
ret.url = url ret.url = url
+2 -2
View File
@@ -4,8 +4,8 @@
"ignore_urls": [], "ignore_urls": [],
"patterns": [ "patterns": [
{ {
"pattern": "dood(?:stream)?.[^/]+/+(?:e|d)/([a-z0-9]+)", "pattern": "(do*d(?:stream)?.[^/]+)/+(?:e|d)/([a-z0-9]+)",
"url": "https://dood.yt/e/\\1" "url": "https://\\1/e/\\2"
} }
] ]
}, },
+11 -6
View File
@@ -1,15 +1,20 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
import time, string, random import time, string, random, sys
from core import httptools, support, servertools from core import httptools, support
from platformcode import logger, config from platformcode import logger, config
if sys.version_info[0] >= 3:
from urllib.parse import urlparse
else:
from urllib import urlparse
def test_video_exists(page_url): def test_video_exists(page_url):
global data global data
logger.debug('page url=', page_url) logger.debug('page url=', page_url)
response = httptools.downloadpage(page_url) response = httptools.downloadpage(page_url, cloudscraper=True)
if response.code == 404 or 'dsplayer' not in response.data: if response.code == 404 or 'dsplayer' not in response.data:
return False, config.get_localized_string(70449) % 'DooD Stream' return False, config.get_localized_string(70449) % 'DooD Stream'
else: else:
@@ -22,13 +27,13 @@ def get_video_url(page_url, premium=False, user="", password="", video_password=
logger.debug("URL", page_url) logger.debug("URL", page_url)
video_urls = [] video_urls = []
host = 'https://' + servertools.get_server_host('doodstream')[0] host = 'https://{}'.format(urlparse(page_url).netloc)
headers = {'User-Agent': httptools.get_user_agent(), 'Referer': page_url} headers = {'User-Agent': httptools.get_user_agent(), 'Referer': host}
match = support.match(data, patron=r'''dsplayer\.hotkeys[^']+'([^']+).+?function\s*makePlay.+?return[^?]+([^"]+)''').match match = support.match(data, patron=r'''dsplayer\.hotkeys[^']+'([^']+).+?function\s*makePlay.+?return[^?]+([^"]+)''').match
if match: if match:
url, token = match url, token = match
ret = httptools.downloadpage(host + url, headers=headers).data ret = httptools.downloadpage(host + url, headers=headers, cloudscraper=True).data
video_urls.append(['mp4 [DooD Stream]', '{}{}{}{}|Referer={}'.format(randomize(ret), url, token, int(time.time() * 1000), host)]) video_urls.append(['mp4 [DooD Stream]', '{}{}{}{}|Referer={}'.format(randomize(ret), url, token, int(time.time() * 1000), host)])