Beispiel #1
0
def resolve(url):
    test = '|User-Agent=Mozilla/5.0 (compatible; CloudFlare-AlwaysOnline/1.0; +https://www.cloudflare.com/always-online) AppleWebKit/534.34'
    try:

        result = cloudflare.request(url)
        uri = re.findall("decodeURIComponent\(atob\('(.+?)'", result)[0]
        while not ('http') in uri:
            uri = base64.b64decode(uri)
            if not ('http') in uri:
                uri = re.findall("'(.+?)'", uri)[0]
            else:
                pass
        murl = re.findall('"src":"(.+?)"', uri)[0]

    except:
        return None
    try:
        result = cloudflare.request(murl)
        items = client.parseDOM(result, 'video', attrs={'id': 'player'})
        url = client.parseDOM(items, 'source', ret='src')[0]
        if ('http') in url: return url + test
        if url[0] != '/':
            url = 'http://www.iptvlinks.tk/' + url + test
        else:
            url = 'http://www.iptvlinks.tk' + url + test
        return url
    except:
        return None
    def resolve(self, url):
        try:
            try: quality = urlparse.parse_qs(urlparse.urlparse(url).query)['quality'][0]
            except: quality = '1080P'

            url = urlparse.urljoin(self.base_link, url)
            url = url.rsplit('?', 1)[0]

            result = cloudflare.request(url)

            url = client.parseDOM(result, 'div', attrs = {'class': 'player'})[0]
            url = client.parseDOM(url, 'iframe', ret='src')[0]

            result = cloudflare.request(url)

            url = client.parseDOM(result, 'iframe', ret='src')
            if len(url) > 0: return url[0]

            count = len(re.findall('window\.atob', result))
            result = re.compile("window\.atob\('([^']+)").findall(result)[0]

            for i in xrange(count):
                result = base64.decodestring(result)

            result = re.compile('(\d*p)="([^"]+)"').findall(result)

            url = [i for i in result if i[0].upper() == quality]
            if len(url) > 0: url = url[0][1]
            else: url = result[0][1]

            return url
        except:
            return
def resolve(url):
    try:
        result = cloudflare.request(url)

        post = {}
        f = client.parseDOM(result, 'Form', attrs={'action': ''})
        k = client.parseDOM(f, 'input', ret='name', attrs={'type': 'hidden'})
        for i in k:
            post.update({
                i:
                client.parseDOM(f, 'input', ret='value', attrs={'name': i})[0]
            })
        post.update({'method_free': 'Watch Free!'})
        post = urllib.urlencode(post)

        result = cloudflare.request(url, post=post)
        result = result.replace('\\/',
                                '/').replace('\n',
                                             '').replace('\'',
                                                         '"').replace(' ', '')

        swfUrl = re.compile('\.embedSWF\("(.+?)"').findall(result)[0]
        swfUrl = urlparse.urljoin(url, swfUrl)

        streamer = re.compile('flashvars=.+?"file":"(.+?)"').findall(result)[0]

        playpath = re.compile('flashvars=.+?p2pkey:"(.+?)"').findall(result)[0]

        url = '%s playpath=%s conn=S:%s pageUrl=%s swfUrl=%s swfVfy=true timeout=20' % (
            streamer, playpath, playpath, url, swfUrl)

        return url
    except:
        return
Beispiel #4
0
def resolve(url):
    test = '|User-Agent=Mozilla/5.0 (compatible; CloudFlare-AlwaysOnline/1.0; +https://www.cloudflare.com/always-online) AppleWebKit/534.34'
    try:
        
        result = cloudflare.request(url)
        uri = re.findall("decodeURIComponent\(atob\('(.+?)'",result)[0]
        while not ('http') in uri:
            uri = base64.b64decode(uri)
            if not ('http') in uri:
                uri = re.findall("'(.+?)'",uri)[0]
            else:
                pass
        murl = re.findall('"src":"(.+?)"',uri)[0]  
            
    except:
        return None
    try:
        result = cloudflare.request(murl)
        items = client.parseDOM(result, 'video', attrs={'id': 'player'})
        url = client.parseDOM(items, 'source', ret='src')[0]
        if ('http') in url: return url+test
        if url[0]!='/':
            url='http://www.iptvlinks.tk/'+url+test
        else:
            url='http://www.iptvlinks.tk'+url+test      
        return url
    except:
        return None
