Beispiel #1
0
    def __getMediaLinkForGuest(self):
        api_call = ''

        oRequest = cRequestHandler(self.__sUrl)
        sHtmlContent = oRequest.request()

        sPattern = '<source src="([^"]+)" type=\'(.+?)\'>'
        oParser = cParser()
        aResult = oParser.parse(sHtmlContent, sPattern)

        if (aResult[0] == True):
            url = []
            qua = []

            for aEntry in aResult[1]:
                url.append(aEntry[0])
                qua.append(aEntry[1])

            #Si une seule url
            if len(url) == 1:
                api_call = url[0]
            #si plus de une
            elif len(url) > 1:
                #Afichage du tableau
                ret = VScreateDialogSelect(qua)
                if (ret > -1):
                    api_call = url[ret]

        if (api_call):
            return True, api_call + '|User-Agent=' + UA

        return False, False
Beispiel #2
0
    def __getMediaLinkForGuest(self):

        oParser = cParser()
        oRequest = cRequestHandler(self.__sUrl)
        sHtmlContent = oRequest.request()

        sPattern = 'sources: *\[{file:"([^"]+)",label:"([^"]+)"}'
        oParser = cParser()
        aResult = oParser.parse(sHtmlContent, sPattern)

        if (aResult[0] == True):
            #initialisation des tableaux
            url = []
            qua = []
            #Replissage des tableaux
            for i in aResult[1]:
                url.append(str(i[0]))
                qua.append(str(i[1]))
            #Si une seule url
            if len(url) == 1:
                api_call = url[0]
            #si plus de une
            elif len(url) > 1:
                #Afichage du tableau
                ret = VScreateDialogSelect(qua)
                if (ret > -1):
                    api_call = url[ret]

        if (api_call):
            return True, api_call

        return False, False
Beispiel #3
0
    def __getMediaLinkForGuest(self):

        api_call = False

        oRequest = cRequestHandler(self.__sUrl)
        sHtmlContent = oRequest.request()

        oParser = cParser()

        sPattern = "var lets_play_a_game='([^']+)'"
        aResult = oParser.parse(sHtmlContent, sPattern)
        if not (aResult[0]):
            return False, False

        key = aResult[1][0]

        sPattern = "'rc=[^<>]+?\/(.+?)'\.concat"
        aResult = oParser.parse(sHtmlContent, sPattern)
        if not (aResult[0]):
            return False, False

        ee = aResult[1][0]

        url2 = 'http://thevideo.me/' + ee + '/' + key

        oRequest = cRequestHandler(url2)
        sHtmlContent2 = oRequest.request()

        code = cPacker().unpack(sHtmlContent2)
        sPattern = '"vt=([^"]+)'
        r2 = re.search(sPattern, code)
        if not (r2):
            return False, False

        sPattern = '{"file":"([^"]+)","label":"(.+?)"'
        aResult = oParser.parse(sHtmlContent, sPattern)

        if (aResult[0] == True):
            #initialisation des tableaux
            url = []
            qua = []

            #Replissage des tableaux
            for i in aResult[1]:
                url.append(str(i[0]))
                qua.append(str(i[1]))

            #Si  1 url
            if len(url) == 1:
                api_call = url[0]
            #Afichage du tableau
            elif len(url) > 1:
                ret = VScreateDialogSelect(qua)
                if (ret > -1):
                    api_call = url[ret]

        if (api_call):
            return True, api_call + '?direct=false&ua=1&vt=' + r2.group(1)

        return False, False
Beispiel #4
0
    def __getMediaLinkForGuest(self):

        oRequest = cRequestHandler(self.__sUrl)
        sHtmlContent = oRequest.request()

        sPattern = '<source src="(.+?)"'
        oParser = cParser()
        aResult = oParser.parse(sHtmlContent, sPattern)
        if (aResult[0] == True):
            #tableau choix de serveur
            url = []
            serv = []

            No = 1
            for i in aResult[1]:
                url.append(str(i))
                serv.append('Liens ' + str(No))
                No += 1
            #Si une seule url
            if len(url) == 1:
                api_call = url[0]
            #si plus de une
            elif len(url) > 1:
                #Afichage du tableau
                ret = VScreateDialogSelect(serv)
                if (ret > -1):
                    api_call = url[ret]

        if (api_call):
            return True, api_call + '|User-Agent=' + UA

        return False, False
