From f18aab9fa8eea3a441177ec53e4b84fc4889a095 Mon Sep 17 00:00:00 2001 From: marco <10120390+mac12m99@users.noreply.github.com> Date: Fri, 30 Dec 2022 13:37:27 +0100 Subject: [PATCH] HexUpload download come streaming, aggiustamenti per cinemalibero --- channels/cinemalibero.py | 6 +++--- lib/unshortenit.py | 10 ++++++---- servers/hexupload.py | 13 +++++++++++++ servers/mixdrop.json | 4 ++-- 4 files changed, 24 insertions(+), 9 deletions(-) diff --git a/channels/cinemalibero.py b/channels/cinemalibero.py index a332a320..99a3ef57 100644 --- a/channels/cinemalibero.py +++ b/channels/cinemalibero.py @@ -130,8 +130,8 @@ def episodios(item): for it in itl: ep = scrapertools.find_single_match(it.title, r'(\d+x\d+)') if not ep and 'http' in it.data: # stagione intera - from lib import unshortenit - data = unshortenit.findlinks(it.data) + # from lib import unshortenit + # data = unshortenit.findlinks(it.data) episodes = {} def get_ep(s): @@ -147,7 +147,7 @@ def episodios(item): episodes[ep] = [] 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: # get_ep(s) # ottengo l'episodio dal nome del file diff --git a/lib/unshortenit.py b/lib/unshortenit.py index 393d3b0c..35617170 100644 --- a/lib/unshortenit.py +++ b/lib/unshortenit.py @@ -45,9 +45,9 @@ class UnshortenIt(object): _protectlink_regex = r'(?:s\.)?protectlink\.stream' _uprot_regex = r'uprot\.net' # 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 - _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' 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] for ret in futures.as_completed(unshList): text += '\n'.join(ret.result()) + text += '\n' # unshorten matches = [] @@ -817,7 +818,8 @@ def findlinks(text): 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): self.uri = uri @@ -833,7 +835,7 @@ class FileCrypt: from lib import proxytranslate data = proxytranslate.process_request_proxy(self.uri).get('data', '') 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): link_data = httptools.downloadpage('https://filecrypt.cc/Link/' + link + '.html').data diff --git a/servers/hexupload.py b/servers/hexupload.py index ed0f3f77..c4a431bd 100644 --- a/servers/hexupload.py +++ b/servers/hexupload.py @@ -20,6 +20,19 @@ def get_video_url(page_url, premium=False, user="", password="", video_password= if source: media_url = base64.b64decode(source).decode() 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 diff --git a/servers/mixdrop.json b/servers/mixdrop.json index 201530b5..047daab6 100644 --- a/servers/mixdrop.json +++ b/servers/mixdrop.json @@ -4,11 +4,11 @@ "ignore_urls": [], "patterns": [ { - "pattern": "mixdro?p[s]?.[^/]+/(?:f|e)/([a-z0-9]+)", + "pattern": "mixdro?ps?.[^/]+/(?:f|e)/([a-z0-9]+)", "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" } ]