Fix tantiflm, animealtadefinizione utiltimi ep e nascosti ep non ancora caricati
This commit is contained in:
@@ -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()
|
||||||
|
|||||||
@@ -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>)?([^<]+)')
|
||||||
|
|||||||
@@ -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:
|
||||||
|
|||||||
@@ -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"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -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"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -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"
|
||||||
|
|||||||
Reference in New Issue
Block a user