def __getMediaLinkForGuest(self): api_call = '' oRequest = cRequestHandler(self.__sUrl) oRequest.addHeaderEntry("User-Agent",UA) sHtmlContent = oRequest.request() sPattern = "(\s*eval\s*\(\s*function(?:.|\s)+?)<\/script>" aResult_1 = re.findall(sPattern, sHtmlContent) if (aResult_1): sUnpacked = cPacker().unpack(aResult_1[0]) sHtmlContent = sUnpacked sPattern = 'sources: *\[\{file:"([^"]+)"' oParser = cParser() aResult = oParser.parse(sHtmlContent, sPattern) if (aResult[0] == True): api_call = aResult[1][0] elif len(aResult_1) > 1 : sUnpacked = cPacker().unpack(aResult_1[1]) sHtmlContent = sUnpacked sPattern = 'sources: *\[\{file:"([^"]+)"' oParser = cParser() aResult = oParser.parse(sHtmlContent, sPattern) if (aResult[0] == True): api_call = aResult[1][0] if (api_call): return True, api_call + '|Referer=' + self.__sUrl return False, False
def CheckCpacker(str): sPattern = '>([^>]+\(p,a,c,k,e(?:.|\s)+?\)\)\s*)<' aResult = re.search(sPattern, str, re.DOTALL | re.UNICODE) if (aResult): #VSlog('Cpacker encryption') str2 = aResult.group(1) if not str2.endswith(';'): str2 = str2 + ';' #if not str2.startswith('eval'): # str2 = 'eval(function' + str2[4:] #Me demandez pas pourquoi mais si je l'affiche pas en log, ca freeze ????? #VSlog(str2) try: tmp = cPacker().unpack(str2) #tmp = tmp.replace("\\'", "'") except: tmp = '' #VSlog(tmp) return str[:(aResult.start() + 1)] + tmp + str[(aResult.end() - 1):] return str
def __getMediaLinkForGuest(self): oRequest = cRequestHandler(self.__sUrl) sHtmlContent = oRequest.request() oParser = cParser() api_call = False sPattern = '(eval\(function\(p,a,c,k,e(?:.|\s)+?\)\)\s*)<\/script>' aResult = oParser.parse(sHtmlContent, sPattern) if (aResult[0] == True): sHtmlContent = cPacker().unpack(aResult[1][0]) sPattern = 'file:"([^"]+)",label:"[0-9]+"}' aResult = oParser.parse(sHtmlContent, sPattern) if (aResult[0] == True): api_call = aResult[1][0] else: sPattern = 'file:"([^"]+)",label:"[0-9]+"}' aResult = oParser.parse(sHtmlContent, sPattern) if (aResult[0] == True): api_call = aResult[1][0] + '|User-Agent=' + UA# + '&Referer=' + self.__sUrl if (api_call): return True, api_call return False, False
def __getMediaLinkForGuest(self): api_call = '' oParser = cParser() oRequest = cRequestHandler(self.__sUrl) oRequest.addHeaderEntry('Referer', self.__sUrl) oRequest.addParameters('User-Agent', UA) sHtmlContent = oRequest.request() sPattern = 'sources:* \[(?:{file:)*"([^"]+)"' aResult = oParser.parse(sHtmlContent, sPattern) if (aResult[0] == True): api_call = aResult[1][0] else: sPattern = '(eval\(function\(p,a,c,k,e(?:.|\s)+?\))<\/script>' aResult = oParser.parse(sHtmlContent, sPattern) if (aResult[0] == True): from Plugins.Extensions.IPTVPlayer.tsiplayer.addons.resources.lib.packer import cPacker sHtmlContent = cPacker().unpack(aResult[1][0]) sPattern = '{file: *"([^"]+smil)"}' aResult = oParser.parse(sHtmlContent, sPattern) if (aResult[0] == True): api_call = self.extractSmil(aResult[1][0]) else: sPattern = 'src:"([^"]+.mp4)"' aResult = oParser.parse(sHtmlContent, sPattern) if (aResult[0] == True): api_call = aResult[1][0] #.decode('rot13') if (api_call): return True, api_call return False, False
def __getMediaLinkForGuest(self): api_call = '' oRequest = cRequestHandler(self.__sUrl) sHtmlContent = oRequest.request() oParser = cParser() #lien direct sPattern = ',{file: *"([^"]+)"}\]' aResult = oParser.parse(sHtmlContent, sPattern) if (aResult[0] == True): api_call = aResult[1][0] #2 test Dean Edwards Packer else: sPattern = "<script type='text/javascript'>(\s*eval\s*\(\s*function(?:.|\s)+?)<\/script>" aResult = oParser.parse(sHtmlContent, sPattern) if (aResult[0] == True): sUnpacked = cPacker().unpack(aResult[1][0]) sPattern = 'file:"([^"]+\.mp4)' aResult = oParser.parse(sUnpacked, sPattern) if (aResult[0] == True): api_call = aResult[1][0] if (api_call): return True, api_call return False, False
def __getMediaLinkForGuest(self): api_call = False oRequest = cRequestHandler(self.__sUrl) sHtmlContent = oRequest.request() #type1 oParser = cParser() sPattern = '<source *src="([^"]+)" *type=\'video/.+?\'' aResult = oParser.parse(sHtmlContent, sPattern) if (aResult[0] == True): api_call = aResult[1][0] #type2? sPattern = '<script type=\'text/javascript\'>(.+?)</script>' aResult = oParser.parse(sHtmlContent, sPattern) if (aResult[0] == True): stri = cPacker().unpack(aResult[1][0]) sPattern = 'file:"([^"]+)",label:"([0-9]+)"}' aResult = oParser.parse(stri, sPattern) if (aResult[0] == True): url=[] qua=[] for aEntry in aResult[1]: url.append(aEntry[0]) qua.append(aEntry[1][:3] + '*' + aEntry[1][3:]) api_call = dialog().VSselectqual(qua, url) if (api_call): return True, api_call return False, False
def __getMediaLinkForGuest(self): api_call = False oParser = cParser() oRequest = cRequestHandler(self.__sUrl) sHtmlContent = oRequest.request() sPattern = '(\s*eval\s*\(\s*function\(p,a,c,k,e(?:.|\s)+?)<\/script>' aResult = oParser.parse(sHtmlContent, sPattern) #Attention sous titre present aussi if (aResult[0] == True): sHtmlContent = cPacker().unpack(aResult[1][0]) sPattern = '{sources:\[{file:"([^"]+)",label:"([^"]+)"' aResult = oParser.parse(sHtmlContent, sPattern) if (aResult[0] == True): api_call = aResult[1][0][0] if (api_call): return True, api_call return False, False
def __getMediaLinkForGuest(self): api_call = '' oParser = cParser() oRequest = cRequestHandler(self.__sUrl) sHtmlContent = oRequest.request() sPattern = 'sources: *\[{file:"([^"]+)"' aResult = oParser.parse(sHtmlContent, sPattern) if (aResult[0] == True): api_call = aResult[1][0] else: sPattern = '(eval\(function\(p,a,c,k,e(?:.|\s)+?\)\)\))' aResult = oParser.parse(sHtmlContent, sPattern) if (aResult[0] == True): sHtmlContent = cPacker().unpack(aResult[1][0]) sPattern = '{file:"([^"]+.mp4)"' aResult = oParser.parse(sHtmlContent, sPattern) if (aResult[0] == True): api_call = aResult[1][0] if (api_call): return True, api_call return False, False
def __getMediaLinkForGuest(self): api_call = False if not self.__sUrl.endswith('.mp4'): oParser = cParser() oRequest = cRequestHandler(self.__sUrl) sHtmlContent = oRequest.request() sPattern = '(\s*eval\s*\(\s*function\(p,a,c,k,e(?:.|\s)+?)<\/script>' aResult = oParser.parse(sHtmlContent, sPattern) if (aResult[0] == True): sHtmlContent = cPacker().unpack(aResult[1][0]) sPattern = '{src:"([^"]+)"' aResult = oParser.parse(sHtmlContent, sPattern) # fh = open('c:\\test.txt', 'w') # fh.write(sHtmlContent) # fh.close() if (aResult[0] == True): api_call = aResult[1][0] else: api_call = self.__sUrl if (api_call).endswith('.mp4'): return True, api_call else: return True, api_call + '|User-Agent=' + UA return False, False
def __getMediaLinkForGuest(self): api_call = False oRequest = cRequestHandler(self.__sUrl) sHtmlContent = oRequest.request() sPattern = "(\s*eval\s*\(\s*function(?:.|\s)+?)<\/script>" oParser = cParser() aResult = oParser.parse(sHtmlContent, sPattern) if (aResult[0] == True): sHtmlContent = cPacker().unpack(aResult[1][0]) sPattern = 'file:"([^<>"]+?\.mp4).+?label:"([^"]+)"' aResult = oParser.parse(sHtmlContent, sPattern) if (aResult[0] == True): url = [] qua = [] for i in aResult[1]: url.append(str(i[0])) qua.append(str(i[1])) #Affichage du tableau api_call = dialog().VSselectqual(qua, url) if (api_call): return True, api_call return False, False
def __getMediaLinkForGuest(self): sUrl = self.__sUrl oRequest = cRequestHandler(sUrl) sHtmlContent = oRequest.request() if '<div id="deleted">' in sHtmlContent: return False, False oParser = cParser() sPattern = '<source src="([^"]+)"' aResult = oParser.parse(sHtmlContent, sPattern) if (aResult[0] == True): api_call = aResult[1][0] else: sPattern = '(eval\(function\(p,a,c,k,e(?:.|\s)+?\))<\/script>' aResult = oParser.parse(sHtmlContent, sPattern) if (aResult[0] == True): sHtmlContent = cPacker().unpack(aResult[1][0]) sPattern = '{file:"(http.+?vid.mp4)"' aResult = oParser.parse(sHtmlContent, sPattern) if (aResult[0] == True): api_call = aResult[1][0] if (api_call): return True, api_call return False, False
def __getMediaLinkForGuest(self): oRequestHandler = cRequestHandler(self.__sUrl) sHtmlContent = oRequestHandler.request() oParser = cParser() sPattern = '(\s*eval\s*\(\s*function(?:.|\s)+?{}\)\))' aResult = oParser.parse(sHtmlContent, sPattern) if (aResult[0] == True): sHtmlContent = cPacker().unpack(aResult[1][0]) sPattern = 'file":"([^"]+)".+?"label":"([^"]+)"' aResult = oParser.parse(sHtmlContent, sPattern) if (aResult[0] == True): url = [] qua = [] for aEntry in aResult[1]: url.append(aEntry[0]) qua.append(aEntry[1]) api_call = dialog().VSselectqual(qua, url) if (api_call): return True, api_call return False, False
def __getMediaLinkForGuest(self): api_call = False oRequest = cRequestHandler(self.__sUrl) sHtmlContent = oRequest.request() #VSlog(str(self.__sUrl)) oParser = cParser() sPattern = '(eval\(function\(p,a,c,k,e(?:.|\s)+?\))<\/script>' aResult = oParser.parse(sHtmlContent, sPattern) if (aResult[0] == True): sHtmlContent = cPacker().unpack(aResult[1][0]) #VSlog(str(sHtmlContent)) sPattern = '\("src","([^"]+)"\)' aResult = oParser.parse(sHtmlContent, sPattern) if (aResult[0]): api_call = aResult[1][0] #VSlog(str(api_call)) if (api_call): return True, api_call return False, False
def __getMediaLinkForGuest(self): api_call = False oRequest = cRequestHandler(self.__sUrl) sHtmlContent = oRequest.request() sPattern = '(eval\(function\(p,a,c,k,e(?:.|\s)+?\))<\/script>' oParser = cParser() aResult = oParser.parse(sHtmlContent, sPattern) if (aResult[0] == True): sHtmlContent2 = cPacker().unpack(aResult[1][0]) sPattern = '{src:"([^"]+)",type:"video\/mp4",res:([^:,<>]+)' aResult = oParser.parse(sHtmlContent2, sPattern) if aResult[0]: # initialisation des tableaux url = [] qua = [] for i in aResult[1]: url.append(str(i[0])) qua.append(str(i[1])) api_call = dialog().VSselectqual(qua, url) if (api_call): return True, api_call return False, False
def __getMediaLinkForGuest(self): api_call = '' oParser = cParser() oRequest = cRequestHandler(self.__sUrl) oRequest.addHeaderEntry('User-Agent', UA) oRequest.addHeaderEntry('Referer', self.__sUrl.replace('iframe.php?u=', '')) sHtmlContent = oRequest.request() sPattern = '<input id=".+?name="([^"]+)" type="hidden" value="([^"]+)"/><input id="challenge" name="([^"]+)" type="hidden" value="([^"]+)"/>' aResult = oParser.parse(sHtmlContent, sPattern) if (aResult[0] == True): postdata = aResult[1][0][0] + '=' + aResult[1][0][ 1] + '&' + aResult[1][0][2] + '=' + aResult[1][0][3] oRequest = cRequestHandler(self.__sUrl) oRequest.setRequestType(1) oRequest.addHeaderEntry('User-Agent', UA) oRequest.addHeaderEntry('Referer', self.__sUrl) oRequest.addParametersLine(postdata) sHtmlContent = oRequest.request() sPattern = "(\s*eval\s*\(\s*function(?:.|\s)+?)<\/script>" aResult = re.findall(sPattern, sHtmlContent) if (aResult): sUnpacked = cPacker().unpack(aResult[0]) sHtmlContent = sUnpacked if (sHtmlContent): sPattern = "replace\(.*'(.+?)'" aResult = oParser.parse(sHtmlContent, sPattern) if (aResult[0] == True): from Plugins.Extensions.IPTVPlayer.tsiplayer.addons.resources.lib.gui.hoster import cHosterGui sHosterUrl = aResult[1][0] if not sHosterUrl.startswith('http'): sHosterUrl = 'http:%s' % sHosterUrl sHosterUrl = sHosterUrl.replace('\\', '') oHoster = cHosterGui().checkHoster(sHosterUrl) oHoster.setUrl(sHosterUrl) api_call = oHoster.getMediaLink() if (api_call[0] == True): return True, api_call[1] return False, False
def __getMediaLinkForGuest(self, api_call=None): sUrl = self.__sUrl oRequest = cRequestHandler(sUrl) sHtmlContent = oRequest.request() if 'File was deleted' in sHtmlContent: return False, False oParser = cParser() sPattern = '(eval\(function\(p,a,c,k,e(?:.|\s)+?\))<\/script>' aResult = oParser.parse(sHtmlContent, sPattern) if (aResult[0] == True): sHtmlContent2 = cPacker().unpack(aResult[1][0]) sPattern = '{file:"([^"]+)",label:"([^"]+)"}' aResult = oParser.parse(sHtmlContent2, sPattern) if aResult[0]: # initialisation des tableaux url = [] qua = [] for i in aResult[1]: url.append(str(i[0])) qua.append(str(i[1])) api_call = dialog().VSselectqual(qua, url) if not api_call: sPattern = 'src:"([^"]+)"' aResult = oParser.parse(sHtmlContent2, sPattern) if aResult[0]: api_call = aResult[1][0].replace(',', '').replace( '.urlset', '') if not api_call: sPattern = 'sources: *\[{src: "([^"]+)", *type: "video/mp4"' aResult = oParser.parse(sHtmlContent, sPattern) if aResult[0]: api_call = aResult[1][0] if not api_call: sPattern = 'source src="([^"]+)" type=' aResult = oParser.parse(sHtmlContent, sPattern) if aResult[0]: api_call = aResult[1][0] if api_call: return True, api_call return False, False
def CheckCpacker(sHtmlContent): oParser = cParser() sPattern = "(eval\(function\(p,a,c,k,e(?:.|\s)+?\))<\/script>" aResult = oParser.parse(sHtmlContent, sPattern) if (aResult[0] == True): str2 = aResult[1][0] try: result = cPacker().unpack(str2) return result except: pass return False
def __getMediaLinkForGuest(self): url_stream = '' oRequest = cRequestHandler(self.__sUrl) sHtmlContent = oRequest.request() oParser = cParser() sPattern = "<script type='text\/javascript'>(eval\(function\(p,a,c,k,e,d.+?)<\/script>" aResult = oParser.parse(sHtmlContent, sPattern) if (aResult[0] == True): for i in aResult[1]: sHtmlContent = cPacker().unpack(i) #xbmc.log(sHtmlContent) #Premiere methode avec <embed> if '<embed' in sHtmlContent: pass #deuxieme methode, lien code aes else: EncodedLink = re.search('file:"([^"]+)"', sHtmlContent, re.DOTALL) if (EncodedLink): Key = "a949376e37b369" + "f17bc7d3c7a04c5721" x = GKDecrypter(128, 128) sUrl = x.decrypt(EncodedLink.group(1), Key.decode("hex"), "ECB").split('\0')[0] #Si utilise pyaes #import resources.lib.pyaes as pyaes #decryptor = pyaes.new(Key.decode("hex"), pyaes.MODE_ECB, IV = '') #sUrl = decryptor.decrypt(lt.decode("hex")).replace('\x00', '') #xbmc.log('>> ' + sUrl) url_stream = sUrl if (url_stream): return True, url_stream else: return False, False return False, False
def __getUrlFromJavascriptCode(self, sHtmlContent): # oParser = cParser() # sPattern = "(eval\(function.*?)(.+?)</script>" #aResult = oParser.parse(sHtmlContent, sPattern) aResult = re.search('(eval\(function.*?)\s*</script>', sHtmlContent, re.DOTALL) if (aResult.group(1)): sJavascript = aResult.group(1) #sUnpacked = cJsUnpacker().unpackByString(sJavascript) sUnpacked = cPacker().unpack(sJavascript) return sUnpacked return False
def __getMediaLinkForGuest(self): oRequest = cRequestHandler(self.__sUrl) sHtmlContent = oRequest.request() sPattern = '<input type="hidden" name="([^"]+)" value="([^"]+)"' oParser = cParser() aResult = oParser.parse(sHtmlContent, sPattern) if (aResult[0] == True): time.sleep(7) oRequest = cRequestHandler(self.__sUrl) oRequest.setRequestType(cRequestHandler.REQUEST_TYPE_POST) for aEntry in aResult[1]: oRequest.addParameters(aEntry[0], aEntry[1]) oRequest.addParameters('referer', self.__sUrl) sHtmlContent = oRequest.request() sHtmlContent = sHtmlContent.replace('file:""', '') sPattern = '(eval\(function\(p,a,c,k,e(?:.|\s)+?\))<\/script>' aResult = oParser.parse(sHtmlContent, sPattern) if (aResult[0] == True): sHtmlContent = cPacker().unpack(aResult[1][0]) sPattern = ',file:"([^"]+)"}' aResult = oParser.parse(sHtmlContent, sPattern) if (aResult[0] == True): return True, aResult[1][0] else: sPattern = '{file:"([^"]+)",label:"(\d+p)"}' aResult = oParser.parse(sHtmlContent, sPattern) if (aResult[0] == True): url=[] qua=[] for i in aResult[1]: url.append(str(i[0])) qua.append(str(i[1])) if len(url) == 1: return True, url[0] elif len(url) > 1: return True, url[0] #240p de nos jours serieux dialog choix inutile max vue 360p pour le moment return False, False
def Hoster_Cloudstream(url, referer): oRequestHandler = cRequestHandler(url) oRequestHandler.addHeaderEntry('User-Agent', UA) oRequestHandler.addHeaderEntry('Referer', referer) sHtmlContent = oRequestHandler.request() sPattern = '(\s*eval\s*\(\s*function(?:.|\s)+?{}\)\))' aResult = re.findall(sPattern, sHtmlContent) if aResult: sstr = aResult[0] if not sstr.endswith(';'): sstr = sstr + ';' sUnpack = cPacker().unpack(sstr) sPattern = 'source:"(.+?)"' aResult = re.findall(sPattern, sUnpack) if aResult: return True, aResult[0] + '|User-Agent=' + UA + '&Referer=' + Quote(url) return False, False
def __getMediaLinkForGuest(self): api_call = False # VSlog(self.__sUrl) oRequest = cRequestHandler(self.__sUrl) sHtmlContent = oRequest.request() oParser = cParser() # Dean Edwards Packer sPattern = "(\s*eval\s*\(\s*function(?:.|\s)+?)<\/script>" aResult = oParser.parse(sHtmlContent, sPattern) if (aResult[0] == True): sUnpacked = cPacker().unpack(aResult[1][0]) sHtmlContent = sUnpacked sPattern = '{file:"(.+?)",label:"(.+?)"}' aResult = oParser.parse(sHtmlContent, sPattern) # print(aResult) if (aResult[0] == True): # initialisation des tableaux url = [] qua = [] # Remplissage des tableaux for i in aResult[1]: url.append(str(i[0])) qua.append(str(i[1])) # tableau api_call = dialog().VSselectqual(qua, url) # print(api_call) if (api_call): return True, api_call return False, False
def __getMediaLinkForGuest(self): api_call = '' oParser = cParser() oRequest = cRequestHandler(self.__sUrl) sHtmlContent = oRequest.request() sPattern = '<script type=\'text/javascript\'>(.+?)<\/script>' aResult = oParser.parse(sHtmlContent, sPattern) if (aResult[0] == True): html = cPacker().unpack(aResult[1][0]) sPattern = 'sources:\["([^"]+)"\]' aResult = oParser.parse(html, sPattern) if (aResult[0] == True): api_call = aResult[1][0] if (api_call): return True, api_call return False, False
def __getMediaLinkForGuest(self): api_call = '' oParser = cParser() oRequest = cRequestHandler(self.__sUrl) oRequest.addHeaderEntry('Cookie', 'hds2=1') sHtmlContent = oRequest.request() sPattern = '(\s*eval\s*\(\s*function(?:.|\s)+?)<\/script>' aResult = oParser.parse(sHtmlContent, sPattern) if (aResult[0] == True): sHtmlContent = cPacker().unpack(aResult[1][0]) sPattern = 'wurl="([^"]+)"' aResult = oParser.parse(sHtmlContent, sPattern) if (aResult[0] == True): api_call = aResult[1][0] #else: #sPattern = 'vsrc\d+="([^"]+)"' #aResult = oParser.parse(sHtmlContent, sPattern) #if (aResult[0] == True): # api_call = aResult[1][0] #else: # sPattern = 'furl="([^"]+)"' # aResult = oParser.parse(sHtmlContent, sPattern) # if (aResult[0] == True): # api_call = aResult[1][0] if api_call.startswith('//'): api_call = 'https:' + aResult[1][0] if (api_call): return True, api_call return False, False
def __getMediaLinkForGuest(self): api_call = '' oRequest = cRequestHandler(self.__sUrl) oRequest.addHeaderEntry('Referer', self.__sUrl) sHtmlContent = oRequest.request() #VSlog(sHtmlContent) oParser = cParser() sPattern = 'JuicyCodes\.Run\("(.+?)"\);' aResult = oParser.parse(sHtmlContent, sPattern) #VSlog(aResult) if (aResult[0] == True): media = aResult[1][0].replace('+', '') media = base64.b64decode(media) #cPacker decode from Plugins.Extensions.IPTVPlayer.tsiplayer.addons.resources.lib.packer import cPacker media = cPacker().unpack(media) #VSlog(media) if (media): sPattern = '{"file":"(.+?)","label":"(.+?)"' aResult = oParser.parse(media, sPattern) #VSlog(aResult) if (aResult[0] == True): #initialisation des tableaux url = [] qua = [] #Remplissage des tableaux for i in aResult[1]: url.append(str(i[0] + '|Referer=' + self.__sUrl)) qua.append(str(i[1])) #Si une seule url api_call = dialog().VSselectqual(qua, url) if (api_call): return True, api_call return False, False
def __getMediaLinkForGuest(self): url = self.__sUrl oRequestHandler = cRequestHandler(url) sHtmlContent = oRequestHandler.request() sPattern2 = '(\s*eval\s*\(\s*function(?:.|\s)+?\)\)\))' aResult = re.findall(sPattern2, sHtmlContent) list_url = [] list_qua = [] if aResult: str2 = aResult[0] if not str2.endswith(';'): str2 = str2 + ';' strs = cPacker().unpack(str2) oParser = cParser() sPattern = '(https.+?.m3u8)' aResult = re.findall(sPattern, strs) if aResult: urlhost = aResult[0] oRequestHandler = cRequestHandler(urlhost) oRequestHandler.addHeaderEntry('User-Agent', UA) oRequestHandler.addHeaderEntry('Referer', url) sHtmlContent2 = oRequestHandler.request() oParser = cParser() sPattern = 'PROGRAM.*?BANDWIDTH.*?RESOLUTION=(\d+x\d+).*?(https.*?m3u8)' aResult = oParser.parse(sHtmlContent2, sPattern) if (aResult[0] == True): for aEntry in aResult[1]: list_url.append(aEntry[1]) list_qua.append(aEntry[0]) api_call = dialog().VSselectqual(list_qua, list_url) if (api_call): return True, api_call + '|User-Agent=' + UA + '&Referer=' + url return False, False
def __getMediaLinkForGuest(self): api_call = '' oRequest = cRequestHandler(self.__sUrl) sHtmlContent = oRequest.request() from Plugins.Extensions.IPTVPlayer.tsiplayer.addons.resources.lib.packer import cPacker sPattern = "(\s*eval\s*\(\s*function(?:.|\s)+?)<\/script>" aResult = re.findall(sPattern, sHtmlContent) if (aResult): sUnpacked = cPacker().unpack(aResult[0]) sHtmlContent = sUnpacked if (sHtmlContent): oParser = cParser() sPattern = "replace\(.*'(.+?)'" aResult = oParser.parse(sHtmlContent, sPattern) if (aResult[0] == True): from Plugins.Extensions.IPTVPlayer.tsiplayer.addons.resources.lib.gui.hoster import cHosterGui sHosterUrl = aResult[1][0] if not sHosterUrl.startswith('http'): sHosterUrl = 'http:%s' % sHosterUrl sHosterUrl = sHosterUrl.replace('\\', '') oHoster = cHosterGui().checkHoster(sHosterUrl) oHoster.setUrl(sHosterUrl) api_call = oHoster.getMediaLink() if (api_call[0] == True): return True, api_call[1] return False, False
def __getMediaLinkForGuest(self): api_call = False oParser = cParser() oRequest = cRequestHandler(self.__sUrl) sHtmlContent = oRequest.request() sPattern = '(?:file|src): *"([^"]+)"[^{}<>]+?(?:, *label: *"([^"]+)")*}' aResult = oParser.parse(sHtmlContent, sPattern) if (aResult[0] == True): api_call = aResult[1][0][0] else: sPattern = '(\s*eval\s*\(\s*function\(p,a,c,k,e(?:.|\s)+?)<\/script>' aResult = oParser.parse(sHtmlContent, sPattern) if (aResult[0] == True): sHtmlContent = cPacker().unpack(aResult[1][0]) sPattern = '(?:file|src): *"([^"]+)"[^{}<>]+?(?:, *label: *"([^"]+)")*}' aResult = oParser.parse(sHtmlContent, sPattern) if (aResult[0] == True): url = [] qua = [] for i in aResult[1]: url.append(str(i[0])) if len(i) > 1: q = str(i[1]) else: q = "Inconnu" qua.append(q) api_call = dialog().VSselectqual(qua, url) if (api_call): return True, api_call return False, False
def __getMediaLinkForGuest(self): api_call = False oRequest = cRequestHandler(self.__sUrl) sHtmlContent = oRequest.request() sPattern = "(\s*eval\s*\(\s*function(?:.|\s)+?)<\/script>" oParser = cParser() aResult = oParser.parse(sHtmlContent, sPattern) if (aResult[0] == True): sHtmlContent = cPacker().unpack(aResult[1][0]) sPattern = '{file:"([^"]+)"}' aResult = oParser.parse(sHtmlContent, sPattern) if (aResult[0] == True): api_call = aResult[1][0].replace(',', '').replace( 'master.m3u8', 'index-v1-a1.m3u8') if (api_call): return True, api_call return False, False
def __getMediaLinkForGuest(self): api_call = False oRequest = cRequestHandler(self.__sUrl) sHtmlContent = oRequest.request() oParser = cParser() #Dean Edwards Packer sPattern = '(eval\(function\(p,a,c,k,e(?:.|\s)+?\))<\/script>' aResult = oParser.parse(sHtmlContent, sPattern) if (aResult[0] == True): sHtmlContent = cPacker().unpack(aResult[1][0]) sPattern = '{file:"([^"]+)"\,label:"([^"]+)"}' aResult = oParser.parse(sHtmlContent, sPattern) if (aResult[0] == True): #initialisation des tableaux url = [] qua = [] #Remplissage des tableaux for i in aResult[1]: url.append(str(i[0])) qua.append(str(i[1])) #tableau api_call = dialog().VSselectqual(qua, url) if (api_call): return True, api_call return False, False