Example #1
0
    def __getIdFromUrl(self, sUrl):
        sPattern = "id=([^<]+)"
        oParser = cParser()
        aResult = oParser.parse(sUrl, sPattern)
        if (aResult[0] == True):
            return aResult[1][0]

        return ''
Example #2
0
    def __getMediaLinkForGuest(self):
        api_call = ''
        oParser = cParser()

        oRequest = cRequestHandler(self.__sUrl)
        sHtmlContent = oRequest.request()
        
        sPattern1 = 'ById\(\'ideoo.+?=\s*["\']([^"\']+)[\'"].+?["\']([^"\']+)\'\)'
        
        aResult = oParser.parse(sHtmlContent, sPattern1)

        if (aResult[0] == True):
            url = aResult[1][0][1]
            api_call = 'https://streamtape.com/get_video' + url[url.find('?'):] + "&stream=1"

        if api_call:
            return True, api_call + '|User-Agent=' + UA + '&Referer=' + self.__sUrl

        return False, False
Example #3
0
    def __getMediaLinkForGuest(self):
        api_call = False

        oRequest = cRequestHandler(self.__sUrl)
        oRequest.addHeaderEntry('User-Agent', UA)
        sHtmlContent = oRequest.request()

        urlDonwload = oRequest.getRealUrl()

        oParser = cParser()

        possible = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"
        fin_url = ''.join(random.choice(possible) for _ in range(10))

        sPattern = 'return a\+"(\?token=[^"]+)"'
        d = oParser.parse(sHtmlContent, sPattern)[1][0]

        fin_url = fin_url + d + str(int(1000 * time.time()))

        sPattern = "\$\.get\('(\/pass_md5[^']+)"
        aResult = oParser.parse(sHtmlContent, sPattern)
        url2 = 'https://' + urlDonwload.split('/')[2] + aResult[1][0]

        #VSlog(url2)

        oRequest = cRequestHandler(url2)
        oRequest.addHeaderEntry('User-Agent', UA)
        oRequest.addHeaderEntry('Referer', urlDonwload)
        sHtmlContent = oRequest.request()

        #VSlog(sHtmlContent)

        #api_call = compute(sHtmlContent) + fin_url
        api_call = sHtmlContent + fin_url

        #VSlog(api_call)

        if (api_call):
            api_call = api_call + '|Referer=' + urlDonwload
            return True, api_call

        return False, False
Example #4
0
    def checkSubtitle(self, sHtmlContent):
        oParser = cParser()

        # On ne charge les sous titres uniquement si vostfr se trouve dans le titre.
        # if not re.search("<h1 class='file-title'>[^<>]+(?:TRUEFRENCH|FRENCH)[^<>]*</h1>", sHtmlContent, re.IGNORECASE):
        if "<track type='vtt'" in sHtmlContent:

            sPattern = '<track type=[\'"].+?[\'"] kind=[\'"]subtitles[\'"] src=[\'"]([^\'"]+).vtt[\'"] srclang=[\'"].+?[\'"] label=[\'"]([^\'"]+)[\'"]>'
            aResult = oParser.parse(sHtmlContent, sPattern)

            if (aResult[0] == True):
                Files = []
                for aEntry in aResult[1]:
                    url = aEntry[0]
                    label = aEntry[1]
                    url = url + '.srt'

                    if not url.startswith('http'):
                        url = 'http:' + url
                    if 'Forc' not in label:
                        Files.append(url)
                return Files

        return False
Example #5
0
    def __getMediaLinkForGuest(self):
        api_call = ''
        oParser = cParser()

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

        sPattern1 = "innerHTML = ([^;]+)"

        aResult = oParser.parse(sHtmlContent, sPattern1)

        if (aResult[0] == True):
            url = aResult[1][0]
            url = url.replace(' ',
                              '').replace('"',
                                          '').replace("'",
                                                      "").replace("+", "")
            VSlog(url)
            api_call = 'https:' + url + "&stream=1"

        if (api_call):
            return True, api_call + '|User-Agent=' + UA + '&Referer=' + self.__sUrl

        return False, False
Example #6
0
    def __getMediaLinkForGuest(self):

        api_call = False
        url = self.__sUrl

        keymorocco = ''
        keymycountry = ''
        morocco = ''
        mycountry = ''

        urlapi = "https://userload.co/api/assets/userload/js/videojs.js"

        # ne marche plus (sur kodi18.7)
        # sHtmlContent1 = decodeData(requests.get(urlapi).text)

        oRequestHandler = cRequestHandler(urlapi)
        sHtmlContent1 = oRequestHandler.request()

        oParser = cParser()
        sPattern = '(゚ω゚.+?\(\'_\'\);)'
        aResult = oParser.parse(sHtmlContent1, sPattern)

        if (aResult[0] == True):
            sdecode = AADecoder(aResult[1][0]).decode()
            sPattern = 'morocco=".([^\W]+).+?"&mycountry=".([^\W]+)'
            aResult_2 = oParser.parse(sdecode, sPattern)

            if (aResult_2[0] == True):
                keymorocco = aResult_2[1][0][0]
                keymycountry = aResult_2[1][0][1]

        referer = url.split('|Referer=')[1]
        url = url.split('|Referer=')[:-1][0]

        oRequestHandler = cRequestHandler(url)
        oRequestHandler.addHeaderEntry('Referer', referer)
        sHtmlContent1 = oRequestHandler.request()

        sPattern2 = '<script type="text/javascript">(\s*eval\s*\(\s*function(?:.|\s)+?{}\)\))'
        aResult = re.findall(sPattern2, sHtmlContent1)

        if aResult:
            str2 = aResult[0]
            if not str2.endswith(';'):
                str2 = str2 + ';'

            strs = cPacker().unpack(str2)

            oParser = cParser()
            sPattern = 'var\s(.+?)="([^"]*)'
            aResult = oParser.parse(strs, sPattern)

            if (aResult[0] == True):
                for r in aResult[1]:
                    if r[0] == keymorocco:
                        morocco = r[1]
                    if r[0] == keymycountry:
                        mycountry = r[1]

        if morocco and mycountry:
            url2 = 'https://userload.co/api/request/'
            pdata = 'morocco=' + morocco + '&mycountry=' + mycountry
            oRequest = cRequestHandler(url2)
            oRequest.setRequestType(1)
            oRequestHandler.addHeaderEntry('User-Agent', UA)
            oRequest.addHeaderEntry('Content-Type',
                                    'application/x-www-form-urlencoded')
            oRequest.addHeaderEntry('Content-Length', len(str(pdata)))
            oRequest.addHeaderEntry('Referer', url)
            oRequest.addParametersLine(pdata)
            api_call = oRequest.request()

            if 'mp4' in api_call and 'uloadcdn.com' in api_call:
                return True, api_call.strip()

        return False, False