This commit is contained in:
alfa_addon_10
2017-09-26 18:09:56 +02:00
6 changed files with 29 additions and 36 deletions

View File

@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<addon id="plugin.video.alfa" name="Alfa" version="2.0.5" provider-name="Alfa Addon">
<addon id="plugin.video.alfa" name="Alfa" version="2.0.6" provider-name="Alfa Addon">
<requires>
<import addon="xbmc.python" version="2.1.0"/>
<import addon="script.module.libtorrent" optional="true"/>
@@ -19,16 +19,11 @@
</assets>
<news>[B]Estos son los cambios para esta versión:[/B]
[COLOR green][B]Canales agregados y arreglos[/B][/COLOR]
» peliscity » cinecalidad
» peliculasrey » doomtv
» peliculasnu » yaske
» pelisplusco » pelisfox
» newpct1 » peliculasaudiolatino
» pelisplus » vimeo
» streamplay » pelismundo
» pedropolis » thumbzilla
» gvideo ¤ arreglos internos
[COLOR green]Gracias a [COLOR yellow]msdos, d3vanony[/COLOR] y [COLOR yellow]prpeaprendiz[/COLOR] por su colaboración en esta versión[/COLOR]
» pedropolis » cinecalidad
» openload » cloudy
» uptobox ¤ arreglos internos
[COLOR green]Gracias a [COLOR yellow]msdos[/COLOR] y [COLOR yellow]prpeaprendiz[/COLOR] por su colaboración en esta versión[/COLOR]
</news>
<description lang="es">Navega con Kodi por páginas web para ver sus videos de manera fácil.</description>
<summary lang="en">Browse web pages using Kodi</summary>

View File

@@ -298,7 +298,7 @@ def findvideos(item):
if server_id in server_url:
server = server_id.lower()
thumbnail = servertools.guess_server_thumbnail(server_id)
thumbnail = item.contentThumbnail
if server_id == 'TVM':
server = 'thevideo.me'
url = server_url[server_id] + video_id + '.html'
@@ -367,7 +367,7 @@ def play(item):
for videoitem in itemlist:
videoitem.title = item.fulltitle
videoitem.fulltitle = item.fulltitle
videoitem.thumbnail = item.extra
videoitem.thumbnail = item.contentThumbnail
videoitem.channel = item.channel
else:
itemlist.append(item)
@@ -463,9 +463,4 @@ def search(item, texto):
for line in sys.exc_info():
logger.error("%s" % line)
return []
return itemlist
def play(item):
item.thumbnail = item.contentThumbnail
return [item]

View File

@@ -399,7 +399,7 @@ def episodios(item):
for i in itemlist:
if i.infoLabels['title']:
# Si el capitulo tiene nombre propio añadírselo al titulo del item
i.title = "%sx%s %s" % (i.infoLabels['season'], i.infoLabels['episode'], i.infoLabels['title'])
i.title = "%sx%s: %s" % (i.infoLabels['season'], i.infoLabels['episode'], i.infoLabels['title'])
if i.infoLabels.has_key('poster_path'):
# Si el capitulo tiene imagen propia remplazar al poster
i.thumbnail = i.infoLabels['poster_path']
@@ -423,7 +423,7 @@ def findvideos(item):
data = httptools.downloadpage(item.url).data
data = re.sub(r"\n|\r|\t|\s{2}|&nbsp;", "", data)
# logger.info(data)
patron = '<div id="option-(\d+)" class="[^"]+"><iframe.*?src="([^"]+)".*?</iframe>' #
patron = '<div id="option-(\d+)" class="[^"]+"><iframe.*?src="([^"]+)".*?</iframe>' # lang, url
matches = re.compile(patron, re.DOTALL).findall(data)
for option, url in matches:

View File

@@ -15,7 +15,7 @@
"patterns": [
{
"pattern": "cloudy.ec/(?:embed.php\\?id=|v/)([A-z0-9]+)",
"url": "https://www.cloudy.ec/embed.php?id=\\1"
"url": "https://www.cloudy.ec/embed.php?id=\\1&playerPage=1"
}
]
},
@@ -49,4 +49,4 @@
}
],
"version": 1
}
}

