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