Beispiel #5
0
def resolve(url):
    try:
        result = cloudflare.request(url)

        post = {}
        f = client.parseDOM(result, 'Form', attrs = {'action': '' })
        k = client.parseDOM(f, 'input', ret='name', attrs = {'type': 'hidden'})
        for i in k: post.update({i: client.parseDOM(f, 'input', ret='value', attrs = {'name': i})[0]})
        post.update({'method_free': 'Watch Free!'})
        post = urllib.urlencode(post)

        result = cloudflare.request(url, post=post)
        result = result.replace('\\/', '/').replace('\n', '').replace('\'', '"').replace(' ', '')

        swfUrl = re.compile('\.embedSWF\("(.+?)"').findall(result)[0]
        swfUrl = urlparse.urljoin(url, swfUrl)

        streamer = re.compile('flashvars=.+?"file":"(.+?)"').findall(result)[0]

        playpath = re.compile('flashvars=.+?p2pkey:"(.+?)"').findall(result)[0]

        url = '%s playpath=%s conn=S:%s pageUrl=%s swfUrl=%s swfVfy=true timeout=20' % (streamer, playpath, playpath, url, swfUrl)

        return url
    except:
        return
    def resolve(self, url):
        try:
            try:
                quality = urlparse.parse_qs(
                    urlparse.urlparse(url).query)['quality'][0]
            except:
                quality = '1080P'
            quality = re.sub('[^0-9]', '', quality)

            url = urlparse.urljoin(self.base_link, url)
            url = url.rsplit('?', 1)[0]

            result = cloudflare.request(url)

            url = client.parseDOM(result, 'div', attrs={'class': 'player'})[0]
            url = client.parseDOM(url, 'iframe', ret='src')[0]

            result = cloudflare.request(url)

            replace = re.findall("\.replace\('(.*?)'.+?'(.*?)'\)", result)
            for i in replace:
                try:
                    result = result.replace(i[0], i[1])
                except:
                    pass

            count = len(re.findall('window\.atob', result))
            result = re.compile("window\.atob[\([]+'([^']+)").findall(
                result)[0]
            for i in xrange(count):
                try:
                    result = base64.decodestring(result)
                except:
                    pass

            url = client.parseDOM(result, 'iframe', ret='src')
            if len(url) > 0: return url[0]

            link = []
            link += re.compile(
                '''<source[^>]+src=["']([^'"]+)[^>]+res=['"]([^'"]+)'''
            ).findall(result)
            link += re.compile('''\?url=(.+?)["'].+?["'](.+?)["']''').findall(
                result)

            url = [i for i in link if i[1] == quality]
            if len(url) > 0: url = url[0][0]
            else: url = link[0][0]
            url = url.split()[0]

            return url
        except:
            return
Beispiel #7
0
def CCpart(url, image, fanart):
    try:
        url = urlparse.urljoin('http://kisscartoon.me', url)

        result = cloudflare.request(url)

        items = client.parseDOM(result, 'table', attrs={'class': 'listing'})
        items = client.parseDOM(items, 'td')
        items = zip(client.parseDOM(items, 'a', ret='href'), client.parseDOM(items, 'a'))

        if len(items) == 1: return CCstream(items[0][0])
    except:
        return

    for item in items[::-1]:
        try:
            name = item[1]
            name = name.replace('\n', '')
            name = client.replaceHTMLCodes(name)
            name = name.encode('utf-8')

            url = item[0]
            url = client.replaceHTMLCodes(url)
            url = url.encode('utf-8')

            addDirectoryItem(name,'CCstream',image,image,fanart,url)
        except:
            pass

    episodeCategory()
Beispiel #8
0
def CartoonCrazy(image, fanart):

    addDirectoryItem('[B]SEARCH[/B]', 'CCsearch', '0', mediaPath+'CCsearch.png', fanart, '')

    try:
        url = 'http://kisscartoon.me/CartoonList/'

        result = cloudflare.request(url)

        items = client.parseDOM(result, 'div', attrs={'id': 'container'})
        items = client.parseDOM(items, 'div', attrs={'id': 'rightside'})
        items = client.parseDOM(items, 'div', attrs={'class': 'barContent'})[1]       
        items = client.parseDOM(items, 'a', ret='href')
    except:
        return

    for item in items:
        try:
            name = '[B]'+ item[7:] +'[/B]'
            name = client.replaceHTMLCodes(name)
            name = name.encode('utf-8')

            url = item
            url = client.replaceHTMLCodes(url)
            url = url.encode('utf-8')

            addDirectoryItem(name, 'CCcat', image, image, fanart, url)
        except:
            pass

    endDirectory()
Beispiel #9
0
def CCpart(url, image, fanart):
    try:
        url = urlparse.urljoin('http://kisscartoon.me', url)

        result = cloudflare.request(url)

        items = client.parseDOM(result, 'table', attrs={'class': 'listing'})
        items = client.parseDOM(items, 'td')
        items = zip(client.parseDOM(items, 'a', ret='href'),
                    client.parseDOM(items, 'a'))

        if len(items) == 1: return CCstream(items[0][0])
    except:
        return

    for item in items[::-1]:
        try:
            name = item[1]
            name = name.replace('\n', '')
            name = client.replaceHTMLCodes(name)
            name = name.encode('utf-8')

            url = item[0]
            url = client.replaceHTMLCodes(url)
            url = url.encode('utf-8')

            addDirectoryItem(name, 'CCstream', image, image, fanart, url)
        except:
            pass

    episodeCategory()
Beispiel #10
0
def CCstream(url):
    try:
        url = urlparse.urljoin('http://kisscartoon.me', url)

        result = cloudflare.request(url)

        url = []
        items = client.parseDOM(result,
                                'select',
                                attrs={'id': 'selectQuality'})
        items = client.parseDOM(items, 'option', ret='value')
        for i in items:
            try:
                url.append({
                    'q':
                    directstream.googletag(base64.b64decode(i))[0]['quality'],
                    'u':
                    base64.b64decode(i)
                })
            except:
                pass
        items = sorted(url, key=lambda k: k['q'])

        player().run(items[0]['u'])
    except:
        return
