(.*?)(\d+)((?:x\d+| ))(.*?)<\/b>(.*?)"
-# matches = scrapertoolsV2.find_multiple_matches(blocco, patron)
-
-# for t1, s, e, t2, scrapedurl in matches:
-
-# if "x" not in e:
-# e = s
-
-# if e == s:
-# s = None
-
-# if s is None:
-# s = "1"
-
-# if s.startswith('0'):
-# s = s.replace("0", "")
-
-# if e.startswith('x'):
-# e = e.replace("x", "")
-
-# scrapedtitle = t1 + s + "x" + e + " " + t2
-# itemlist.append(
-# Item(channel=item.channel,
-# contentType="episode",
-# action="findvideos",
-# items=s,
-# iteme=e,
-# fulltitle=scrapedtitle,
-# show=scrapedtitle,
-# title="[COLOR azure]" + scrapedtitle + "[/COLOR]",
-# url=scrapedurl,
-# thumbnail=item.scrapedthumbnail,
-# plot=item.scrapedplot,
-# folder=True))
-
-# if config.get_videolibrary_support() and len(itemlist) != 0:
-# itemlist.append(
-# Item(channel=item.channel,
-# title="[COLOR lightblue]%s[/COLOR]" % config.get_localized_string(30161),
-# url=item.url,
-# action="add_serie_to_library",
-# extra="episodios",
-# show=item.show))
-
-# return itemlist
-
-
-# def findvideos(item):
-# logger.info(" findvideos")
-
-# if item.contentType != "episode":
-# return findvideos_movie(item)
-
-# itemlist = servertools.find_video_items(data=item.url)
-# logger.info(itemlist)
-
-# for videoitem in itemlist:
-# videoitem.title = "".join([item.title, '[COLOR green][B]' + videoitem.title + '[/B][/COLOR]'])
-# videoitem.fulltitle = item.fulltitle
-# videoitem.thumbnail = item.thumbnail
-# videoitem.show = item.show
-# videoitem.plot = item.plot
-# videoitem.channel = item.channel
-# videoitem.contentType = item.contentType
-# videoitem.language = IDIOMAS['Italiano']
-
-# # Requerido para Filtrar enlaces
-
-# if checklinks:
-# itemlist = servertools.check_list_links(itemlist, checklinks_number)
-
-# # Requerido para FilterTools
-
-# # itemlist = filtertools.get_links(itemlist, item, list_language)
-
-# # Requerido para AutoPlay
-
-# autoplay.start(itemlist, item)
-
-# if item.contentType != 'episode':
-# if config.get_videolibrary_support() and len(itemlist) > 0 and item.extra != 'findvideos':
-# itemlist.append(
-# Item(channel=item.channel, title='[COLOR yellow][B]Aggiungi alla videoteca[/B][/COLOR]', url=item.url,
-# action="add_pelicula_to_library", extra="findvideos", contentTitle=item.contentTitle))
-
-# return itemlist
-
-
-# def findvideos_movie(item):
-# logger.info(" findvideos_movie")
-
-# # Carica la pagina
-
-# data = httptools.downloadpage(item.url).data
-
-# patron = r"]*?>[^<]*? [^<]+?"
-# matches = re.compile(patron, re.DOTALL).findall(data)
-# for scrapedurl in matches:
-# url, c = unshorten(scrapedurl)
-# data += url + '\n'
-
-# itemlist = servertools.find_video_items(data=data)
-
-# for videoitem in itemlist:
-# videoitem.title = "".join([item.title, '[COLOR green][B]' + videoitem.title + '[/B][/COLOR]'])
-# videoitem.fulltitle = item.fulltitle
-# videoitem.thumbnail = item.thumbnail
-# videoitem.show = item.show
-# videoitem.plot = item.plot
-# videoitem.channel = item.channel
-# videoitem.contentType = item.contentType
-
-# return itemlist
diff --git a/lib/unshortenit.py b/lib/unshortenit.py
index f43637b7..8928247e 100644
--- a/lib/unshortenit.py
+++ b/lib/unshortenit.py
@@ -35,7 +35,7 @@ class UnshortenIt(object):
_anonymz_regex = r'anonymz\.com'
_shrink_service_regex = r'shrink-service\.it'
_rapidcrypt_regex = r'rapidcrypt\.net'
- _cryptmango_regex = r'cryptmango'
+ _cryptmango_regex = r'cryptmango|xshield\.net'
_vcrypt_regex = r'vcrypt\.net'
_maxretries = 5
@@ -467,6 +467,7 @@ class UnshortenIt(object):
except Exception as e:
return uri, str(e)
+
def _unshorten_vcrypt(self, uri):
r = None
import base64, pyaes
diff --git a/servers/decrypters/zcrypt.py b/servers/decrypters/zcrypt.py
index 50e2cb82..a71e77bb 100644
--- a/servers/decrypters/zcrypt.py
+++ b/servers/decrypters/zcrypt.py
@@ -20,7 +20,8 @@ def get_video_url(page_url, premium=False, user="", password="", video_password=
patronvideos = [
r'(https?://(gestyy|rapidteria|sprysphere)\.com/[a-zA-Z0-9]+)',
r'(https?://(?:www\.)?(vcrypt|linkup)\.[^/]+/[^/]+/[a-zA-Z0-9_]+)',
- r'(https?://(?:www\.)?(bit)\.ly/[a-zA-Z0-9]+)',
+ r'(https?://(?:www\.)?(bit)\.ly/[a-zA-Z0-9]+)',
+ r'(https?://(?:www\.)?(xshield)\.[^/]+/[^/]+/[^/]+/[a-zA-Z0-9_\.]+)'
]
for patron in patronvideos:
@@ -41,6 +42,10 @@ def get_video_url(page_url, premium=False, user="", password="", video_password=
replace_headers=True,
headers={'User-Agent': 'curl/7.59.0'})
data = resp.headers.get("location", "")
+ elif 'xshield' in url:
+ from lib import unshortenit
+ data, status = unshortenit.unshorten(url)
+ logger.info("Data - Status zcrypt xshield.net: [%s] [%s] " %(data, status))
elif 'vcrypt.net' in url:
from lib import unshortenit
data, status = unshortenit.unshorten(url)
@@ -49,7 +54,7 @@ def get_video_url(page_url, premium=False, user="", password="", video_password=
idata = httptools.downloadpage(url).data
data = scrapertoolsV2.find_single_match(idata, " |