Beispiel #5
0
    def __getMediaLinkForGuest(self):
        oParser = cParser()
        url = []
        qua = []
        id = self.__getIdFromUrl(self.__sUrl)
        
        sUrl = 'https://embed.tune.pk/play/' + id  + '?autoplay=no&ssl=yes&inline=true'

        oRequest = cRequestHandler(sUrl)
        sHtmlContent1 = oRequest.request()

        sPattern = '<meta itemprop="videoQuality" content="(.+?)".+?<meta itemprop="contentURL" content="([^"]+)"'
        aResult = oParser.parse(sHtmlContent1, sPattern)
        if (aResult[0] == True):
            url.append(aResult[1][0][1])
            qua.append(aResult[1][0][0] + '  mp4')

        sPattern = "var requestURL *= *'([^']+)';.+?\"X-secret-Header\":\"(.+?)\"}"
        aResult = oParser.parse(sHtmlContent1, sPattern)
        if (aResult[0] == True):
            vUrl = aResult[1][0][0]
            Secret = aResult[1][0][1]
            oRequest = cRequestHandler(vUrl)
            oRequest.addHeaderEntry('User-Agent', UA)
            oRequest.addHeaderEntry('X-secret-Header', Secret)
            sHtmlContent = oRequest.request()

            sHtmlContent = cUtil().removeHtmlTags(sHtmlContent)
            sHtmlContent = cUtil().unescape(sHtmlContent)

            content = json.loads(sHtmlContent)
            content = content["data"]["details"]["player"]
            if content:
                for x in content['sources']:
                    if 'Auto' in str(x['label']):
                        continue
                    url2 = str(x['file']).replace('index',str(x['label']))

                    url.append(url2)
                    qua.append(repr(x['label'])+ '  m3u8')
                    

                if len(url) == 1:
                    api_call = url[0]

                elif len(url) > 1:
                    ret = VScreateDialogSelect(qua)
                    if (ret > -1):
                        api_call = url[ret]

            if (api_call):
                return True, api_call + '|User-Agent=' + UA 

            return False, False
Beispiel #6
0
    def __getMediaLinkForGuest(self):
    
        sId = self.__getIdFromUrl(self.__sUrl)
        
        sUrl = 'http://vidup.me/embed-' + sId + '.html'

        stream_url = ''
        oRequest = cRequestHandler(sUrl)
        sHtmlContent = oRequest.request()
        
        key = self.__getKey(sHtmlContent)
        
        getCode = 'http://vidup.me/jwv/' + key
        oRequest = cRequestHandler(getCode)
        sHtmlContent2 = oRequest.request()
        unPacked = cPacker().unpack(sHtmlContent2)
        
        oParser = cParser()
        sPattern =  'vt=([^"]+)"'
        aResult = oParser.parse(unPacked, sPattern)
        if (aResult[0] == True):
            code = aResult[1][0]
            url=[]
            qua=[]
        
            sPattern =  "label: '([0-9]+)p', file: '([^']+)'"
            aResult = oParser.parse(sHtmlContent, sPattern)
            if (aResult[0]):
                for aEntry in aResult[1]:
                    url.append(aEntry[1])
                    qua.append(aEntry[0])
            else:
                sPattern = '"file":"([^"]+)","label":"([0-9]+)p"'
                aResult = oParser.parse(sHtmlContent, sPattern)
                if (aResult[0]):
                    for aEntry in aResult[1]:
                        url.append(aEntry[0])
                        qua.append(aEntry[1])            
                
            #Si une seule url
            if len(url) == 1:
                stream_url = url[0]
            #si plus de une
            elif len(url) > 1:
            #Afichage du tableau
                ret = VScreateDialogSelect(qua)
                if (ret > -1):
                    stream_url = url[ret]

        if (stream_url):
            return True, stream_url + '?direct=false&ua=1&vt=' + code
        
        return False, False