Beispiel #11
0
def CartoonCrazy(image, fanart):
    try:
        url = 'http://kisscartoon.me/CartoonList/'

        result = cloudflare.request(url)

        items = client.parseDOM(result, 'div', attrs={'id': 'container'})
        items = client.parseDOM(items, 'div', attrs={'id': 'rightside'})
        items = client.parseDOM(items, 'div', attrs={'class': 'barContent'})[1]
        items = client.parseDOM(items, 'a', ret='href')
    except:
        return

    for item in items:
        try:
            name = item[7:].upper()
            name = client.replaceHTMLCodes(name)
            name = name.encode('utf-8')

            url = item
            url = client.replaceHTMLCodes(url)
            url = url.encode('utf-8')

            addDirectoryItem(name, 'CCcat',
                             cartoonArt % (random.randint(1, 10)), image,
                             fanart, url)
        except:
            pass

    endDirectory()
Beispiel #12
0
def VAgenres(image, fanart):
    try:
        url = 'http://kissanime.to/AnimeList/'

        result = cloudflare.request(url)

        items = client.parseDOM(result, 'div', attrs={'id': 'container'})
        items = client.parseDOM(items, 'div', attrs={'id': 'rightside'})
        items = client.parseDOM(items, 'div', attrs={'class': 'barContent'})[1]
        items = client.parseDOM(items, 'a', ret='href')
    except:
        return

    for item in items:
        try:
            name = '[B]' + item[7:] + '[/B]'
            name = client.replaceHTMLCodes(name)
            name = name.encode('utf-8')

            url = item
            url = client.replaceHTMLCodes(url)
            url = url.encode('utf-8')

            addDirectoryItem(name, 'VAcat', image, image, fanart, url)
        except:
            pass

    endDirectory()
Beispiel #13
0
def resolve(url):

    try:
        result = cloudflare.request(url)
        items = client.parseDOM(result, 'video', attrs={'id': 'live_player'})
        url = client.parseDOM(items, 'source', ret='src')[0]
        if ('http') in url: return url+'|User-Agent=Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.106 Safari/537.36'
    except:
        return None
    def resolve(self, url):
        try:
            try: quality = urlparse.parse_qs(urlparse.urlparse(url).query)['quality'][0]
            except: quality = '1080P'
            quality = re.sub('[^0-9]', '', quality)

            url = urlparse.urljoin(self.base_link, url)
            url = url.rsplit('?', 1)[0]

            result = cloudflare.request(url)

            url = client.parseDOM(result, 'div', attrs = {'class': 'player'})[0]
            url = client.parseDOM(url, 'iframe', ret='src')[0]

            result = cloudflare.request(url)

            replace = re.findall("\.replace\('(.*?)'.+?'(.*?)'\)", result)
            for i in replace:
                try: result = result.replace(i[0], i[1])
                except: pass

            count = len(re.findall('window\.atob', result))
            result = re.compile("window\.atob[\([]+'([^']+)").findall(result)[0]
            for i in xrange(count):
                try: result = base64.decodestring(result)
                except: pass

            url = client.parseDOM(result, 'iframe', ret='src')
            if len(url) > 0: return url[0]

            link = []
            link += re.compile('''<source[^>]+src=["']([^'"]+)[^>]+res=['"]([^'"]+)''').findall(result)
            link += re.compile('''\?url=(.+?)["'].+?["'](.+?)["']''').findall(result)

            url = [i for i in link if i[1] == quality]
            if len(url) > 0: url = url[0][0]
            else: url = link[0][0]
            url = url.split()[0]

            return url
        except:
            return
Beispiel #15
0
def VAcat(url, image, fanart):
    try:
        url = urlparse.urljoin('http://kissanime.to/', url)

        result = cloudflare.request(url)
        result = re.sub('<tr\s+.+?>', '<tr>', result)

        items = client.parseDOM(result, 'tr')
    except:
        return

    for item in items:
        try:
            name = client.parseDOM(item, 'a')[0]
            name = re.sub('\n|\W{3,}', '', name)

            name = client.replaceHTMLCodes(name)
            name = name.encode('utf-8')

            info = client.parseDOM(item, 'p')[0]
            info = client.replaceHTMLCodes(info)
            info = re.sub('\W{2,}', '', info)
            info = info.encode('utf-8')

            url = client.parseDOM(item, 'a', ret='href')[0]
            url = client.replaceHTMLCodes(url)
            url = url.encode('utf-8')
            thumb = client.parseDOM(item, 'img', ret='src')[0]
            thumb = client.replaceHTMLCodes(thumb)

            thumb = thumb.encode('utf-8')

            cookie = cloudflare.justcookie(thumb)

            cookie = cookie.split(';ASP')[0]
            image = thumb + cookie
            addDirectoryItem('[B]' + name + '[/B]', 'VApart', image, image,
                             fanart, url)
        except:
            pass

    try:
        next = client.parseDOM(result, 'ul', attrs={'class': 'pager'})[0]
        next = zip(client.parseDOM(next, 'a', ret='href'),
                   client.parseDOM(next, 'a'))
        next = [i[0] for i in next if 'Next' in i[1]][0]

        addDirectoryItem('[I]NEXT[/I]', 'VAcat', image, image, fanart, next)
    except:
        pass

    movieCategory()
    def resolve(self, url):
        try:
            if not urlparse.urlparse(url).netloc in self.base_link:
                url = client.request(url, output='geturl')
                if 'requiressl=yes' in url: url = url.replace('http://', 'https://')
                else: url = url.replace('https://', 'http://')

            else:
                result = cloudflare.request(url)
                url = client.parseDOM(result, 'iframe', ret='src')[0]

            return url
        except:
            return
