Fix tantiflm, animealtadefinizione utiltimi ep e nascosti ep non ancora caricati

This commit is contained in:
mac12m99
2021-10-27 19:34:39 +02:00
parent 9dcd33ac07
commit ae93e4d1f6
6 changed files with 22 additions and 9 deletions

View File

@@ -10,7 +10,7 @@ headers = [['Referer', host]]
perpage_list = ['20','30','40','50','60','70','80','90','100'] perpage_list = ['20','30','40','50','60','70','80','90','100']
perpage = perpage_list[support.config.get_setting('perpage' , 'animealtadefinizione')] perpage = perpage_list[support.config.get_setting('perpage' , 'animealtadefinizione')]
epPatron = r'<td>\s*(?P<title>[^<]+)[^>]+>[^>]+>\s*<a href="(?P<url>[^"]+)"' epPatron = r'<td>\s*(?P<title>[^<]+)[^>]+>[^>]+>\s*<a href="(?P<url>[^"]+)"[^>]+>\s*<img[^>]+/Streaming'
@support.menu @support.menu
@@ -67,7 +67,7 @@ def peliculas(item):
action='findvideos' action='findvideos'
elif item.args == 'last': elif item.args == 'last':
item.contentType = 'episode' item.contentType = 'episode'
action='findvideos' action='episodios'
else: else:
item.contentType = 'tvshow' item.contentType = 'tvshow'
action='episodios' action='episodios'
@@ -85,6 +85,10 @@ def peliculas(item):
typeContentDict = {'movie':['movie']} typeContentDict = {'movie':['movie']}
typeActionDict = {'findvideos':['movie']} typeActionDict = {'findvideos':['movie']}
def itemHook(item):
item.url = support.re.sub('episodio-[0-9-]+', '', item.url)
return item
def itemlistHook(itemlist): def itemlistHook(itemlist):
if item.search: if item.search:
itemlist = [ it for it in itemlist if ' Episodio ' not in it.title ] itemlist = [ it for it in itemlist if ' Episodio ' not in it.title ]
@@ -98,6 +102,7 @@ def peliculas(item):
@support.scrape @support.scrape
def episodios(item): def episodios(item):
anime = True anime = True
# debug = True
pagination = int(perpage) pagination = int(perpage)
patron = epPatron patron = epPatron
return locals() return locals()

View File

@@ -209,10 +209,6 @@ def findvideos(item):
urls.remove(u) urls.remove(u)
itemlist.extend(support.server(item, itemlist=hdpass(Item(url=u)))) itemlist.extend(support.server(item, itemlist=hdpass(Item(url=u))))
break break
if 'protectlink.stream' in u:
import base64
urls.remove(u)
urls.append(base64.b64decode(u.split('?data=')[1]))
else: else:
itemlist.extend(support.server(item, urls)) itemlist.extend(support.server(item, urls))
support.addQualityTag(item, itemlist, data, 'Keywords:\s*(?:<span>)?([^<]+)') support.addQualityTag(item, itemlist, data, 'Keywords:\s*(?:<span>)?([^<]+)')

View File

