Fix DooD Stream
This commit is contained in:
@@ -429,8 +429,9 @@ def downloadpage(url, **opt):
|
||||
else:
|
||||
logger.debug("CF retry with proxy for domain: %s" % domain)
|
||||
if not opt.get('headers'):
|
||||
opt['headers'] = []
|
||||
opt['headers'].extend([['Px-Host', domain], ['Px-Token', cf_proxy['token']]])
|
||||
opt['headers'] = {}
|
||||
opt['headers']['Px-Host'] = domain
|
||||
opt['headers']['Px-Token'] = cf_proxy['token']
|
||||
opt['real-url'] = url
|
||||
ret = downloadpage(urlparse.urlunparse((parse.scheme, cf_proxy['url'], parse.path, parse.params, parse.query, parse.fragment)), **opt)
|
||||
ret.url = url
|
||||
|
||||
@@ -4,8 +4,8 @@
|
||||
"ignore_urls": [],
|
||||
"patterns": [
|
||||
{
|
||||
"pattern": "dood(?:stream)?.[^/]+/+(?:e|d)/([a-z0-9]+)",
|
||||
"url": "https://dood.yt/e/\\1"
|
||||
"pattern": "(do*d(?:stream)?.[^/]+)/+(?:e|d)/([a-z0-9]+)",
|
||||
"url": "https://\\1/e/\\2"
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
@@ -1,15 +1,20 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
import time, string, random
|
||||
from core import httptools, support, servertools
|
||||
import time, string, random, sys
|
||||
from core import httptools, support
|
||||
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):
|
||||
global data
|
||||
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:
|
||||
return False, config.get_localized_string(70449) % 'DooD Stream'
|
||||
else:
|
||||
@@ -22,13 +27,13 @@ def get_video_url(page_url, premium=False, user="", password="", video_password=
|
||||
logger.debug("URL", page_url)
|
||||
|
||||
video_urls = []
|
||||
host = 'https://' + servertools.get_server_host('doodstream')[0]
|
||||
headers = {'User-Agent': httptools.get_user_agent(), 'Referer': page_url}
|
||||
host = 'https://{}'.format(urlparse(page_url).netloc)
|
||||
headers = {'User-Agent': httptools.get_user_agent(), 'Referer': host}
|
||||
|
||||
match = support.match(data, patron=r'''dsplayer\.hotkeys[^']+'([^']+).+?function\s*makePlay.+?return[^?]+([^"]+)''').match
|
||||
if 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)])
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user