Beispiel #17
0
def VCcat(url, image, fanart):
    try:
        url = urlparse.urljoin('http://kisscartoon.me', url)

        result = cloudflare.request(url)
        result = re.sub('<tr\s+.+?>', '<tr>', result)

        items = client.parseDOM(result, 'tr')
    except:
        return

    for item in items:
        try:
            name = client.parseDOM(item, 'a')[0]
            name = name.replace('\n', '')
            name = '[B]' + name + '[/B]'
            name = client.replaceHTMLCodes(name)
            name = name.encode('utf-8')

            info = client.parseDOM(item, 'p')[0]
            info = client.replaceHTMLCodes(info)
            info = re.sub('\W{2,}', '', info)
            info = info.encode('utf-8')

            url = client.parseDOM(item, 'a', ret='href')[0]
            url = client.replaceHTMLCodes(url)
            url = url.encode('utf-8')

            thumb = client.parseDOM(item, 'img', ret='src')[0]
            #thumb = thumb.replace('kisscartoon.me','cdn-c.whatbest.net')
            thumb = client.replaceHTMLCodes(thumb)
            thumb = thumb.encode('utf-8')
            image = str(thumb) + cloudflare.justcookie(thumb)
            addDirectoryItem(name, 'VCpart', image, image, fanart, url)
        except:
            pass

    try:
        next = client.parseDOM(result, 'ul', attrs={'class': 'pager'})[0]
        next = zip(client.parseDOM(next, 'a', ret='href'),
                   client.parseDOM(next, 'a'))
        next = [i[0] for i in next if 'Next' in i[1]][0]

        addDirectoryItem('[I]NEXT[/I]', 'VCcat', image, image, fanart, next)
    except:
        pass

    movieCategory()
Beispiel #18
0
def resolve(url):
    try:
        result = cloudflare.request(url)
       
        items = client.parseDOM(result, 'video', attrs={'id': 'player'})
           
        items = client.parseDOM(items, 'source', ret='src')[1]
        if ('http') in items: return items
        if items[0]!='/':
            url='http://www.iptvlinks.tk/'+items
        else:
            url='http://www.iptvlinks.tk'+items
     
        return url
    except:
        return None
    def resolve(self, url):
        try:
            if not urlparse.urlparse(url).netloc in self.base_link:
                url = client.request(url, output='geturl')
                if 'requiressl=yes' in url:
                    url = url.replace('http://', 'https://')
                else:
                    url = url.replace('https://', 'http://')

            else:
                result = cloudflare.request(url)
                url = client.parseDOM(result, 'iframe', ret='src')[0]

            return url
        except:
            return
Beispiel #20
0
def VAalpha(image, fanart):
    try:
        url = 'http://kissanime.to/AnimeList/'
        result = cloudflare.request(url)
        items = client.parseDOM(result, 'div', attrs={'class': 'alphabet'})
        title = client.parseDOM(items, 'a')
        addy = client.parseDOM(items, 'a', ret='href')
        list = zip(title, addy)
        for item in list:
            url = 'AnimeList/' + item[1]
            if item[0] == "All": url = item[1]
            url = url.encode('utf-8')
            addDirectoryItem('[B]' + item[0] + '[/B]', 'VAcat', image, image,
                             fanart, url)
        endDirectory()
    except:
        pass
Beispiel #21
0
def CCcat(url, image, fanart):
    try:
        url = urlparse.urljoin('http://kisscartoon.me', url)

        result = cloudflare.request(url)
        result = re.sub('<tr\s+.+?>', '<tr>', result)

        items = client.parseDOM(result, 'tr')
    except:
        return

    for item in items:
        try:
            name = client.parseDOM(item, 'a')[0]
            name = name.replace('\n', '')
            name = '[B]'+ name +'[/B]'
            name = client.replaceHTMLCodes(name)
            name = name.encode('utf-8')

            url = client.parseDOM(item, 'a', ret='href')[0]
            url = client.replaceHTMLCodes(url)
            url = url.encode('utf-8')

            thumb = client.parseDOM(item, 'img', ret='src')[0]
            thumb = thumb.replace('kisscartoon.me','cdn-c.whatbest.net')
            thumb = client.replaceHTMLCodes(thumb)
            thumb = thumb.encode('utf-8')

            addDirectoryItem(name, 'CCpart', thumb, image, fanart, url)
        except:
            pass

    try:
        next = client.parseDOM(result, 'ul', attrs={'class': 'pager'})[0]
        next = zip(client.parseDOM(next, 'a', ret='href'), client.parseDOM(next, 'a'))
        next = [i[0] for i in next if 'Next' in i[1]][0]

        addDirectoryItem('[I]NEXT[/I]', 'CCcat', image, image, fanart, next)
    except:
        pass

    movieCategory()
