* fix canale * fix newest * fix numero puntata * experimental scrape as decorator * prova su support.scrape e modifiche * uso del decoratore support.scrape Scritto guardaserieclick con supporto del decoratore Modificato: - eurostreaming.py per piccoli fix - Support.py per fix oltre che a portarlo allo stato del master - zcrypt - bit.ly non funziona. DA FIXARE!!! * migliorato codice Tentativo vano di inserire autorenumber per gli anime * New scrape (#55) * fix canale * fix newest * fix numero puntata * Fix Animeworld * Nuovo Autorenumber * initial background downloader support * ops * Update channels.json * Update channels.json * fix openload * move json update to cohesist with updater * disable json url updates * prova su support.scrape e modifiche * uso del decoratore support.scrape Scritto guardaserieclick con supporto del decoratore Modificato: - eurostreaming.py per piccoli fix - Support.py per fix oltre che a portarlo allo stato del master - zcrypt - bit.ly non funziona. DA FIXARE!!! * migliorato codice Tentativo vano di inserire autorenumber per gli anime * fix autoplay in altadefinizioneLink * camel case * decoratore per i menu * altadefinizione01 C * Decoratore Menu e Altadefinizione01_C e _L modifiche a support.menu per fix e scrittura dei canali: - Altadefinizione01_C - Altadefinizione01_L per il supporto dei decoratori: - menu - scrape * eliminato listGroup in favore dei nomi dei gruppi nelle regex * cambio struttura in support.menu() * cambio struttura in support.menu() * supporto completo per i decoratori Riscritti i canali per il supporto ai decoratori e alle sole regex: - Altadefinizione01_C - Altadefinizione01_L * AltadefinizioneClick - altadefinizione01 e piccoli fix modified: channels/altadefinizione01.py modified: channels/altadefinizione01_club.py modified: channels/altadefinizione01_link.py modified: channels/altadefinizioneclick.py * NewScrape (#62) * fix typo * fix typo 2 * Add files via upload * Add files via upload * fix autoplay in community channels * fix toonitalia * Fix Toonitalia * workaround serietvsubita * Nuova Rinumerazione Automatica * Fix per Rinumerazione Automatica * workaround updater * kod stable 0.3.1 * aggiunti nuovi file * channel e custom json * aggiunto bit.ly * Fix on air * ops * Personalizzazione sezione "Oggi in TV" * Aggiunto orario sezione Oggi in TV * aggiunto bit.ly (#56) * aggiunto bit.ly * Aggiunta personalizzazione homepage * Revert "initial background downloader support" This reverts commitf676ab0f* KoD 0.4 * KoD 0.4 (#57) * fix next page * testing new filmontv * Wstream quick fix, no resolution displayed :( * new filmontv * now regex is ok * fix .po files * +netlovers * working on filmontv * fix debriders * new updater * updater * fix crash * fix updater and re-add dev mode * new url eurostreaming * Delete netlovers.py * Delete netlovers.json * -net from menù * fix eurostreaming: numero stagione e newest (#50) * fix canale * fix newest * fix numero puntata * cleanup * cleanup 2 * fix updater crash on windows * Fix Animeworld * Nuovo Autorenumber * initial background downloader support * ops * Update channels.json * Update channels.json * fix openload * move json update to cohesist with updater * disable json url updates * fix typo * fix typo 2 * Add files via upload * Add files via upload * fix autoplay in community channels * fix toonitalia * Fix Toonitalia * workaround serietvsubita * Nuova Rinumerazione Automatica * Fix per Rinumerazione Automatica * workaround updater * Fix on air * ops * Personalizzazione sezione "Oggi in TV" * Aggiunto orario sezione Oggi in TV * aggiunto bit.ly (#56) * aggiunto bit.ly * Aggiunta personalizzazione homepage * Revert "initial background downloader support" This reverts commitf676ab0f* KoD 0.4 * stable * Rimossa dipendenza inutile * fix per i link bit.ly sperando non ricambiano... * Update updater.py * update * Fix Numerazione Automatica * possible fix badZipFile on android * possible fix crash if no internet connection * try except unzipper -> workaround * KoD 0.4.1 * Fix Numerazione Automatica * Fix ricerca CB01 * pagination fix * fix per bit.ly e fix di alcuni canali * Cambio dominio per FilmPerTutti * Fix per Wstream * miglioramenti vari updater + fix definitivo android * Fix Ricerca per Altadefinizione01 * Revert "Merge branch 'stable' of https://github.com/kodiondemand/addon into stable" This reverts commitcf50d10a00, reversing changes made to4a695c096c. * Revert "Revert "Merge branch 'stable' of https://github.com/kodiondemand/addon into stable"" This reverts commitcd19484c70. * Rimosso canale non più funzionante * Update addon.xml * da master a newScrape (#38) * Fix Numerazione Automatica * possible fix badZipFile on android * possible fix crash if no internet connection * try except unzipper -> workaround * KoD 0.4.1 * Fix Numerazione Automatica * Fix CB01 * pagination fix * Fix altadefinizione01_club e alcune mod a support Il canale è stato riscritto per support, così è pronto per il decoratore. Aggiunti dei fix a support altrimenti mi dava la lingua sub-ita a tutti i film successivi di un film sub-ita * fix di alcuni canali modified: animesubita.py modified: cinetecadibologna.py modified: filmpertutti.json modified: guardarefilm.py modified: istitutoluce.py modified: italiaserie.py * fix per bit.ly (#58) fix per bit.ly e fix di alcuni canali * Cambio dominio per FilmPerTutti * miglioramenti vari updater + fix definitivo android * Fix per Wstream * fix updater * Fix Ricerca per Altadefinizione01 * Rimosso canale non più funzionante * fix altadefinizione01 C * fix altadefinizione01_C * altadefinizione01 C fix regex
96 lines
4.1 KiB
Python
96 lines
4.1 KiB
Python
# -*- coding: utf-8 -*-
|
|
# Ringraziamo errmax e dr-z3r0
|
|
import re
|
|
|
|
from core import httptools, scrapertoolsV2
|
|
from platformcode import logger
|
|
from servers.decrypters import expurl
|
|
|
|
|
|
def get_video_url(page_url, premium=False, user="", password="", video_password=""):
|
|
|
|
encontrados = {
|
|
'https://vcrypt.net/images/logo', 'https://vcrypt.net/css/out',
|
|
'https://vcrypt.net/images/favicon', 'https://vcrypt.net/css/open',
|
|
'http://linkup.pro/js/jquery', 'https://linkup.pro/js/jquery',
|
|
'http://www.rapidcrypt.net/open'
|
|
}
|
|
devuelve = []
|
|
|
|
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]+)',
|
|
]
|
|
|
|
for patron in patronvideos:
|
|
logger.info(" find_videos #" + patron + "#")
|
|
matches = re.compile(patron).findall(page_url)
|
|
|
|
for url, host in matches:
|
|
if url not in encontrados:
|
|
logger.info(" url=" + url)
|
|
encontrados.add(url)
|
|
|
|
if host == 'gestyy':
|
|
resp = httptools.downloadpage(
|
|
url,
|
|
follow_redirects=False,
|
|
cookies=False,
|
|
only_headers=True,
|
|
replace_headers=True,
|
|
headers={'User-Agent': 'curl/7.59.0'})
|
|
data = resp.headers.get("location", "")
|
|
elif 'vcrypt.net' in url:
|
|
from lib import unshortenit
|
|
data, status = unshortenit.unshorten(url)
|
|
logger.info("Data - Status zcrypt vcrypt.net: [%s] [%s] " %(data, status))
|
|
elif 'linkup' in url or 'bit.ly' in url:
|
|
idata = httptools.downloadpage(url).data
|
|
data = scrapertoolsV2.find_single_match(idata, "<iframe[^<>]*src=\\'([^'>]*)\\'[^<>]*>")
|
|
#fix by greko inizio
|
|
if not data:
|
|
data = scrapertoolsV2.find_single_match(idata, 'action="(?:[^/]+.*?/[^/]+/([a-zA-Z0-9_]+))">')
|
|
from lib import unshortenit
|
|
data, status = unshortenit.unshorten(url)
|
|
logger.info("Data - Status zcrypt linkup : [%s] [%s] " %(data, status))
|
|
if '/speedx/' in data: # aggiunto per server speedvideo
|
|
data = data.replace('http://linkup.pro/speedx', 'http://speedvideo.net')
|
|
# fix by greko fine
|
|
else:
|
|
data = ""
|
|
while host in url:
|
|
resp = httptools.downloadpage(
|
|
url, follow_redirects=False)
|
|
url = resp.headers.get("location", "")
|
|
if not url:
|
|
data = resp.data
|
|
elif host not in url:
|
|
data = url
|
|
if data:
|
|
devuelve.append(data)
|
|
else:
|
|
logger.info(" url duplicada=" + url)
|
|
|
|
patron = r"""(https?://(?:www\.)?(?:threadsphere\.bid|adf\.ly|q\.gs|j\.gs|u\.bb|ay\.gy|linkbucks\.com|any\.gs|cash4links\.co|cash4files\.co|dyo\.gs|filesonthe\.net|goneviral\.com|megaline\.co|miniurls\.co|qqc\.co|seriousdeals\.net|theseblogs\.com|theseforums\.com|tinylinks\.co|tubeviral\.com|ultrafiles\.net|urlbeat\.net|whackyvidz\.com|yyv\.co|adfoc\.us|lnx\.lu|sh\.st|href\.li|anonymz\.com|shrink-service\.it|rapidcrypt\.net|ecleneue\.com)/[^"']+)"""#|bit\.ly)/[^"']+)"""
|
|
|
|
logger.info(" find_videos #" + patron + "#")
|
|
matches = re.compile(patron).findall(page_url)
|
|
|
|
for url in matches:
|
|
if url not in encontrados:
|
|
logger.info(" url=" + url)
|
|
encontrados.add(url)
|
|
|
|
long_url = expurl.expand_url(url)
|
|
if long_url:
|
|
devuelve.append(long_url)
|
|
else:
|
|
logger.info(" url duplicada=" + url)
|
|
|
|
ret = page_url+" "+str(devuelve) if devuelve else page_url
|
|
logger.info(" RET=" + str(ret))
|
|
return ret
|
|
|
|
|