diff --git a/mediaserver/platformcode/config.py b/mediaserver/platformcode/config.py index 85314380..832bc738 100644 --- a/mediaserver/platformcode/config.py +++ b/mediaserver/platformcode/config.py @@ -369,7 +369,7 @@ configfilepath = os.path.join(get_data_path(), "settings.xml") if not os.path.exists(get_data_path()): os.mkdir(get_data_path()) # Literales -TRANSLATION_FILE_PATH = os.path.join(get_runtime_path(), "resources", "language", "resource.language.es_es", "strings.po") +TRANSLATION_FILE_PATH = os.path.join(get_runtime_path(), "resources", "language", "Spanish", "strings.po") load_settings() # modo adulto: diff --git a/plugin.video.alfa/addon.xml b/plugin.video.alfa/addon.xml index 1c7a8563..1b3c28c5 100755 --- a/plugin.video.alfa/addon.xml +++ b/plugin.video.alfa/addon.xml @@ -1,5 +1,5 @@  - + @@ -19,12 +19,16 @@ [B]Estos son los cambios para esta versión:[/B] [COLOR green][B]Canales agregados y arreglos[/B][/COLOR] - [I]- animeflv - - descargasmix - - newpct1 - - openload + [I]- peliculasrey + - pelis24 + - peliscity + - peliscon + - pelisgratis + - pelispad + - pelismagnet + - rapidvideo + - streammango - fix internos[/I] - [COLOR green]Gracias a [COLOR yellow]msdos[/COLOR] y [COLOR yellow]danielr460[/COLOR] por su colaboración en esta versión[/COLOR] Navega con Kodi por páginas web para ver sus videos de manera fácil. Browse web pages using Kodi diff --git a/plugin.video.alfa/channels/pelismagnet.py b/plugin.video.alfa/channels/pelismagnet.py index 891fd535..de3369f1 100644 --- a/plugin.video.alfa/channels/pelismagnet.py +++ b/plugin.video.alfa/channels/pelismagnet.py @@ -6,6 +6,7 @@ import urllib from core import httptools from core import jsontools from core import scrapertools +from core import servertools from core.item import Item from platformcode import config, logger @@ -144,7 +145,7 @@ def series(item): infoLabels = {'plot': plot, 'year': i.get("year"), 'tmdb_id': i.get("id"), 'mediatype': 'tvshow'} - itemlist.append(Item(channel=item.channel, action="episodios", title=title, url=url, server="torrent", + itemlist.append(Item(channel=item.channel, action="episodios", title=title, url=url, thumbnail=thumbnail, fanart=fanart, infoLabels=infoLabels, contentTitle=i.get("nom"), show=i.get("nom"))) @@ -220,9 +221,9 @@ def episodios(item): title = "%s %s [%s]" % (key, value["title"], "][".join(list_no_duplicate)) itemlist.append( - Item(channel=item.channel, action="findvideos", title=title, url=url, server="torrent", + Item(channel=item.channel, action="findvideos", title=title, url=url, thumbnail=item.thumbnail, fanart=item.fanart, show=item.show, data=value, - contentTitle=item.contentTitle, contentSeason=value["season"], + contentSerieName=item.contentTitle, contentSeason=value["season"], contentEpisodeNumber=value["episode"])) # order list @@ -259,10 +260,10 @@ def pelis(item): if i.get("magnets", {}).get("M1080", {}).get("magnet", ""): url = i.get("magnets", {}).get("M1080", {}).get("magnet", "") - calidad = "[%s]" % i.get("magnets", {}).get("M1080", {}).get("quality", "") + calidad = "%s" % i.get("magnets", {}).get("M1080", {}).get("quality", "") else: url = i.get("magnets", {}).get("M720", {}).get("magnet", "") - calidad = "[%s]" % (i.get("magnets", {}).get("M720", {}).get("quality", "")) + calidad = "%s" % (i.get("magnets", {}).get("M720", {}).get("quality", "")) if not url: continue @@ -283,7 +284,7 @@ def pelis(item): itemlist.append(Item(channel=item.channel, action="findvideos", title=title, url=url, server="torrent", contentType="movie", thumbnail=thumbnail, fanart=fanart, infoLabels=infoLabels, - contentTitle=i.get("nom"))) + contentTitle=i.get("nom"), quality=calidad)) from core import tmdb tmdb.set_infoLabels_itemlist(itemlist, __modo_grafico__) @@ -327,7 +328,9 @@ def findvideos(item): data = item.data for index, url in enumerate(data["url"]): - title = "Enlace torrent [%s]" % data["quality"][index] - itemlist.append(item.clone(action="play", title=title, url=url)) + quality = data["quality"][index] + title = "Enlace torrent [%s]" % quality + itemlist.append(item.clone(action="play", title=title, url=url, quality=quality)) + servertools.get_servers_itemlist(itemlist) return itemlist diff --git a/plugin.video.alfa/resources/language/resource.language.en_gb/strings.po b/plugin.video.alfa/resources/language/English/strings.po similarity index 100% rename from plugin.video.alfa/resources/language/resource.language.en_gb/strings.po rename to plugin.video.alfa/resources/language/English/strings.po diff --git a/plugin.video.alfa/resources/language/resource.language.es_ar/strings.po b/plugin.video.alfa/resources/language/Spanish (Argentina)/strings.po similarity index 100% rename from plugin.video.alfa/resources/language/resource.language.es_ar/strings.po rename to plugin.video.alfa/resources/language/Spanish (Argentina)/strings.po diff --git a/plugin.video.alfa/resources/language/resource.language.es_es/strings.po b/plugin.video.alfa/resources/language/Spanish (Mexico)/strings.po similarity index 100% rename from plugin.video.alfa/resources/language/resource.language.es_es/strings.po rename to plugin.video.alfa/resources/language/Spanish (Mexico)/strings.po diff --git a/plugin.video.alfa/resources/language/resource.language.es_mx/strings.po b/plugin.video.alfa/resources/language/Spanish/strings.po similarity index 100% rename from plugin.video.alfa/resources/language/resource.language.es_mx/strings.po rename to plugin.video.alfa/resources/language/Spanish/strings.po diff --git a/plugin.video.alfa/servers/rapidvideo.py b/plugin.video.alfa/servers/rapidvideo.py index 5aad58d3..a0e591e4 100755 --- a/plugin.video.alfa/servers/rapidvideo.py +++ b/plugin.video.alfa/servers/rapidvideo.py @@ -30,11 +30,14 @@ def test_video_exists(page_url): 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 - urls = scrapertools.find_multiple_matches(data, '"file":"([^"]+)","label":"[^"]*","res":"([^"]+)"') - for mediaurl, res in urls: - ext = scrapertools.get_filename_from_url(mediaurl)[-4:] - video_urls.append(['%s %sp [rapidvideo]' % (ext, res), mediaurl.replace("\\", "")]) + patron = 'https://www.rapidvideo.com/e/[^"]+' + match = scrapertools.find_multiple_matches(data, patron) + for url1 in match: + res = scrapertools.find_single_match(url1, '=(\w+)') + data = httptools.downloadpage(url1).data + url = scrapertools.find_single_match(data, 'source src="([^"]+)') + ext = scrapertools.get_filename_from_url(url)[-4:] + video_urls.append(['%s %s [rapidvideo]' % (ext, res), url]) return video_urls diff --git a/plugin.video.alfa/servers/streamango.py b/plugin.video.alfa/servers/streamango.py index 95bfa1cc..a08f765c 100755 --- a/plugin.video.alfa/servers/streamango.py +++ b/plugin.video.alfa/servers/streamango.py @@ -21,14 +21,54 @@ def get_video_url(page_url, premium=False, user="", password="", video_password= data = httptools.downloadpage(page_url).data video_urls = [] - matches = scrapertools.find_multiple_matches(data, 'type:"video/([^"]+)",src:"([^"]+)",height:(\d+)') - for ext, media_url, calidad in matches: + + matches = scrapertools.find_multiple_matches(data, "type:\"video/([^\"]+)\",src:d\('([^']+)',(.*?)\).+?height:(\d+)") + + for ext, encoded, code, quality in matches: + + media_url = decode(encoded, int(code)) + if not media_url.startswith("http"): media_url = "http:" + media_url - video_urls.append([".%s %sp [streamango]" % (ext, calidad), media_url]) + video_urls.append([".%s %sp [streamango]" % (ext, quality), media_url]) video_urls.reverse() for video_url in video_urls: logger.info("%s - %s" % (video_url[0], video_url[1])) return video_urls + + +def decode(encoded, code): + logger.info("encoded '%s', code '%s'" % (encoded, code)) + + _0x59b81a = "" + k = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=' + k = k[::-1] + + count = 0 + + for index in range(0, len(encoded) - 1): + while count <= len(encoded) - 1: + _0x4a2f3a = k.index(encoded[count]) + count += 1 + _0x29d5bf = k.index(encoded[count]) + count += 1 + _0x3b6833 = k.index(encoded[count]) + count += 1 + _0x426d70 = k.index(encoded[count]) + count += 1 + + _0x2e4782 = ((_0x4a2f3a << 2) | (_0x29d5bf >> 4)) + _0x2c0540 = (((_0x29d5bf & 15) << 4) | (_0x3b6833 >> 2)) + _0x5a46ef = ((_0x3b6833 & 3) << 6) | _0x426d70 + _0x2e4782 = _0x2e4782 ^ code + + _0x59b81a = str(_0x59b81a) + chr(_0x2e4782) + + if _0x3b6833 != 64: + _0x59b81a = str(_0x59b81a) + chr(_0x2c0540) + if _0x3b6833 != 64: + _0x59b81a = str(_0x59b81a) + chr(_0x5a46ef) + + return _0x59b81a