Beispiel #22
0
def VCstream(url):
    try:
        url = urlparse.urljoin('http://kisscartoon.me', url)
        result = cloudflare.request(str(url) + '&s=openload')
        items = client.parseDOM(result,
                                'select',
                                attrs={'id': 'selectQuality'})
        items = client.parseDOM(items, 'option', ret='value')

        if not items:
            try:
                url = re.findall('"(https://openload\.co/.+?.mp4")',
                                 str(result))[0]
            except:
                url = re.findall('"(https://2.bp.blogspot.com/.+?)"',
                                 str(result))[0]
            player().run(resolved(url))

    except:
        return
Beispiel #23
0
def CCstream(url):
    try:
        control.idle()

        url = urlparse.urljoin('http://kisscartoon.me', url)

        result = cloudflare.request(url)

        items = client.parseDOM(result,'select', attrs={'id':'selectQuality'}) 
        items = client.parseDOM(items, 'option', ret='value')

        url = []

        for item in items:
            try:
                u = base64.b64decode(item)
                u = u.encode('utf-8')

                if u[-3:] == 'm37': q = '1080P'
                elif u[-3:] == 'm22': q = '720P'
                elif u[-3:] == 'm18': q = '360P'
                else: q = 'UNKNOWN'

                url.append({'q': q, 'u': u})
            except:
                pass

        if len(url) > 1:
            q = [i['q'] for i in url]
            u = [i['u'] for i in url]
            select = control.selectDialog(q)
            if select == -1: return
            url = u[select]

        else:
            url = url[0]['u']

        player().run(url)
    except:
        return
Beispiel #24
0
def VAstream(url):
    try:
        url = urlparse.urljoin('http://kissanime.to', url)

        result = cloudflare.request(url)
        items = client.parseDOM(result,
                                'select',
                                attrs={'id': 'selectQuality'})
        items = client.parseDOM(items, 'option', ret='value')

        if not items:
            url = re.findall('divContentVideo.+?iframe.+?src="(.+?)"',
                             str(result))[0]
            player().run(resolved(url))

        try:
            url = base64.b64decode(items[0])
            url = url.encode('utf-8')

        except:
            pass
        if len(url) > 1: player().run(url)
    except:
        return
    def sources(self, url, hostDict, hostprDict):
        try:
            sources = []

            if url == None: return sources

            if not str(url).startswith('http'):

                if (self.user == '' or self.password == ''): raise Exception()

                data = urlparse.parse_qs(url)
                data = dict([(i, data[i][0]) if data[i] else (i, '') for i in data])

                title = data['tvshowtitle'] if 'tvshowtitle' in data else data['title']

                year = data['year']

                query = urlparse.urljoin(self.base_link, self.search_link)

                post = urllib.urlencode({'search': title})

                title = cleantitle.get(title)

                r = cloudflare.source(query, post=post)

                r = client.parseDOM(r, 'a', ret='href')
                if 'tvshowtitle' in data: r = [(i, re.findall('watch-tvshow-(.+?)-\d+\.html', i)) for i in r]
                else: r = [(i, re.findall('watch-movie-(.+?)-\d+\.html', i)) for i in r]
                r = [(i[0], i[1][0]) for i in r if len(i[1]) > 0]
                r = [i for i in r if title == cleantitle.get(i[1])]
                r = [i[0] for i in r][0]

                r = urlparse.urljoin(self.base_link, r)

                cookie, agent, url = cloudflare.request(r, output='extended')

                if 'season' in data and 'episode' in data:
                    r = client.parseDOM(url, 'a', ret='href')
                    r = [i for i in r if '-s%02de%02d-' % (int(data['season']), int(data['episode'])) in i.lower() and 'episode-' in i.lower()][0]

                    r = urlparse.urljoin(self.base_link, r)

                    cookie, agent, url = cloudflare.request(r, output='extended')


            else:
                r = urlparse.urljoin(self.base_link, url)

                cookie, agent, url = cloudflare.request(r, output='extended')


            quality = 'HD' if '-movie-' in url else 'SD'


            func = re.findall('''["']sources['"]\s*:\s*\[(.*?)\]''', url)[0]
            func = re.findall('''['"]*file['"]*\s*:\s*([^\(]+)''', func)[0]

            u = re.findall('function\s+%s[^{]+{\s*([^}]+)' % func, url)[0]
            u = re.findall('\[([^\]]+)[^+]+\+\s*([^.]+).*?getElementById\("([^"]+)', u)[0]

            a = re.findall('var\s+%s\s*=\s*\[([^\]]+)' % u[1], url)[0]
            b = client.parseDOM(url, 'span', {'id': u[2]})[0]

            url = u[0] + a + b
            url = url.replace('"', '').replace(',', '').replace('\/', '/')
            url += '|' + urllib.urlencode({'Cookie': str(cookie), 'User-Agent': agent, 'Referer': r})


            sources.append({'source': 'cdn', 'quality': quality, 'provider': 'Streamlord', 'url': url, 'direct': True, 'debridonly': False, 'autoplay': False})

            return sources
        except:
            return sources
