astrXbian/.install/.kodi/addons/plugin.video.vstream/resources/lib/multihost.py

100 lines
3.1 KiB
Python

# -*- coding: utf-8 -*-
# vStream https://github.com/Kodi-vStream/venom-xbmc-addons
from resources.lib.handler.requestHandler import cRequestHandler
import re
UA = 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:56.0) Gecko/20100101 Firefox/56.0'
class cMultiup:
def __init__(self):
self.id = ''
self.list = []
def GetUrls(self, url):
sHtmlContent = GetHtml(url)
sPattern = '<form action="(.+?)" method="post"'
result = re.findall(sPattern, sHtmlContent)
url = 'https://multiup.org' + ''.join(result[0])
NewUrl = url.replace('http://www.multiup.org/fr/download', 'http://www.multiup.eu/fr/mirror')\
.replace('http://www.multiup.eu/fr/download', 'http://www.multiup.eu/fr/mirror')\
.replace('http://www.multiup.org/download', 'http://www.multiup.eu/fr/mirror')
sHtmlContent = GetHtml(NewUrl)
sPattern = 'nameHost="([^"]+)".+?link="([^"]+)".+?class="([^"]+)"'
r = re.findall(sPattern, sHtmlContent, re.DOTALL)
if not r:
return False
for item in r:
if 'bounce-to-right' in str(item[2]) and not 'download-fast' in item[1]:
self.list.append(item[1])
return self.list
class cJheberg:
def __init__(self):
self.id = ''
self.list = []
def GetUrls(self, url):
if url.endswith('/'):
url = url[:-1]
idFile = url.rsplit('/', 1)[-1]
NewUrl = 'https://api.jheberg.net/file/' + idFile
sHtmlContent = GetHtml(NewUrl)
sPattern = '"hosterId":([^"]+),"hosterName":"([^"]+)",".+?status":"([^"]+)"'
r = re.findall(sPattern, sHtmlContent, re.DOTALL)
if not r:
return False
for item in r:
if not 'ERROR' in item[2]:
urllink = 'https://download.jheberg.net/redirect/' + idFile + '-' + item[0]
try:
url = GetHtml(urllink)
self.list.append(url)
except:
pass
return self.list
# modif cloudflare
def GetHtml(url, postdata=None):
if 'download.jheberg.net/redirect' in url:
oRequest = cRequestHandler(url)
sHtmlContent = oRequest.request()
url = oRequest.getRealUrl()
return url
else:
sHtmlContent = ''
oRequest = cRequestHandler(url)
oRequest.setRequestType(1)
oRequest.addHeaderEntry('User-Agent', UA)
if postdata != None:
oRequest.addHeaderEntry('X-Requested-With', 'XMLHttpRequest')
oRequest.addHeaderEntry('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8')
oRequest.addHeaderEntry('Referer', 'https://download.jheberg.net/redirect/xxxxxx/yyyyyy/')
elif 'download.jheberg.net' in url:
oRequest.addHeaderEntry('Host', 'download.jheberg.net')
oRequest.addHeaderEntry('Referer', url)
oRequest.addParametersLine(postdata)
sHtmlContent = oRequest.request()
return sHtmlContent