Beispiel #7
0
    def __getMediaLinkForGuest(self):

        v = self.getHostAndIdFromUrl(self.__sUrl)
        sId = v[1]
        sHost = v[0]
        web_url = 'http://' + sHost + '/videoembed/' + sId

        HEADERS = {
            'User-Agent':
            'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:52.0) Gecko/20100101 Firefox/52.0',
            'Accept':
            'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8'
        }

        req = urllib2.Request(web_url, headers=HEADERS)
        response = urllib2.urlopen(req)
        sHtmlContent = response.read()
        response.close()

        oParser = cParser()

        sHtmlContent = oParser.abParse(sHtmlContent, 'data-options=',
                                       '" data-player-container', 14)
        sHtmlContent = cUtil().removeHtmlTags(sHtmlContent)
        sHtmlContent = cUtil().unescape(sHtmlContent)  #.decode('utf-8'))

        page = json.loads(sHtmlContent)
        page = json.loads(page['flashvars']['metadata'])
        if page:
            url = []
            qua = []
            for x in page['videos']:
                url.append(x['url'])
                qua.append(x['name'])

            # Si au moins 1 url
            if (url):
                # Afichage du tableau
                ret = VScreateDialogSelect(qua)
                if (ret > -1):
                    api_call = url[ret]

        if (api_call):
            api_call = '%s|User-Agent=%s&Accept=%s' % (
                api_call, HEADERS['User-Agent'], HEADERS['Accept'])
            api_call = api_call + '&Referer=' + self.__sUrl + '&Origin=http://ok.ru'
            return True, api_call

        return False, False
Beispiel #8
0
    def __getMediaLinkForGuest(self):

        api_call = ''
        oParser = cParser()

        oRequest = cRequestHandler(self.__sUrl)
        sHtmlContent = oRequest.request()

        fh = open('c:\\test.txt', "w")
        fh.write(sHtmlContent)
        fh.close()

        # 1 er lecteur
        sDash = re.search("player.src.+?src: *'([^']+)", sHtmlContent,
                          re.DOTALL)
        if (sDash):
            return True, sDash.group(1)
        else:
            #second lecteur
            sPattern = '<source src="([^"]+)" type=\'([^"\']+)\'>'
            aResult = oParser.parse(sHtmlContent, sPattern)
            if (aResult[0] == True):
                #initialisation des tableaux
                url = []
                qua = []
                #Replissage des tableaux
                for i in aResult[1]:
                    url.append(str(i[0]))
                    qua.append(str(i[1]))
                #Si  1 url
                if len(url) == 1:
                    api_call = url[0]
                #Afichage du tableau
                elif len(url) > 1:
                    ret = VScreateDialogSelect(qua)
                    if (ret > -1):
                        api_call = url[ret]

            if (api_call):
                return True, api_call + '|User-Agent=' + UA

            return False, False
    def __getMediaLinkForGuest(self):

        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):
            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]))

            #Si  1 url
            if len(url) == 1:
                api_call = url[0]
            #Affichage du tableau
            elif len(url) > 1:
                ret = VScreateDialogSelect(qua)
                if (ret > -1):
                    api_call = url[ret]

        if (api_call):
            return True, api_call

        return False, False