Beispiel #26
0
    def sources(self, url, hostDict, hostprDict):
        try:
            sources = []

            if url == None: return sources

            r = urlparse.urljoin(self.base_link, url)

            cookie, agent, result = cloudflare.request(r, output='extended')

            f = client.parseDOM(result, 'div', attrs = {'class': 'movieplay'})
            f = client.parseDOM(f, 'iframe', ret='src')

            f = [i for i in f if 'miradetodo' in i]

            links = []
            dupes = []

            for u in f:

                try:
                    id = urlparse.parse_qs(urlparse.urlparse(u).query)['id'][0]

                    if id in dupes: raise Exception()
                    dupes.append(id)

                    try:
                        url = base64.b64decode(id)

                        if 'google' in url: url = directstream.google(url)
                        else: raise Exception()

                        for i in url: links.append({'source': 'gvideo', 'quality': i['quality'], 'url': i['url']})
                        continue
                    except:
                        pass


                    result = cloudflare.source(u, headers={'Referer': r})


                    try:
                        headers = {'X-Requested-With': 'XMLHttpRequest', 'Referer': u}

                        post = re.findall('{link\s*:\s*"([^"]+)', result)[0]
                        post = urllib.urlencode({'link': post})

                        url = urlparse.urljoin(self.base_link, '/stream/plugins/gkpluginsphp.php')
                        url = cloudflare.source(url, post=post, headers=headers)
                        url = json.loads(url)['link']
                        url = [i['link'] for i in url if 'link' in i]

                        for i in url:
                            try: links.append({'source': 'gvideo', 'quality': directstream.googletag(i)[0]['quality'], 'url': i})
                            except: pass

                        continue
                    except:
                        pass

                    try:
                        url = re.findall('AmazonPlayer.*?file\s*:\s*"([^"]+)', result, re.DOTALL)[0]

                        class NoRedirection(urllib2.HTTPErrorProcessor):
                            def http_response(self, request, response): return response

                        o = urllib2.build_opener(NoRedirection)
                        o.addheaders = [('User-Agent', agent)]
                        r = o.open(url)
                        url = r.headers['Location']
                        r.close()

                        links.append({'source': 'cdn', 'quality': 'HD', 'url': url})
                    except:
                        pass
                except:
                    pass


            for i in links: sources.append({'source': i['source'], 'quality': i['quality'], 'provider': 'MiraDeTodo', 'url': i['url'], 'direct': True, 'debridonly': False})

            return sources
        except:
            return sources