@@ -43,6 +43,7 @@ class UnshortenIt(object):
_stayonline_regex = r'stayonline\.pro' _stayonline_regex = r'stayonline\.pro'
_snip_regex = r'[0-9a-z]+snip\.|uprotector\.xyz' _snip_regex = r'[0-9a-z]+snip\.|uprotector\.xyz'
_linksafe_regex = r'linksafe\.cc' _linksafe_regex = r'linksafe\.cc'
_protectlink_regex = r'(?:s\.)?protectlink\.stream'
# for services that only include real link inside iframe # for services that only include real link inside iframe
_simple_iframe_regex = r'cryptmango|xshield\.net|vcrypt\.club|isecure\.link' _simple_iframe_regex = r'cryptmango|xshield\.net|vcrypt\.club|isecure\.link'
# for services that only do redirects # for services that only do redirects
@@ -50,7 +51,7 @@ class UnshortenIt(object):
listRegex = [_adfly_regex, _linkbucks_regex, _adfocus_regex, _lnxlu_regex, _shst_regex, _hrefli_regex, _anonymz_regex, listRegex = [_adfly_regex, _linkbucks_regex, _adfocus_regex, _lnxlu_regex, _shst_regex, _hrefli_regex, _anonymz_regex,
_shrink_service_regex, _rapidcrypt_regex, _simple_iframe_regex, _linkup_regex, _linkhub_regex, _shrink_service_regex, _rapidcrypt_regex, _simple_iframe_regex, _linkup_regex, _linkhub_regex,
_swzz_regex, _stayonline_regex, _snip_regex, _linksafe_regex, _simple_redirect] _swzz_regex, _stayonline_regex, _snip_regex, _linksafe_regex, _protectlink_regex, _simple_redirect]
_maxretries = 5 _maxretries = 5
@@ -101,6 +102,8 @@ class UnshortenIt(object):
uri, code = self._unshorten_snip(uri) uri, code = self._unshorten_snip(uri)
if re.search(self._linksafe_regex, uri, re.IGNORECASE): if re.search(self._linksafe_regex, uri, re.IGNORECASE):
uri, code = self._unshorten_linksafe(uri) uri, code = self._unshorten_linksafe(uri)
if re.search(self._protectlink_regex, uri, re.IGNORECASE):
uri, code = self._unshorten_protectlink(uri)
if re.search(self._simple_redirect, uri, re.IGNORECASE): if re.search(self._simple_redirect, uri, re.IGNORECASE):
p = httptools.downloadpage(uri) p = httptools.downloadpage(uri)
uri = p.url uri = p.url
@@ -674,6 +677,11 @@ class UnshortenIt(object):
def _unshorten_linksafe(self, uri): def _unshorten_linksafe(self, uri):
return b64decode(uri.split('?url=')[-1]).decode(), 200 return b64decode(uri.split('?url=')[-1]).decode(), 200
def _unshorten_protectlink(self, uri):
if '?data=' in uri:
return b64decode(uri.split('?data=')[-1]).decode(), 200
else:
return httptools.downloadpage(uri, only_headers=True, follow_redirects=False).headers.get('location', uri), 200
def decrypt_aes(text, key): def decrypt_aes(text, key):
try: try:

View File

@@ -4,7 +4,7 @@
"ignore_urls": [], "ignore_urls": [],
"patterns": [ "patterns": [
{ {
"pattern": "dood(?:stream)?.[^/]+/(?:e|d)/([a-z0-9]+)", "pattern": "dood(?:stream)?.[^/]+/+(?:e|d)/([a-z0-9]+)",
"url": "https://dood.to/e/\\1" "url": "https://dood.to/e/\\1"
} }
] ]

View File

@@ -4,7 +4,7 @@
"ignore_urls": [], "ignore_urls": [],
"patterns": [ "patterns": [
{ {
"pattern": "https?://evoload.io/v/([a-zA-Z0-9]+)", "pattern": "https?://evoload.io/[ve]/([a-zA-Z0-9]+)",
"url": "https://evoload.io/e/\\1?h=https://evoload.io/v/\\1" "url": "https://evoload.io/e/\\1?h=https://evoload.io/v/\\1"
} }
] ]

View File

@@ -3,6 +3,10 @@
"find_videos": { "find_videos": {
"ignore_urls": [], "ignore_urls": [],
"patterns": [ "patterns": [
{
"pattern": "(https?://maxstream.video/uprote/[a-zA-Z0-9]+)",
"url": "\\1"
},
{ {
"pattern": "https?://maxstream.video/(?:e/|embed-|cast/)?([a-z0-9]+)", "pattern": "https?://maxstream.video/(?:e/|embed-|cast/)?([a-z0-9]+)",
"url": "http://maxstream.video/\\1" "url": "http://maxstream.video/\\1"