Beispiel #10
0
    def __getMediaLinkForGuest(self):
        oParser = cParser()

        id = self.__getIdFromUrl(self.__sUrl)

        sUrl = 'https://embed.tune.pk/play/' + id + '?autoplay=&ssl=yes&inline=true'

        oRequest = cRequestHandler(sUrl)
        sHtmlContent = oRequest.request()

        sPattern = "var requestURL *= *'([^']+)'"
        aResult = oParser.parse(sHtmlContent, sPattern)
        if (aResult[0] == True):
            vUrl = aResult[1][0]
            oRequest = cRequestHandler(vUrl)
            sHtmlContent = oRequest.request()

            sHtmlContent = cUtil().removeHtmlTags(sHtmlContent)
            sHtmlContent = cUtil().unescape(sHtmlContent)

            content = json.loads(sHtmlContent)
            content = content["data"]["details"]["player"]
            if content:
                url = []
                qua = []
                for x in content['sources']:
                    url.append(x['file'])
                    qua.append(repr(x['label']))

                if len(url) == 1:
                    api_call = url[0]

                elif len(url) > 1:
                    ret = VScreateDialogSelect(qua)
                    if (ret > -1):
                        api_call = url[ret]

            if (api_call):
                return True, api_call + '|User-Agent=' + UA

            return False, False
Beispiel #11
0
    def __getMediaLinkForGuest(self):
    
        sUrl = self.__sUrl
        
        #sId = self.__getIdFromUrl(self.__sUrl)
        #sUrl = 'http://vidup.tv/embed-' + sId + '.html'

        VSlog(sUrl)
        
        stream_url = ''
        oRequest = cRequestHandler(sUrl)
        sHtmlContent = oRequest.request()
        
        #decodage de la page html
        sHtmlContent3 = sHtmlContent
        code = ''
        maxboucle = 3
        while (maxboucle > 0):
            VSlog('loop : ' + str(maxboucle))
            sHtmlContent3 = CheckCpacker(sHtmlContent3)
            #sHtmlContent3 = CheckJJDecoder(sHtmlContent3)           
            #sHtmlContent3 = CheckAADecoder(sHtmlContent3)
            
            maxboucle = maxboucle - 1   
         
        sHtmlContent = sHtmlContent3
        
        #fh = open('c:\\test.txt', "w")
        #fh.write(sHtmlContent)
        #fh.close()
        
        oParser = cParser()
        
        sPattern = "var thief='([^']+)';"
        aResult = oParser.parse(sHtmlContent, sPattern)
        if not (aResult[0]):
            return False , False
            
        key = aResult[1][0].replace('+','')
            
        sPattern = "'rc=[^<>]+?\/(.+?)'\.concat"
        aResult = oParser.parse(sHtmlContent, sPattern)
        if not (aResult[0]):
            return False , False
            
        ee = aResult[1][0]
        if ee.endswith('\\'):
            ee = ee[:-1]
            
        url2 = 'https://vidup.tv/' + ee + '/' + key
        
        VSlog(url2)

        oRequest = cRequestHandler(url2)
        sHtmlContent2 = oRequest.request()
        
        
        #fh = open('c:\\test.txt', "w")
        #fh.write(sHtmlContent2)
        #fh.close()
        
        code = cPacker().unpack(sHtmlContent2)
        sPattern = '"vt=([^"]+)'
        r2 = re.search(sPattern,code)
        if not (r2):
            return False,False
        
        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]))
                
            #Si  1 url
            if len(url) == 1:
                api_call = url[0]
            #Affichage du tableau
            elif len(url) > 1:
                ret = VScreateDialogSelect(qua)
                if (ret > -1):
                    api_call = url[ret]

        #xbmc.sleep(5000)
                    
        if (api_call):
            api_call = api_call + '?direct=false&ua=1&vt=' + r2.group(1)
            return True, api_call
            
        return False, False