Beispiel #27
0
    def sources(self, url, hostDict, hostprDict):
        try:
            sources = []

            if url == None: return sources

            r = urlparse.urljoin(self.base_link, url)

            cookie, agent, result = cloudflare.request(r, output='extended')

            f = client.parseDOM(result, 'div', attrs={'class': 'movieplay'})
            f = [
                re.findall('(?:\"|\')(http.+?miradetodo\..+?)(?:\"|\')', i)
                for i in f
            ]
            f = [i[0] for i in f if len(i) > 0]

            links = []
            dupes = []

            for u in f:

                try:
                    id = urlparse.parse_qs(urlparse.urlparse(u).query)['id'][0]

                    if id in dupes: raise Exception()
                    dupes.append(id)

                    try:
                        if 'acd.php' in u: raise Exception()

                        headers = {
                            'X-Requested-With': 'XMLHttpRequest',
                            'Referer': u
                        }

                        post = urllib.urlencode({'link': id})

                        url = urlparse.urljoin(
                            self.base_link, '/stream/plugins/gkpluginsphp.php')
                        url = cloudflare.source(url,
                                                post=post,
                                                headers=headers)
                        url = json.loads(url)['link']

                        if type(url) is list:
                            url = [{
                                'url': i['link'],
                                'quality': '1080p'
                            } for i in url
                                   if '1080' in i['label']] + [{
                                       'url': i['link'],
                                       'quality': 'HD'
                                   } for i in url if '720' in i['label']]
                        else:
                            url = [{'url': url, 'quality': 'HD'}]

                        for i in url:
                            try:
                                links.append({
                                    'source': 'gvideo',
                                    'quality': i['quality'],
                                    'url': i['url']
                                })
                            except:
                                pass

                        continue
                    except:
                        pass

                    try:
                        result = cloudflare.source(u, headers={'Referer': r})

                        url = re.findall('AmazonPlayer.*?file\s*:\s*"([^"]+)',
                                         result, re.DOTALL)[0]

                        class NoRedirection(urllib2.HTTPErrorProcessor):
                            def http_response(self, request, response):
                                return response

                        o = urllib2.build_opener(NoRedirection)
                        o.addheaders = [('User-Agent', agent)]
                        r = o.open(url)
                        url = r.headers['Location']
                        r.close()

                        links.append({
                            'source': 'cdn',
                            'quality': 'HD',
                            'url': url
                        })
                    except:
                        pass
                except:
                    pass

            for i in links:
                sources.append({
                    'source': i['source'],
                    'quality': i['quality'],
                    'provider': 'MiraDeTodo',
                    'url': i['url'],
                    'direct': True,
                    'debridonly': False
                })

            return sources
        except:
            return sources
    def sources(self, url, hostDict, hostprDict):
        try:
            sources = []

            if url == None: return sources

            if not str(url).startswith('http'):

                data = urlparse.parse_qs(url)
                data = dict([(i, data[i][0]) if data[i] else (i, '') for i in data])

                title = data['tvshowtitle'] if 'tvshowtitle' in data else data['title']

                year = data['year']


                if (self.user == '' or self.password == ''): raise Exception()

                query = urlparse.urljoin(self.base_link, '/login.html')
                post = urllib.urlencode({'username': self.user, 'password': self.password, 'submit': 'Login'})

                try:
                    r, headers, content, cookie = client.source(query, post=post, output='extended')
                    headers = {'Cookie': cookie, 'User-Agent': headers['User-Agent']}
                except:
                    cookie, agent, url = cloudflare.request(query, post=post, output='extended')
                    headers = {'Cookie': cookie, 'User-Agent': agent}


                query = urlparse.urljoin(self.base_link, self.search_link)
                post = urllib.urlencode({'search': title})

                r = cloudflare.source(query, post=post, headers=headers)

                if 'tvshowtitle' in data:
                    r = re.findall('(watch-tvshow-.+?-\d+\.html)', r)
                    r = [(i, re.findall('watch-tvshow-(.+?)-\d+\.html', i)) for i in r]
                else:
                    r = re.findall('(watch-movie-.+?-\d+\.html)', r)
                    r = [(i, re.findall('watch-movie-(.+?)-\d+\.html', i)) for i in r]

                r = [(i[0], i[1][0]) for i in r if len(i[1]) > 0]
                r = [i for i in r if cleantitle.get(title) == cleantitle.get(i[1])]
                r = [i[0] for i in r][0]

                r = urlparse.urljoin(self.base_link, r)

                url = cloudflare.source(r, headers=headers)

                if 'season' in data and 'episode' in data:
                    r = re.findall('(episode-.+?-.+?\d+.+?\d+-\d+.html)', url)
                    r = [i for i in r if '-s%02de%02d-' % (int(data['season']), int(data['episode'])) in i.lower()][0]
                    r = urlparse.urljoin(self.base_link, r)

                    url = cloudflare.source(r, headers=headers)

            else:
                r = urlparse.urljoin(self.base_link, url)
                cookie, agent, url = cloudflare.request(r, output='extended')
                headers = {'Cookie': cookie, 'User-Agent': agent}



            quality = 'HD' if '-movie-' in url else 'SD'


            func = re.findall('''["']sources['"]\s*:\s*\[(.*?)\]''', url)[0]
            func = re.findall('''['"]*file['"]*\s*:\s*([^\(]+)''', func)[0]

            u = re.findall('function\s+%s[^{]+{\s*([^}]+)' % func, url)[0]
            u = re.findall('\[([^\]]+)[^+]+\+\s*([^.]+).*?getElementById\("([^"]+)', u)[0]

            a = re.findall('var\s+%s\s*=\s*\[([^\]]+)' % u[1], url)[0]
            b = client.parseDOM(url, 'span', {'id': u[2]})[0]

            url = u[0] + a + b
            url = url.replace('"', '').replace(',', '').replace('\/', '/')
            url += '|' + urllib.urlencode(headers)  

            sources.append({'source': 'cdn', 'quality': quality, 'provider': 'Streamlord', 'url': url, 'direct': True, 'debridonly': False, 'autoplay': False})

            return sources
        except:
            return sources
Beispiel #29
0
    def sources(self, url, hostDict, hostprDict):
        try:
            sources = []

            if url == None: return sources

            if not str(url).startswith('http'):

                data = urlparse.parse_qs(url)
                data = dict([(i, data[i][0]) if data[i] else (i, '') for i in data])

                title = data['tvshowtitle'] if 'tvshowtitle' in data else data['title']

                year = data['year']

                query = urlparse.urljoin(self.base_link, self.search_link)
                post = urllib.urlencode({'search': title})

                title = cleantitle.get(title)

                r = cloudflare.source(query, post=post)
                r = client.parseDOM(r, 'div', attrs = {'class': 'item movie'})

                r = [client.parseDOM(i, 'a', ret='href') for i in r]
                r = sum(r, [])
                if 'tvshowtitle' in data: r = [(i, re.findall('watch-tvshow-(.+?)-\d+\.html', i)) for i in r]
                else: r = [(i, re.findall('watch-movie-(.+?)-\d+\.html', i)) for i in r]
                r = [(i[0], i[1][0]) for i in r if len(i[1]) > 0]
                r = [i for i in r if title == cleantitle.get(i[1])]
                r = [i[0] for i in r][0]

                r = urlparse.urljoin(self.base_link, r)

                cookie, agent, url = cloudflare.request(r, output='extended')

                atr = [client.parseDOM(i, 'li') for i in client.parseDOM(url, 'td')]
                atr = [re.findall('(\d{4})', i[1])[0] for i in atr if len(i) > 1 and i[0] == 'Released']
                atr = [i for i in atr if i == year][0]

                if 'season' in data and 'episode' in data:
                    r = re.findall('href="(episode[^"]*-[Ss]%02d[Ee]%02d-[^"]+)' % (int(data['season']), int(data['episode'])), url)[0]
                    r = urlparse.urljoin(self.base_link, r)
                    cookie, agent, url = cloudflare.request(r, output='extended')


            else:
                r = urlparse.urljoin(self.base_link, url)

                cookie, agent, url = cloudflare.request(r, output='extended')


            quality = 'HD' if '-movie-' in url else 'SD'

            url = re.findall('''["']sources['"]\s*:\s*\[(.*?)\]''', url)[0]
            url = re.findall('''['"]*file['"]*\s*:\s*['"]*([^'"]+)''', url)[0]

            url += '|' + urllib.urlencode({'Cookie': str(cookie), 'User-Agent': agent, 'Referer': r})

            sources.append({'source': 'cdn', 'quality': quality, 'provider': 'Streamlord', 'url': url, 'direct': True, 'debridonly': False, 'autoplay': False})

            return sources
        except:
            return sources
