From 7cb35cb36cff283d8077c60a9dbd5cbe6b0b9e41 Mon Sep 17 00:00:00 2001 From: marco Date: Sun, 29 Dec 2019 15:25:05 +0100 Subject: [PATCH] fix tantiflm, url fembed, nuovo server hdplayer e tentativo iniziale fix mystream --- channels/tantifilm.py | 31 +++++++++++-------------------- servers/fembed.json | 4 ++++ servers/hdplayer.json | 42 ++++++++++++++++++++++++++++++++++++++++++ servers/hdplayer.py | 18 ++++++++++++++++++ servers/mystream.json | 8 ++++++++ servers/mystream.py | 6 ++++++ 6 files changed, 89 insertions(+), 20 deletions(-) create mode 100644 servers/hdplayer.json create mode 100644 servers/hdplayer.py diff --git a/channels/tantifilm.py b/channels/tantifilm.py index fd739e9c..9b17b2d8 100644 --- a/channels/tantifilm.py +++ b/channels/tantifilm.py @@ -5,28 +5,22 @@ import re -import urlparse - -from core import scrapertools, httptools, tmdb, support,servertools +from core import scrapertools, httptools, tmdb, support from core.item import Item from core.support import menu, log from platformcode import logger from specials import autorenumber from platformcode import config, unify from lib.unshortenit import unshorten_only -from lib import unshortenit -host = 'https://www.tantifilm.eu' -headers = '' + def findhost(): - pass - # global host, headers - # permUrl = httptools.downloadpage('https://www.tantifilm.info/', follow_redirects=False).data - # host = scrapertools.find_single_match(permUrl, r'

Il nuovo indirizzo di Tantifilm è:

') - # if host.endswith('/'): - # host = host[:-1] - # headers = [['Referer', host]] + permUrl = httptools.downloadpage('https://www.tantifilm.info/', follow_redirects=False).data + host = 'https://' + scrapertools.find_single_match(permUrl, r'Ora siamo ([A-Za-z0-9./]+)') + return host +host = config.get_channel_url(findhost) +headers = [['Referer', host]] list_servers = ['verystream', 'openload', 'streamango', 'vidlox', 'youtube'] list_quality = ['default'] @@ -119,10 +113,6 @@ def episodios(item): #debug = True return locals() -def player_or_not(item): - - return item - def category(item): log() @@ -274,9 +264,10 @@ def findvideos(item): if 'nodmca' in url: page = httptools.downloadpage(url, headers=headers).data url = '\t' + scrapertools.find_single_match(page, '') - if url: - listurl.add(url) - return support.server(item, data=listurl if listurl else data)#, headers=headers) + if url: + listurl.add(url) + data += '\n'.join(listurl) + return support.server(item, data)#, headers=headers) # return itemlist ##def findvideos(item): diff --git a/servers/fembed.json b/servers/fembed.json index 614826c6..e0157bfd 100644 --- a/servers/fembed.json +++ b/servers/fembed.json @@ -6,6 +6,10 @@ { "pattern": "((?:fembed|divload|cercafilm|sonline).(?:com|net|pro)/(?:f|v)/[A-z0-9_-]+)", "url": "https://www.\\1" + }, + { + "pattern": "(verystream.info/v/[A-z0-9_-]+)", + "url": "https://www.\\1" } ] }, diff --git a/servers/hdplayer.json b/servers/hdplayer.json new file mode 100644 index 00000000..070aa43f --- /dev/null +++ b/servers/hdplayer.json @@ -0,0 +1,42 @@ +{ + "active": true, + "find_videos": { + "ignore_urls": [], + "patterns": [ + { + "pattern": "https://hdplayer\\.casa//public/dist/index\\.html\\?id=([a-z0-9]+)", + "url": "https://hdplayer.casa/public/dist/index.html?id=\\1" + } + ] + }, + "free": true, + "id": "hdplayer", + "name": "HDPlayer", + "settings": [ + { + "default": false, + "enabled": true, + "id": "black_list", + "label": "@60654", + "type": "bool", + "visible": true + }, + { + "default": 0, + "enabled": true, + "id": "favorites_servers_list", + "label": "@60655", + "lvalues": [ + "No", + "1", + "2", + "3", + "4", + "5" + ], + "type": "list", + "visible": false + } + ], + "thumbnail": "server_hdload" +} diff --git a/servers/hdplayer.py b/servers/hdplayer.py new file mode 100644 index 00000000..258e7b2f --- /dev/null +++ b/servers/hdplayer.py @@ -0,0 +1,18 @@ +from core import httptools +from core import scrapertools +from platformcode import config + + +def test_video_exists(page_url): + stream_url = get_stream_url(page_url) + data = httptools.downloadpage(stream_url).data + if "Error Playlist" in data: + return False, config.get_localized_string(70449) % "HDPlayer" + return True, "" + +def get_stream_url(url): + id = scrapertools.find_single_match(url, 'id=([a-z0-9]+)') + return 'https://hdplayer.casa/hls/' + id + '/' + id + '.playlist.m3u8' + +def get_video_url(page_url, premium=False, user="", password="", video_password=""): + return [('.m3u8', get_stream_url(page_url))] diff --git a/servers/mystream.json b/servers/mystream.json index 177f7611..310dbe3e 100644 --- a/servers/mystream.json +++ b/servers/mystream.json @@ -6,6 +6,14 @@ { "pattern": "https://embed.mystream.to/(\\w+)", "url": "https://embed.mystream.to/\\1" + }, + { + "pattern": "https://mystream\\.premiumserver\\.club/(\\w+)", + "url": "https://embed.mystream.to/\\1" + }, + { + "pattern": "https://mstream\\.(?:xyz|icu)/(\\w+)", + "url": "https://embed.mystream.to/\\1" } ] }, diff --git a/servers/mystream.py b/servers/mystream.py index bfabfbdf..e1f97e0e 100644 --- a/servers/mystream.py +++ b/servers/mystream.py @@ -7,6 +7,7 @@ import re from core import httptools from core import scrapertools +from lib import js2py from lib.aadecode import decode as aadecode from platformcode import logger @@ -27,6 +28,11 @@ def get_video_url(page_url, premium = False, user = "", password = "", video_pas headers = {'referer': page_url} data = httptools.downloadpage(page_url, headers=headers).data data = re.sub(r'"|\n|\r|\t| |
|\s{2,}', "", data) + for c in scrapertools.find_multiple_matches(data, ''): + if 'function vv' in c: + vv = js2py.eval_js(c) + if 'key' in c: + key = js2py.eval_js(c) code = scrapertools.find_single_match(data, '(?s)').strip() text_decode = aadecode(code) matches = scrapertools.find_multiple_matches(text_decode, "'src', '([^']+)'")