Beispiel #12
0
    def __getMediaLinkForGuest(self):

        api_call = False

        oRequest = cRequestHandler(self.__sUrl)
        sHtmlContent = oRequest.request()

        #decodage de la page html
        sHtmlContent3 = sHtmlContent
        code = ''
        maxboucle = 3
        while (maxboucle > 0):
            VSlog('loop : ' + str(maxboucle))
            sHtmlContent3 = CheckCpacker(sHtmlContent3)
            #sHtmlContent3 = CheckJJDecoder(sHtmlContent3)
            #sHtmlContent3 = CheckAADecoder(sHtmlContent3)

            maxboucle = maxboucle - 1

        sHtmlContent = sHtmlContent3

        #fh = open('c:\\test.txt', "w")
        #fh.write(sHtmlContent)
        #fh.close()

        #LoadLinks(sHtmlContent)

        oParser = cParser()

        sPattern = "var thief='([^']+)';"
        aResult = oParser.parse(sHtmlContent, sPattern)
        if not (aResult[0]):
            VSlog('thief var')
            return False, False

        key = aResult[1][0].replace('+', '')

        sPattern = "'rc=[^<>]+?\/(.+?)'\.concat"
        aResult = oParser.parse(sHtmlContent, sPattern)
        if not (aResult[0]):
            VSlog('url var')
            return False, False

        ee = aResult[1][0]

        url2 = 'https://thevideo.me/' + ee + '/' + key

        VSlog('unlock url 1 :' + url2)

        oRequest = cRequestHandler(url2)
        sHtmlContent2 = oRequest.request()

        if (True):
            code = cPacker().unpack(sHtmlContent2)

            #fh = open('c:\\test.txt', "w")
            #fh.write(code)
            #fh.close()

            sPattern = '"vt=([^"]+)'
            r2 = re.search(sPattern, code)
            if not (r2):
                VSlog('vt error')
                return False, False

        if (True):
            #Unlock url
            url1 = re.search(r'async src="([^"]+)">', sHtmlContent,
                             re.DOTALL).group(1)
            VSlog(url1)
            oRequest = cRequestHandler(url1)
            sHtmlContenttmp1 = oRequest.request()

            sId = self.__getIdFromUrl(self.__sUrl)
            url2 = 'https://thevideo.website/api/slider/' + sId
            VSlog(url2)
            oRequest = cRequestHandler(url2)
            sHtmlContenttmp2 = oRequest.request()
            #url3 = re.search(r'"src":"([^"]+)"', sHtmlContenttmp2,re.DOTALL).group(1)
            #VSlog(url3)
            #oRequest = cRequestHandler(url3)
            #sHtmlContenttmp3 = oRequest.request()

            xbmc.sleep(1000)

        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]))

            #Si  1 url
            if len(url) == 1:
                api_call = url[0]
            #Affichage du tableau
            elif len(url) > 1:
                ret = VScreateDialogSelect(qua)
                if (ret > -1):
                    api_call = url[ret]

        #xbmc.sleep(5000)

        #api_call ='https://n4081.thevideo.me:8777/ivcgn7pgt23xu37wrbrovparhhdg6yozy42ehjynz3p3lxyt2da7ibbxyhzjgbcxf5vtsutqndvnbfcpxvelknwgfy3pbkml7ff3s2baxyzssn7o6rw66s2gcnlmzejg75pcbw2io7vdcqkg3o2ggpduysgsbybagh434jamjp3pc5gdvqc7tpfd7hxn4hdx5p2klae7mrjecghepspd6jezziuqi4xrfsbg5hldgqfirxevcaaurglqznpxivy5wndsnvedx4xokoonky77bi4mjzzq/v.mp4?direct=false&ua=1&vt=pw42hcaoyjkxkx3qfwd4gdyoc775sk55pq7sqsr7rsv4rp3qk4huxuitpwqolirqnsmcyomiwarevrb4mt4lgbouyzxvtx3z4i3it6m3gr4lke7tske5sljujqarhotsraukqq4nqwkzoqdqw5qo7zjmobw5vzwd6r5oudfvp3deh2xo3boy75pkrzybt2mftelbbbqcifmoezvqw3cqeanck5lmzhshcph2qtseoakvw26bscztw44didbp63qrmc56j3wu7kmg6bhpiidfstx57m'
        if (api_call):
            api_call = api_call + '?direct=false&ua=1&vt=' + r2.group(1)
            return True, api_call

        return False, False