Esempio n. 1
0
    def __resolve(self, result):
        try:
            result = client.parseDOM(result, 'div', attrs={'id': 'player'})[0]

            try:
                url = client.parseDOM(result, 'iframe', ret='src')[0]
            except:
                pass
            try:
                url = base64.b64decode(
                    re.compile('decode\("(.+?)"').findall(result)[0])
            except:
                pass

            if 'proxy.link=tunemovie' in url:
                url = re.compile('proxy[.]link=tunemovie[*]([^&]+)').findall(
                    url)[-1]

                key = base64.b64decode('Q05WTmhPSjlXM1BmeFd0UEtiOGg=')
                decrypter = pyaes.Decrypter(
                    pyaes.AESModeOfOperationECB(key + (24 - len(key)) * '\0'))
                url = url.decode('hex')
                url = decrypter.feed(url) + decrypter.feed()

            url = resolvers.request(url)
            return url
        except:
            return
Esempio n. 2
0
 def __decrypt(self, key, txt):
     try:
         decrypter = pyaes.Decrypter(pyaes.AESModeOfOperationECB(key))
         txt = decrypter.feed(txt) + decrypter.feed()
         return txt
     except:
         return
 def __encrypt(self, key, txt):
     try:
         encrypter = pyaes.Encrypter(pyaes.AESModeOfOperationECB(key))
         txt = encrypter.feed(txt) + encrypter.feed()
         return txt
     except:
         return
Esempio n. 4
0
 def __decrypt(self, key, txt):
     try:
         key = base64.b64decode(key)
         decrypter = pyaes.Decrypter(pyaes.AESModeOfOperationECB(key))
         txt = base64.decodestring(txt)
         txt = decrypter.feed(txt) + decrypter.feed()
         return txt
     except:
         return
Esempio n. 5
0
 def _gkdecrypt(self, key, str):
     try:
         key += (24 - len(key)) * '\0'
         decrypter = pyaes.Decrypter(pyaes.AESModeOfOperationECB(key))
         str = decrypter.feed(str.decode('hex')) + decrypter.feed()
         str = str.split('\0', 1)[0]
         return str
     except:
         return
Esempio n. 6
0
    def get_sources(self, url, hosthdDict, hostDict, locDict):
        try:
            sources = []

            if url == None: return sources

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

            result = client.source(url)
            u = client.parseDOM(result,
                                'meta',
                                ret='content',
                                attrs={'property': 'og:url'})[0]
            links = re.compile(
                '<a href="([?]link_id=.+?)".+?>(.+?)</a>').findall(result)
            links = [u + i[0] for i in links if 'server' in i[1].lower()]

            for u in links[:3]:
                try:
                    result = client.source(u)

                    url = client.parseDOM(result,
                                          'source',
                                          ret='src',
                                          attrs={'type': 'video/.+?'})
                    if len(url) > 0:
                        i = googleplus.tag(url[0])[0]
                        sources.append({
                            'source': 'GVideo',
                            'quality': i['quality'],
                            'provider': 'Clickplay',
                            'url': i['url']
                        })

                    url = re.compile(
                        'proxy[.]link=clickplay[*](.+?)"').findall(result)[-1]

                    key = base64.b64decode('bW5pcUpUcUJVOFozS1FVZWpTb00=')
                    decrypter = pyaes.Decrypter(
                        pyaes.AESModeOfOperationECB(key +
                                                    (24 - len(key)) * '\0'))
                    url = url.decode('hex')
                    url = decrypter.feed(url) + decrypter.feed()

                    if 'google' in url: source = 'GVideo'
                    elif 'vk.com' in url: source = 'VK'
                    else: raise Exception()

                    url = resolvers.request(url)
                    for i in url:
                        sources.append({
                            'source': source,
                            'quality': i['quality'],
                            'provider': 'Clickplay',
                            'url': i['url']
                        })
                except:
                    pass

            return sources
        except:
            return sources