HexUpload download come streaming, aggiustamenti per cinemalibero
This commit is contained in:
@@ -130,8 +130,8 @@ def episodios(item):
|
|||||||
for it in itl:
|
for it in itl:
|
||||||
ep = scrapertools.find_single_match(it.title, r'(\d+x\d+)')
|
ep = scrapertools.find_single_match(it.title, r'(\d+x\d+)')
|
||||||
if not ep and 'http' in it.data: # stagione intera
|
if not ep and 'http' in it.data: # stagione intera
|
||||||
from lib import unshortenit
|
# from lib import unshortenit
|
||||||
data = unshortenit.findlinks(it.data)
|
# data = unshortenit.findlinks(it.data)
|
||||||
episodes = {}
|
episodes = {}
|
||||||
|
|
||||||
def get_ep(s):
|
def get_ep(s):
|
||||||
@@ -147,7 +147,7 @@ def episodios(item):
|
|||||||
episodes[ep] = []
|
episodes[ep] = []
|
||||||
episodes[ep].append(s)
|
episodes[ep].append(s)
|
||||||
|
|
||||||
servers = support.server(item, data, CheckLinks=False, Download=False, Videolibrary=False)
|
servers = support.server(item, it.data, CheckLinks=False, Download=False, Videolibrary=False)
|
||||||
# for s in servers:
|
# for s in servers:
|
||||||
# get_ep(s)
|
# get_ep(s)
|
||||||
# ottengo l'episodio dal nome del file
|
# ottengo l'episodio dal nome del file
|
||||||
|
|||||||
+6
-4
@@ -45,9 +45,9 @@ class UnshortenIt(object):
|
|||||||
_protectlink_regex = r'(?:s\.)?protectlink\.stream'
|
_protectlink_regex = r'(?:s\.)?protectlink\.stream'
|
||||||
_uprot_regex = r'uprot\.net'
|
_uprot_regex = r'uprot\.net'
|
||||||
# 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|icu'
|
_simple_iframe_regex = r'cryptmango|xshield\.net|vcrypt\.club|isecure\.link|isecure\.icu'
|
||||||
# for services that only do redirects
|
# for services that only do redirects
|
||||||
_simple_redirect = r'streamcrypt\.net/[^/]+|is\.gd|www\.vedere\.stream|isecure\.link|icu'
|
_simple_redirect = r'streamcrypt\.net/[^/]+|is\.gd|www\.vedere\.stream|isecure\.link|isecure\.icu'
|
||||||
_filecrypt_regex = r'filecrypt\.cc'
|
_filecrypt_regex = r'filecrypt\.cc'
|
||||||
|
|
||||||
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,
|
||||||
@@ -785,6 +785,7 @@ def findlinks(text):
|
|||||||
unshList = [executor.submit(unshortener.expand_folder, match) for match in matches]
|
unshList = [executor.submit(unshortener.expand_folder, match) for match in matches]
|
||||||
for ret in futures.as_completed(unshList):
|
for ret in futures.as_completed(unshList):
|
||||||
text += '\n'.join(ret.result())
|
text += '\n'.join(ret.result())
|
||||||
|
text += '\n'
|
||||||
|
|
||||||
# unshorten
|
# unshorten
|
||||||
matches = []
|
matches = []
|
||||||
@@ -817,7 +818,8 @@ def findlinks(text):
|
|||||||
|
|
||||||
|
|
||||||
class FileCrypt:
|
class FileCrypt:
|
||||||
toFilter = ('https://nitroflare.com',)
|
hostToFilter = ('https://nitroflare.com', 'http://easybytez.com', 'http://drop.download', 'https://rapidgator.net')
|
||||||
|
extensionToFilter = ('rar',)
|
||||||
|
|
||||||
def __init__(self, uri=None):
|
def __init__(self, uri=None):
|
||||||
self.uri = uri
|
self.uri = uri
|
||||||
@@ -833,7 +835,7 @@ class FileCrypt:
|
|||||||
from lib import proxytranslate
|
from lib import proxytranslate
|
||||||
data = proxytranslate.process_request_proxy(self.uri).get('data', '')
|
data = proxytranslate.process_request_proxy(self.uri).get('data', '')
|
||||||
ret = scrapertools.find_multiple_matches(data, reg)
|
ret = scrapertools.find_multiple_matches(data, reg)
|
||||||
return [r for r in ret if r[1] not in self.toFilter]
|
return [r for r in ret if r[1] not in self.hostToFilter and r[0].split('.')[-1] not in self.extensionToFilter]
|
||||||
|
|
||||||
def unshorten(self, link):
|
def unshorten(self, link):
|
||||||
link_data = httptools.downloadpage('https://filecrypt.cc/Link/' + link + '.html').data
|
link_data = httptools.downloadpage('https://filecrypt.cc/Link/' + link + '.html').data
|
||||||
|
|||||||
@@ -20,6 +20,19 @@ def get_video_url(page_url, premium=False, user="", password="", video_password=
|
|||||||
if source:
|
if source:
|
||||||
media_url = base64.b64decode(source).decode()
|
media_url = base64.b64decode(source).decode()
|
||||||
video_urls.append(["mp4", media_url])
|
video_urls.append(["mp4", media_url])
|
||||||
|
else: # download only
|
||||||
|
post = {
|
||||||
|
"op": "download2",
|
||||||
|
"id": page_url.split('/')[-1],
|
||||||
|
"method_free": "Free + Download",
|
||||||
|
"method_premium": "",
|
||||||
|
"adblock_detected": "0"
|
||||||
|
}
|
||||||
|
data = httptools.downloadpage(page_url, post=post).data
|
||||||
|
media_url, filename = scrapertools.find_single_match(data, "ldl\.ld\('([^']+)','([^']+)")
|
||||||
|
media_url = base64.b64decode(media_url).decode()
|
||||||
|
filename = base64.b64decode(filename).decode()
|
||||||
|
video_urls.append([filename.split('.')[-1], media_url])
|
||||||
return video_urls
|
return video_urls
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -4,11 +4,11 @@
|
|||||||
"ignore_urls": [],
|
"ignore_urls": [],
|
||||||
"patterns": [
|
"patterns": [
|
||||||
{
|
{
|
||||||
"pattern": "mixdro?p[s]?.[^/]+/(?:f|e)/([a-z0-9]+)",
|
"pattern": "mixdro?ps?.[^/]+/(?:f|e)/([a-z0-9]+)",
|
||||||
"url": "https://mixdrop.co/e/\\1"
|
"url": "https://mixdrop.co/e/\\1"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"pattern": "(mixdro?p[s]?.[^/]+/player\\.php\\?id=[a-z0-9-]+)",
|
"pattern": "(mixdro?ps?.[^/]+/player\\.php\\?id=[a-z0-9-]+)",
|
||||||
"url": "https://\\1"
|
"url": "https://\\1"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|||||||
Reference in New Issue
Block a user