Merge remote-tracking branch 'origin/master'
This commit is contained in:
@@ -222,16 +222,18 @@ def findvideos(item):
|
||||
from time import time
|
||||
from base64 import b64encode
|
||||
from hashlib import md5
|
||||
# support.dbg()
|
||||
|
||||
# Calculate Token
|
||||
client_ip = support.httptools.downloadpage('https://scws.work/videos/{}'.format(item.scws_id)).json.get('client_ip')
|
||||
# client_ip = support.httptools.downloadpage('https://scws.work/videos/{}'.format(item.scws_id)).json.get('client_ip')
|
||||
client_ip = support.httptools.downloadpage('http://ip-api.com/json/').json.get('query')
|
||||
logger.debug(client_ip)
|
||||
expires = int(time() + 172800)
|
||||
token = b64encode(md5('{}{} Yc8U6r8KjAKAepEA'.format(expires, client_ip).encode('utf-8')).digest()).decode('utf-8').replace('=', '').replace('+', '-').replace('/', '_')
|
||||
|
||||
url = 'https://scws.work/master/{}?token={}&expires={}&n=1'.format(item.scws_id, token, expires)
|
||||
itemlist = [item.clone(title=support.config.get_localized_string(30137), url=url, server='directo', action='play', manifest='hls')]
|
||||
itemlist = [item.clone(title=support.config.get_localized_string(30137), url=url, server='directo', action='play', manifest='hls',referer=False)]
|
||||
else:
|
||||
itemlist = [item.clone(title=support.config.get_localized_string(30137), url=item.video_url, server='directo', action='play')]
|
||||
return support.server(item, itemlist=itemlist)
|
||||
itemlist = [item.clone(title=support.config.get_localized_string(30137), url=item.video_url, server='directo', action='play',referer=False)]
|
||||
return support.server(item, itemlist=itemlist, referer=False)
|
||||
|
||||
|
||||
@@ -252,7 +252,8 @@ def play(item):
|
||||
return []
|
||||
|
||||
# Calculate Token
|
||||
client_ip = support.httptools.downloadpage('https://scws.work/videos/{}'.format(scws_id)).json.get('client_ip')
|
||||
# client_ip = support.httptools.downloadpage('https://scws.work/videos/{}'.format(scws_id)).json.get('client_ip')
|
||||
client_ip = support.httptools.downloadpage('http://ip-api.com/json/').json.get('query')
|
||||
|
||||
expires = int(time() + 172800)
|
||||
token = b64encode(md5('{}{} Yc8U6r8KjAKAepEA'.format(expires, client_ip).encode('utf-8')).digest()).decode('utf-8').replace('=', '').replace('+', '-').replace('/', '_')
|
||||
@@ -261,7 +262,7 @@ def play(item):
|
||||
subs = []
|
||||
urls = []
|
||||
|
||||
info = support.match(url, patron=r'LANGUAGE="([^"]+)",\s*URI="([^"]+)|RESOLUTION=\d+x(\d+).*?(http[^"\s]+)').matches
|
||||
info = support.match(url, patron=r'LANGUAGE="([^"]+)",\s*URI="([^"]+)|RESOLUTION=\d+x(\d+).*?(http[^"\s]+)', headers=headers).matches
|
||||
if info:
|
||||
for lang, sub, res, url in info:
|
||||
if sub and not logger.testMode: # ai test non piace questa parte
|
||||
@@ -272,6 +273,6 @@ def play(item):
|
||||
elif url:
|
||||
urls.append(['hls [{}]'.format(res), url])
|
||||
|
||||
return [item.clone(title = channeltools.get_channel_parameters(item.channel)['title'], server='directo', video_urls=urls, subtitle=subs, manifest='hls')]
|
||||
return [item.clone(title = channeltools.get_channel_parameters(item.channel)['title'], server='directo', video_urls=urls, subtitle=subs, manifest='hls', referer=False)]
|
||||
else:
|
||||
return [item.clone(title = channeltools.get_channel_parameters(item.channel)['title'], server='directo', url=url, manifest='hls')]
|
||||
return [item.clone(title = channeltools.get_channel_parameters(item.channel)['title'], server='directo', url=url, manifest='hls', referer=False)]
|
||||
|
||||
@@ -1260,7 +1260,7 @@ def pagination(itemlist, item, page, perpage, function_level=1):
|
||||
return itemlist
|
||||
|
||||
|
||||
def server(item, data='', itemlist=[], headers='', CheckLinks=True, Download=True, patronTag=None, Videolibrary=True, Sorted=True):
|
||||
def server(item, data='', itemlist=[], headers='', CheckLinks=True, Download=True, patronTag=None, Videolibrary=True, Sorted=True, referer=True):
|
||||
logger.debug()
|
||||
|
||||
if not data and not itemlist:
|
||||
@@ -1310,7 +1310,8 @@ def server(item, data='', itemlist=[], headers='', CheckLinks=True, Download=Tru
|
||||
|
||||
if videoitem.title: vi.serverName = videoitem.title
|
||||
if videoitem.quality: vi.quality = videoitem.quality
|
||||
if not vi.referer: vi.referer = item.url
|
||||
if referer == False: vi.referer = False
|
||||
elif referer and not vi.referer: vi.referer = item.url
|
||||
vi.contentFanart = item.infoLabels['fanart']
|
||||
vi.contentThumb = item.infoLabels['fanart']
|
||||
if videoitem.forcethumb:
|
||||
|
||||
@@ -1105,7 +1105,9 @@ def play_video(item, strm=False, force_direct=False, autoplay=False):
|
||||
# headers['Host'] = domain
|
||||
# except:
|
||||
# logger.error('Failed to resolve hostname, fallback to normal dns')
|
||||
if '|' not in mediaurl:
|
||||
from core import support
|
||||
# support.dbg()
|
||||
if '|' not in mediaurl and item.referer != False:
|
||||
mediaurl = mediaurl + '|' + urllib.urlencode(headers)
|
||||
|
||||
# video information is obtained.
|
||||
|
||||
Reference in New Issue
Block a user