View File

@@ -52,7 +52,8 @@ def get_video_url(page_url, premium=False, user="", password="", video_password=
numeros = scrapertools.find_single_match(data, '_[A-f0-9]+x[A-f0-9]+\s*(?:=|\^)\s*([0-9]{4,}|0x[A-f0-9]{4,})')
op1, op2 = scrapertools.find_single_match(data, '\(0x(\d),0x(\d)\);')
idparse, hexparse = scrapertools.find_multiple_matches(data, "parseInt\('([0-9]+)'")
numeros = [numeros, str(int(hexparse, 8))]
# numeros = [numeros, str(int(hexparse, 8))]
rangos, rangos2 = scrapertools.find_single_match(data, "\)-([0-9]+).0x4\)/\(([0-9]+)")
videourl = ""
for encode in var_encodes:
text_decode = ""
@@ -81,11 +82,12 @@ def get_video_url(page_url, premium=False, user="", password="", video_password=
if value3 < index1:
break
value4 = value2 ^ decode1[j % (mult / 8)] ^ int(idparse,8)
for n in numeros:
if not n.isdigit():
n = int(n, 16)
value4 ^= int(n)
# value4 = value2 ^ decode1[j % (mult / 8)] ^ int(idparse,8)
# for n in numeros:
# if not n.isdigit():
# n = int(n, 16)
# value4 ^= int(n)
value4 = value2 ^ decode1[(j % 9)] ^ (int(idparse, 8) - int(rangos) + 4) / (int(rangos2) - 8) ^ int(hexparse, 8)
value5 = index1 * 2 + 127
for h in range(4):
valorfinal = (value4 >> 8 * h) & (value5)

View File

@@ -2,6 +2,7 @@
import urllib
from core import httptools
from core import scrapertools
from platformcode import logger
@@ -9,11 +10,11 @@ from platformcode import logger
def test_video_exists(page_url):
logger.info("(page_url='%s')" % page_url)
data = scrapertools.cache_page(page_url)
data = httptools.downloadpage(page_url).data
if "Streaming link:" in data:
return True, ""
elif "Unfortunately, the file you want is not available." in data:
elif "Unfortunately, the file you want is not available." in data or "Unfortunately, the video you want to see is not available" in data:
return False, "[Uptobox] El archivo no existe o ha sido borrado"
wait = scrapertools.find_single_match(data, "You have to wait ([0-9]+) (minute|second)")
if len(wait) > 0:
@@ -27,20 +28,20 @@ def get_video_url(page_url, premium=False, user="", password="", video_password=
logger.info("(page_url='%s')" % page_url)
# Si el enlace es directo de upstream
if "uptobox" not in page_url:
data = scrapertools.cache_page(page_url)
data = httptools.downloadpage(page_url).data
if "Video not found" in data:
page_url = page_url.replace("uptostream.com/iframe/", "uptobox.com/")
data = scrapertools.cache_page(page_url)
data = httptools.downloadpage(page_url).data
video_urls = uptobox(page_url, data)
else:
video_urls = uptostream(data)
else:
data = scrapertools.cache_page(page_url)
data = httptools.downloadpage(page_url).data
# Si el archivo tiene enlace de streaming se redirige a upstream
if "Streaming link:" in data:
page_url = "http://uptostream.com/iframe/" + scrapertools.find_single_match(page_url,
'uptobox.com/([a-z0-9]+)')
data = scrapertools.cache_page(page_url)
data = httptools.downloadpage(page_url).data
video_urls = uptostream(data)
else:
# Si no lo tiene se utiliza la descarga normal
@@ -76,7 +77,7 @@ def uptobox(url, data):
for inputname, inputvalue in matches:
post += inputname + "=" + inputvalue + "&"
data = scrapertools.cache_page(url, post=post[:-1])
data = httptools.downloadpage(url, post=post[:-1]).data
media = scrapertools.find_single_match(data, '<a href="([^"]+)">\s*<span class="button_upload green">')
# Solo es necesario codificar la ultima parte de la url
url_strip = urllib.quote(media.rsplit('/', 1)[1])