Beispiel #30
0
    def sources(self, url, hostDict, hostprDict):
        try:
            sources = []

            if url == None: return sources

            if not str(url).startswith('http'):

                data = urlparse.parse_qs(url)
                data = dict([(i, data[i][0]) if data[i] else (i, '')
                             for i in data])

                title = data['tvshowtitle'] if 'tvshowtitle' in data else data[
                    'title']

                year = data['year']

                query = urlparse.urljoin(self.base_link, self.search_link)
                post = urllib.urlencode({'search': title})

                title = cleantitle.get(title)

                r = cloudflare.source(query, post=post)
                r = client.parseDOM(r, 'div', attrs={'class': 'item movie'})

                r = [client.parseDOM(i, 'a', ret='href') for i in r]
                r = sum(r, [])
                if 'tvshowtitle' in data:
                    r = [(i, re.findall('watch-tvshow-(.+?)-\d+\.html', i))
                         for i in r]
                else:
                    r = [(i, re.findall('watch-movie-(.+?)-\d+\.html', i))
                         for i in r]
                r = [(i[0], i[1][0]) for i in r if len(i[1]) > 0]
                r = [i for i in r if title == cleantitle.get(i[1])]
                r = [i[0] for i in r][0]

                r = urlparse.urljoin(self.base_link, r)

                cookie, agent, url = cloudflare.request(r, output='extended')

                atr = [
                    client.parseDOM(i, 'li')
                    for i in client.parseDOM(url, 'td')
                ]
                atr = [
                    re.findall('(\d{4})', i[1])[0] for i in atr
                    if len(i) > 1 and i[0] == 'Released'
                ]
                atr = [i for i in atr if i == year][0]

                if 'season' in data and 'episode' in data:
                    r = re.findall(
                        'href="(episode[^"]*-[Ss]%02d[Ee]%02d-[^"]+)' %
                        (int(data['season']), int(data['episode'])), url)[0]
                    r = urlparse.urljoin(self.base_link, r)
                    cookie, agent, url = cloudflare.request(r,
                                                            output='extended')

            else:
                r = urlparse.urljoin(self.base_link, url)

                cookie, agent, url = cloudflare.request(r, output='extended')

            quality = 'HD' if '-movie-' in url else 'SD'

            url = re.findall('''["']sources['"]\s*:\s*\[(.*?)\]''', url)[0]
            url = re.findall('''['"]*file['"]*\s*:\s*['"]*([^'"]+)''', url)[0]

            url += '|' + urllib.urlencode({
                'Cookie': str(cookie),
                'User-Agent': agent,
                'Referer': r
            })

            sources.append({
                'source': 'cdn',
                'quality': quality,
                'provider': 'Streamlord',
                'url': url,
                'direct': True,
                'debridonly': False,
                'autoplay': False
            })

            return sources
        except:
            return sources
Beispiel #31
0
    a = requests.get(url+'/schedule/')
    ans = a.text
    page = re.findall('iframe src="(.+?)"',ans)[0]
    game_page = requests.get(url+page)
    a =game_page.text
    b = a.split('<hr>')
    sports = re.compile('<a href="(.+?)" target="(.+?)">(.+?)</a>').findall(b[0])

    for url, blank, name in sports:
        name = name
        url =  url.replace('wiz1.net/','www.wiz1.net/watch')
        url = build_url({'mode': 'wiz1', 'name':name, 'icon':icon, 'url':url})
        addDirItem(name,icon,fanart,url)
        
    burl = 'http://www.ibrod.tv/index.html'
    req = cloudflare.request(burl)
    heading = client.parseDOM(req, 'a', attrs={'title':'Watch UK TV Online'})[0]
    slist = req.split(str(heading))[1].split('a class')[0]
    title = re.findall('title="(.+?)"',str(slist))
    turl = re.findall('href="(.+?)"',str(slist))
    joint = zip(title,turl)
    for title,turl in joint:
        title = title.replace('Watch ','').replace('Online','').upper()
        turl = 'http://www.ibrod.tv/'+str(turl)
        url = build_url({'mode': 'UKSPORT', 'name':title, 'icon':icon, 'url':turl})
        addDirItem(title,icon,fanart,url)
        
    channels = re.compile('(\d+?:\d+? )<font color=".+?"><b>(.+?)</b></font>(.+?)<a href="(.+?)" target=".+?">(.+?)<').findall(a)   
    for time, sport, detail, url, chan in channels:
        times = time.split(':')
        if times[0][0]=='0':