From c5dffe09dab96304e024ef782c904a64ae74439b Mon Sep 17 00:00:00 2001 From: Intel1 Date: Sat, 1 Sep 2018 10:15:42 -0500 Subject: [PATCH] Eliminados y actualizados servers cloudsany, nowvideo, oboom, playwatch, playwire, rutube, streame, veoh, vidabc, videowood, vidgg, vidgot, vidzella, watchers, wholecloud: eliminados gounlimited, thevideome, watchvideo fix --- plugin.video.alfa/servers/cloudsany.json | 42 ------------ plugin.video.alfa/servers/cloudsany.py | 33 --------- plugin.video.alfa/servers/gounlimited.py | 8 +-- plugin.video.alfa/servers/nowvideo.json | 71 ------------------- plugin.video.alfa/servers/nowvideo.py | 59 ---------------- plugin.video.alfa/servers/oboom.json | 44 ------------ plugin.video.alfa/servers/oboom.py | 9 --- plugin.video.alfa/servers/playwatch.json | 42 ------------ plugin.video.alfa/servers/playwatch.py | 34 --------- plugin.video.alfa/servers/playwire.json | 41 ----------- plugin.video.alfa/servers/playwire.py | 45 ------------ plugin.video.alfa/servers/rutube.json | 45 ------------ plugin.video.alfa/servers/rutube.py | 37 ---------- plugin.video.alfa/servers/streame.json | 41 ----------- plugin.video.alfa/servers/streame.py | 29 -------- plugin.video.alfa/servers/thevideome.py | 4 +- plugin.video.alfa/servers/veoh.json | 45 ------------ plugin.video.alfa/servers/veoh.py | 32 --------- plugin.video.alfa/servers/vidabc.json | 41 ----------- plugin.video.alfa/servers/vidabc.py | 54 --------------- plugin.video.alfa/servers/videowood.json | 41 ----------- plugin.video.alfa/servers/videowood.py | 26 ------- plugin.video.alfa/servers/vidgg.json | 41 ----------- plugin.video.alfa/servers/vidgg.py | 53 -------------- plugin.video.alfa/servers/vidgot.py | 36 ---------- plugin.video.alfa/servers/vidlox.json | 84 +++++++++++------------ plugin.video.alfa/servers/vidzella.json | 42 ------------ plugin.video.alfa/servers/vidzella.py | 33 --------- plugin.video.alfa/servers/watchers.json | 42 ------------ plugin.video.alfa/servers/watchers.py | 36 ---------- plugin.video.alfa/servers/watchvideo.py | 7 +- plugin.video.alfa/servers/wholecloud.json | 42 ------------ plugin.video.alfa/servers/wholecloud.py | 38 ---------- 33 files changed, 54 insertions(+), 1223 deletions(-) delete mode 100644 plugin.video.alfa/servers/cloudsany.json delete mode 100644 plugin.video.alfa/servers/cloudsany.py delete mode 100755 plugin.video.alfa/servers/nowvideo.json delete mode 100755 plugin.video.alfa/servers/nowvideo.py delete mode 100755 plugin.video.alfa/servers/oboom.json delete mode 100755 plugin.video.alfa/servers/oboom.py delete mode 100755 plugin.video.alfa/servers/playwatch.json delete mode 100755 plugin.video.alfa/servers/playwatch.py delete mode 100755 plugin.video.alfa/servers/playwire.json delete mode 100755 plugin.video.alfa/servers/playwire.py delete mode 100755 plugin.video.alfa/servers/rutube.json delete mode 100755 plugin.video.alfa/servers/rutube.py delete mode 100755 plugin.video.alfa/servers/streame.json delete mode 100755 plugin.video.alfa/servers/streame.py delete mode 100755 plugin.video.alfa/servers/veoh.json delete mode 100755 plugin.video.alfa/servers/veoh.py delete mode 100755 plugin.video.alfa/servers/vidabc.json delete mode 100755 plugin.video.alfa/servers/vidabc.py delete mode 100755 plugin.video.alfa/servers/videowood.json delete mode 100755 plugin.video.alfa/servers/videowood.py delete mode 100755 plugin.video.alfa/servers/vidgg.json delete mode 100755 plugin.video.alfa/servers/vidgg.py delete mode 100755 plugin.video.alfa/servers/vidgot.py delete mode 100644 plugin.video.alfa/servers/vidzella.json delete mode 100644 plugin.video.alfa/servers/vidzella.py delete mode 100755 plugin.video.alfa/servers/watchers.json delete mode 100755 plugin.video.alfa/servers/watchers.py delete mode 100755 plugin.video.alfa/servers/wholecloud.json delete mode 100755 plugin.video.alfa/servers/wholecloud.py diff --git a/plugin.video.alfa/servers/cloudsany.json b/plugin.video.alfa/servers/cloudsany.json deleted file mode 100644 index 75c373ca..00000000 --- a/plugin.video.alfa/servers/cloudsany.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "active": true, - "find_videos": { - "ignore_urls": [], - "patterns": [ - { - "pattern": "cloudsany.com/i/([A-z0-9]+)", - "url": "https://cloudsany.com/i/\\1" - } - ] - }, - "free": true, - "id": "cloudsany", - "name": "cloudsany", - "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": "https://s1.postimg.cc/6wixo35myn/cloudsany1.png" -} diff --git a/plugin.video.alfa/servers/cloudsany.py b/plugin.video.alfa/servers/cloudsany.py deleted file mode 100644 index 67112c5f..00000000 --- a/plugin.video.alfa/servers/cloudsany.py +++ /dev/null @@ -1,33 +0,0 @@ -# -*- coding: utf-8 -*- -# ------------------------------------------------------------ -# Alfa addon - KODI Plugin -# Conector para cloudsany -# https://github.com/alfa-addon -# ------------------------------------------------------------ - -from core import httptools -from core import scrapertools -from lib import jsunpack -from platformcode import logger - - -def test_video_exists(page_url): - logger.info("(page_url='%s')" % page_url) - data = httptools.downloadpage(page_url).data - if "no longer exists" in data: - return False, "[Cloudsany] El fichero ha sido borrado" - - return True, "" - - -def get_video_url(page_url, user="", password="", video_password=""): - logger.info("(page_url='%s')" % page_url) - data = httptools.downloadpage(page_url).data - data = scrapertools.find_single_match(data, 'p,a,c,k,e.*?') - unpack = jsunpack.unpack(data) - logger.info("Intel11 %s" %unpack) - video_urls = [] - videourl = scrapertools.find_single_match(unpack, 'config={file:"([^"]+)') - video_urls.append([".MP4 [Cloudsany]", videourl]) - - return video_urls diff --git a/plugin.video.alfa/servers/gounlimited.py b/plugin.video.alfa/servers/gounlimited.py index dcf835af..ed02a6f5 100644 --- a/plugin.video.alfa/servers/gounlimited.py +++ b/plugin.video.alfa/servers/gounlimited.py @@ -24,9 +24,9 @@ def get_video_url(page_url, premium=False, user="", password="", video_password= data = re.sub(r'"|\n|\r|\t| |
|\s{2,}', "", data) packed_data = scrapertools.find_single_match(data, "javascript'>(eval.*?)") unpacked = jsunpack.unpack(packed_data) - patron = "file:(.*?),label:(.*?)}" + patron = "sources..([^\]]+)" matches = re.compile(patron, re.DOTALL).findall(unpacked) - for url, quality in matches: - video_urls.append(['%s' % quality, url]) - video_urls.sort(key=lambda x: int(x[0])) + for url in matches: + url += "|Referer=%s" %page_url + video_urls.append(['mp4', url]) return video_urls diff --git a/plugin.video.alfa/servers/nowvideo.json b/plugin.video.alfa/servers/nowvideo.json deleted file mode 100755 index c7298a48..00000000 --- a/plugin.video.alfa/servers/nowvideo.json +++ /dev/null @@ -1,71 +0,0 @@ -{ - "active": true, - "find_videos": { - "ignore_urls": [], - "patterns": [ - { - "pattern": "nowvideo.../(?:video/|embed.php\\?.*v=)([A-z0-9]+)", - "url": "http://www.nowvideo.sx/video/\\1" - } - ] - }, - "free": true, - "id": "nowvideo", - "name": "nowvideo", - "premium": [ - "nowvideo", - "realdebrid" - ], - "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 - }, - { - "default": false, - "enabled": true, - "id": "premium", - "label": "Activar cuenta premium", - "type": "bool", - "visible": true - }, - { - "default": "", - "enabled": "eq(-1,true)", - "id": "user", - "label": "@30014", - "type": "text", - "visible": true - }, - { - "default": "", - "enabled": "eq(-2,true)+!eq(-1,'')", - "hidden": true, - "id": "password", - "label": "@30015", - "type": "text", - "visible": true - } - ], - "thumbnail": "server_nowvideo.png" -} \ No newline at end of file diff --git a/plugin.video.alfa/servers/nowvideo.py b/plugin.video.alfa/servers/nowvideo.py deleted file mode 100755 index 5fad7efb..00000000 --- a/plugin.video.alfa/servers/nowvideo.py +++ /dev/null @@ -1,59 +0,0 @@ -# -*- coding: utf-8 -*- - -import re - -from core import httptools -from core import scrapertools -from platformcode import logger - - -def test_video_exists(page_url): - logger.info("(page_url='%s')" % page_url) - url = page_url.replace("http://www.nowvideo.sx/video/", "http://embed.nowvideo.sx/embed/?v=") - data = httptools.downloadpage(url).data - if "The file is being converted" in data or "Please try again later" in data: - return False, "El fichero está en proceso" - elif "no longer exists" in data: - return False, "El fichero ha sido borrado" - return True, "" - - -def get_video_url(page_url, premium=False, user="", password="", video_password=""): - logger.info("(page_url='%s')" % page_url) - video_urls = [] - if premium: - login_url = "http://www.nowvideo.eu/login.php" - data = httptools.downloadpage(login_url).data - login_url = "http://www.nowvideo.eu/login.php?return=" - post = "user=" + user + "&pass=" + password + "®ister=Login" - headers = {"Referer": "http://www.nowvideo.eu/login.php"} - data = httptools.downloadpage(login_url, post, headers=headers).data - data = httptools.downloadpage(page_url).data - flashvar_file = scrapertools.get_match(data, 'flashvars.file="([^"]+)"') - flashvar_filekey = scrapertools.get_match(data, 'flashvars.filekey=([^;]+);') - flashvar_filekey = scrapertools.get_match(data, 'var ' + flashvar_filekey + '="([^"]+)"') - flashvar_user = scrapertools.get_match(data, 'flashvars.user="([^"]+)"') - flashvar_key = scrapertools.get_match(data, 'flashvars.key="([^"]+)"') - flashvar_type = scrapertools.get_match(data, 'flashvars.type="([^"]+)"') - url = "http://www.nowvideo.eu/api/player.api.php?user=" + flashvar_user + "&file=" + flashvar_file + "&pass=" + flashvar_key + "&cid=1&cid2=undefined&key=" + flashvar_filekey.replace( - ".", "%2E").replace("-", "%2D") + "&cid3=undefined" - data = httptools.downloadpage(url).data - location = scrapertools.get_match(data, 'url=([^\&]+)&') - location = location + "?client=FLASH" - video_urls.append([scrapertools.get_filename_from_url(location)[-4:] + " [premium][nowvideo]", location]) - else: - url = page_url.replace("http://www.nowvideo.sx/video/", "http://embed.nowvideo.sx/embed/?v=") - data = httptools.downloadpage(url).data - videourls = scrapertools.find_multiple_matches(data, 'src\s*:\s*[\'"]([^\'"]+)[\'"]') - if not videourls: - videourls = scrapertools.find_multiple_matches(data, 'Video not found" in data: return False, "[thevideo.me] El archivo ha sido eliminado o no existe" return True, "" diff --git a/plugin.video.alfa/servers/veoh.json b/plugin.video.alfa/servers/veoh.json deleted file mode 100755 index 4ee14cb7..00000000 --- a/plugin.video.alfa/servers/veoh.json +++ /dev/null @@ -1,45 +0,0 @@ -{ - "active": true, - "find_videos": { - "ignore_urls": [], - "patterns": [ - { - "pattern": "href=\"http://www.veoh.com/.*?permalinkId=([^&\"]+)\"", - "url": "\\1" - }, - { - "pattern": "pattern=\"http://www.veoh.com/static/swf/webplayer/WebPlayer.swf.*?permalinkId=([^&]+)=videodetailsembedded=0=anonymous\"", - "url": "\\1" - } - ] - }, - "free": true, - "id": "veoh", - "name": "veoh", - "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 - } - ] -} \ No newline at end of file diff --git a/plugin.video.alfa/servers/veoh.py b/plugin.video.alfa/servers/veoh.py deleted file mode 100755 index 52dd43be..00000000 --- a/plugin.video.alfa/servers/veoh.py +++ /dev/null @@ -1,32 +0,0 @@ -# -*- coding: utf-8 -*- - -import re - -from core import scrapertools -from platformcode import logger - - -# Returns an array of possible video url's from the page_url -def get_video_url(page_url, premium=False, user="", password="", video_password=""): - logger.info("(page_url='%s')" % page_url) - - video_urls = [] - - # Lo extrae a partir de flashvideodownloader.org - if page_url.startswith("http://"): - url = 'http://www.flashvideodownloader.org/download.php?u=' + page_url - else: - url = 'http://www.flashvideodownloader.org/download.php?u=http://www.veoh.com/watch/' + page_url - logger.info("url=" + url) - data = scrapertools.cachePage(url) - - # Extrae el vídeo - patronvideos = ' 0: - video_urls.append(["[veoh]", matches[0]]) - - for video_url in video_urls: - logger.info("%s - %s" % (video_url[0], video_url[1])) - - return video_urls diff --git a/plugin.video.alfa/servers/vidabc.json b/plugin.video.alfa/servers/vidabc.json deleted file mode 100755 index 58201916..00000000 --- a/plugin.video.alfa/servers/vidabc.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "active": true, - "find_videos": { - "ignore_urls": [], - "patterns": [ - { - "pattern": "vidabc.com/(?:embed-|)([a-z0-9]+)", - "url": "http://vidabc.com/embed-\\1.html" - } - ] - }, - "free": true, - "id": "vidabc", - "name": "vidabc", - "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 - } - ] -} \ No newline at end of file diff --git a/plugin.video.alfa/servers/vidabc.py b/plugin.video.alfa/servers/vidabc.py deleted file mode 100755 index 5b4b4550..00000000 --- a/plugin.video.alfa/servers/vidabc.py +++ /dev/null @@ -1,54 +0,0 @@ -# -*- coding: utf-8 -*- - -from core.httptools import downloadpage -from core.scrapertools import get_match, find_multiple_matches -from platformcode import logger - -host = "http://vidabc.com" -id_server = "vidabc" - - -def test_video_exists(page_url): - logger.info("(page_url='%s')" % page_url) - data = downloadpage(page_url).data - if "Video is processing now" in data: - return False, "[vidabc] El archivo se está procesando" - if "File was deleted" in data: - return False, "[vidabc] El archivo ha sido borrado" - return True, "" - - -def get_video_url(page_url, premium=False, user="", password="", video_password=""): - logger.info("(page_url='%s')" % page_url) - - data = downloadpage(page_url).data - - try: - sources = get_match(data, 'sources\s*:\s* \[([^\]]+)\]') - except: - from lib import jsunpack - sources = jsunpack.unpack(get_match(data, ']*>(eval.function.p,a,c,k,e,.*?)')) - sources = get_match(sources, 'sources\s*:\s*\[([^\]]+)\]') - - video_urls = [] - for media_url in find_multiple_matches(sources, '"([^"]+)"'): - if media_url.endswith(".mp4"): - video_urls.append([".mp4 [%s]" % id_server, media_url]) - - if media_url.endswith(".m3u8"): - video_urls.append(["M3U8 [%s]" % id_server, media_url]) - - if media_url.endswith(".smil"): - smil_data = downloadpage(media_url).data - - rtmp = get_match(smil_data, 'base="([^"]+)"') - playpaths = find_multiple_matches(smil_data, 'src="([^"]+)" height="(\d+)"') - - for playpath, inf in playpaths: - h = get_match(playpath, 'h=([a-z0-9]+)') - video_urls.append(["RTMP [%s] %s" % (id_server, inf), "%s playpath=%s" % (rtmp, playpath)]) - - for video_url in video_urls: - logger.info("video_url: %s - %s" % (video_url[0], video_url[1])) - - return video_urls diff --git a/plugin.video.alfa/servers/videowood.json b/plugin.video.alfa/servers/videowood.json deleted file mode 100755 index 80c1d189..00000000 --- a/plugin.video.alfa/servers/videowood.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "active": true, - "find_videos": { - "ignore_urls": [], - "patterns": [ - { - "pattern": "(https?://(?:www.)?videowood.tv/)(?:embed|video)(/[0-9a-z]+)", - "url": "\\1embed\\2" - } - ] - }, - "free": true, - "id": "videowood", - "name": "videowood", - "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 - } - ] -} \ No newline at end of file diff --git a/plugin.video.alfa/servers/videowood.py b/plugin.video.alfa/servers/videowood.py deleted file mode 100755 index e9d86825..00000000 --- a/plugin.video.alfa/servers/videowood.py +++ /dev/null @@ -1,26 +0,0 @@ -# -*- coding: utf-8 -*- - -from aadecode import decode as aadecode -from core import scrapertools -from core import httptools -from platformcode import logger - - -def test_video_exists(page_url): - logger.info("(page_url='%s')" % page_url) - data = httptools.downloadpage(page_url).data - if "This video doesn't exist." in data: - return False, '[videowood] El video no puede ser encontrado o ha sido eliminado.' - return True, "" - - -def get_video_url(page_url, premium=False, user="", password="", video_password=""): - logger.info("url=" + page_url) - video_urls = [] - data = httptools.downloadpage(page_url).data - text_encode = scrapertools.find_single_match(data, "(eval\(function\(p,a,c,k,e,d.*?)") - text_decode = aadecode(text_encode) - patron = "'([^']+)'" - media_url = scrapertools.find_single_match(text_decode, patron) - video_urls.append([media_url[-4:] + " [Videowood]", media_url]) - return video_urls diff --git a/plugin.video.alfa/servers/vidgg.json b/plugin.video.alfa/servers/vidgg.json deleted file mode 100755 index 37e9820f..00000000 --- a/plugin.video.alfa/servers/vidgg.json +++ /dev/null @@ -1,41 +0,0 @@ -{ - "active": true, - "find_videos": { - "ignore_urls": [], - "patterns": [ - { - "pattern": "(?:vidgg.to|vid.gg)/(?:embed/|video/)([a-z0-9]+)", - "url": "http://vidgg.to/video/\\1" - } - ] - }, - "free": true, - "id": "vidgg", - "name": "vidgg", - "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 - } - ] -} \ No newline at end of file diff --git a/plugin.video.alfa/servers/vidgg.py b/plugin.video.alfa/servers/vidgg.py deleted file mode 100755 index bee86e1e..00000000 --- a/plugin.video.alfa/servers/vidgg.py +++ /dev/null @@ -1,53 +0,0 @@ -# -*- coding: utf-8 -*- - -from core import httptools -from core import jsontools -from core import scrapertools -from platformcode import logger - - -def test_video_exists(page_url): - logger.info("(page_url='%s')" % page_url) - data = jsontools.load(httptools.downloadpage("http://www.vidgg.to/api-v2/alive.php?link=" + page_url).data) - if data["data"] == "NOT_FOUND" or data["data"] == "FAILED": - return False, "[Vidgg] El archivo no existe o ha sido borrado" - elif data["data"] == "CONVERTING": - return False, "[Vidgg] El archivo se está procesando" - else: - return True, "" - - -def get_video_url(page_url, premium=False, user="", password="", video_password=""): - logger.info("(page_url='%s')" % page_url) - - video_urls = [] - data = httptools.downloadpage(page_url).data - - mediaurls = scrapertools.find_multiple_matches(data, '(eval\(function.*?)") - data_js = jsunpack.unpack(data_js) - - mediaurls = scrapertools.find_multiple_matches(data_js, '\{file\s*:\s*"([^"]+)"\}') - - video_urls = [] - for mediaurl in mediaurls: - ext = scrapertools.get_filename_from_url(mediaurl)[-4:] - if "mp4" not in ext and "m3u8" not in ext: - continue - video_urls.append([ext + " [vidgot]", mediaurl]) - - return video_urls diff --git a/plugin.video.alfa/servers/vidlox.json b/plugin.video.alfa/servers/vidlox.json index e5774ed9..12c4c071 100644 --- a/plugin.video.alfa/servers/vidlox.json +++ b/plugin.video.alfa/servers/vidlox.json @@ -1,42 +1,42 @@ -{ - "active": true, - "find_videos": { - "ignore_urls": [], - "patterns": [ - { - "pattern": "(?i)(https://vidlox.(?:tv|me)/embed-.*?.html)", - "url": "\\1" - } - ] - }, - "free": true, - "id": "vidlox", - "name": "vidlox", - "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": "https://s1.postimg.cc/wathgtvin/logo-vidlox1.png" -} +{ + "active": true, + "find_videos": { + "ignore_urls": [], + "patterns": [ + { + "pattern": "(?i)(https://vidlox.(?:tv|me)/embed-.*?.html)", + "url": "\\1" + } + ] + }, + "free": true, + "id": "vidlox", + "name": "vidlox", + "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": "https://s1.postimg.cc/wathgtvin/logo-vidlox1.png" +} diff --git a/plugin.video.alfa/servers/vidzella.json b/plugin.video.alfa/servers/vidzella.json deleted file mode 100644 index e84d80bf..00000000 --- a/plugin.video.alfa/servers/vidzella.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "active": true, - "find_videos": { - "ignore_urls": [], - "patterns": [ - { - "pattern": "https://vidzella.me/e/([a-zA-Z0-9]+)", - "url": "https://vidzella.me/e/\\1" - } - ] - }, - "free": true, - "id": "vidzella", - "name": "vidzella", - "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": "https://s15.postimg.cc/albqao5pn/vidzella.png" -} \ No newline at end of file diff --git a/plugin.video.alfa/servers/vidzella.py b/plugin.video.alfa/servers/vidzella.py deleted file mode 100644 index a83b1b66..00000000 --- a/plugin.video.alfa/servers/vidzella.py +++ /dev/null @@ -1,33 +0,0 @@ -# Conector Vidzella By Alfa development Group -# -------------------------------------------------------- - -import re -from core import httptools -from platformcode import logger - - -def test_video_exists(page_url): - logger.info("(page_url='%s')" % page_url) - - data = httptools.downloadpage(page_url) - - if data.code == 404: - return False, "[Vidzella] El archivo no existe o ha sido borrado" - - return True, "" - - -def get_video_url(page_url, premium=False, user="", password="", video_password=""): - logger.info("url=" + page_url) - - video_urls = [] - data = httptools.downloadpage(page_url).data - data = re.sub(r'"|\n|\r|\t| |
|\s{2,}', "", data) - logger.debug(data) - patron = "src=([^ ]+) type='.*?/(.*?)'" - matches = re.compile(patron, re.DOTALL).findall(data) - - for url, type in matches: - video_urls.append(['vidzella %s' % type, url]) - - return video_urls diff --git a/plugin.video.alfa/servers/watchers.json b/plugin.video.alfa/servers/watchers.json deleted file mode 100755 index 726b6510..00000000 --- a/plugin.video.alfa/servers/watchers.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "active": true, - "find_videos": { - "ignore_urls": [], - "patterns": [ - { - "pattern": "watchers.to/(?:embed-|)([A-z0-9]+)", - "url": "http://watchers.to/embed-\\1.html" - } - ] - }, - "free": true, - "id": "watchers", - "name": "watchers", - "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": "http://i.imgur.com/WApzSMn.png?1" -} \ No newline at end of file diff --git a/plugin.video.alfa/servers/watchers.py b/plugin.video.alfa/servers/watchers.py deleted file mode 100755 index 286afa86..00000000 --- a/plugin.video.alfa/servers/watchers.py +++ /dev/null @@ -1,36 +0,0 @@ -# -*- coding: utf-8 -*- - -from core import httptools -from core import scrapertools -from lib import jsunpack -from platformcode import logger - - -def test_video_exists(page_url): - logger.info("(page_url='%s')" % page_url) - - data = httptools.downloadpage(page_url).data - if "File Not Found" in data: - return False, "[Watchers] El archivo no existe o ha sido borrado" - - return True, "" - - -def get_video_url(page_url, premium=False, user="", password="", video_password=""): - logger.info("url=%s" % page_url) - video_urls = [] - - data = httptools.downloadpage(page_url).data - packed = scrapertools.find_single_match(data, '(eval\(function\(p,a,c,k,e.*?)').strip() - unpack = jsunpack.unpack(packed) - - bloque = scrapertools.find_single_match(unpack, 'sources:\[(.*?)\}\]') - matches = scrapertools.find_multiple_matches(bloque, 'file:"([^"]+)"(?:,label:"([^"]+)"|\})') - for media_url, calidad in matches: - ext = scrapertools.get_filename_from_url(media_url)[-4:] - if calidad: - ext += " " + calidad + "p" - media_url += "|Referer=%s" % page_url - video_urls.append([ext + ' [watchers]', media_url]) - - return video_urls diff --git a/plugin.video.alfa/servers/watchvideo.py b/plugin.video.alfa/servers/watchvideo.py index 43bea8fc..d38c039e 100755 --- a/plugin.video.alfa/servers/watchvideo.py +++ b/plugin.video.alfa/servers/watchvideo.py @@ -18,8 +18,13 @@ def get_video_url(page_url, premium=False, user="", password="", video_password= logger.info("url=" + page_url) video_urls = [] data = httptools.downloadpage(page_url).data - media_urls = scrapertools.find_multiple_matches(data, 'file:"([^"]+)"') + packed = scrapertools.find_single_match(data, "text/javascript'>(.*?)\s*") + unpacked = jsunpack.unpack(packed) + media_urls = scrapertools.find_multiple_matches(unpacked, 'file:"([^"]+)"') for media_url in media_urls: + media_url += "|Referer=%s" %page_url + if ".png" in media_url: + continue ext = "mp4" if "m3u8" in media_url: ext = "m3u8" diff --git a/plugin.video.alfa/servers/wholecloud.json b/plugin.video.alfa/servers/wholecloud.json deleted file mode 100755 index 1faa1ab1..00000000 --- a/plugin.video.alfa/servers/wholecloud.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "active": true, - "find_videos": { - "ignore_urls": [], - "patterns": [ - { - "pattern": "wholecloud.net/(?:video/|embed/?v=)([A-z0-9]+)", - "url": "http://wholecloud.net/embed/?v=\\1" - } - ] - }, - "free": true, - "id": "wholecloud", - "name": "wholecloud", - "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": "http://i.imgur.com/yIAQurm.png" -} \ No newline at end of file diff --git a/plugin.video.alfa/servers/wholecloud.py b/plugin.video.alfa/servers/wholecloud.py deleted file mode 100755 index 5905f9d2..00000000 --- a/plugin.video.alfa/servers/wholecloud.py +++ /dev/null @@ -1,38 +0,0 @@ -# -*- coding: utf-8 -*- - -from core import httptools -from core import scrapertools -from platformcode import logger - - -def test_video_exists(page_url): - logger.info("(page_url='%s')" % page_url) - data = httptools.downloadpage(page_url).data - - if "This file no longer exists on our servers" in data: - return False, "[wholecloud] El archivo ha sido eliminado o no existe" - if "This video is not yet ready" in data: - return False, "[wholecloud] El archivo no está listo, se está subiendo o convirtiendo" - - return True, "" - - -def get_video_url(page_url, premium=False, user="", password="", video_password=""): - logger.info("url=" + page_url) - - data = httptools.downloadpage(page_url).data - - video_urls = [] - media_urls = scrapertools.find_multiple_matches(data, '