예제 #1
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]
                    url = gkplugins.decrypter(198, 128).decrypt(
                        url,
                        base64.urlsafe_b64decode(
                            'bW5pcUpUcUJVOFozS1FVZWpTb00='),
                        'ECB').split('\0')[0]

                    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
예제 #2
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)

            video_id = re.compile('video_id *= *[\'|\"](.+?)[\'|\"]').findall(result)[0]
            post = urllib.urlencode({'video_id': video_id})

            result = client.source(urlparse.urljoin(self.base_link, self.info_link), post=post)

            u = [i for i in result.split('&') if 'google' in i][0]
            u = urllib.unquote_plus(u)
            u = [urllib.unquote_plus(i.split('|')[-1]) for i in u.split(',')]
            u = [googleplus.tag(i)[0] for i in u]
            u = [i for i in u if i['quality'] in ['1080p', 'HD']]

            for i in u: sources.append({'source': 'GVideo', 'quality': i['quality'], 'provider': 'Afdah', 'url': i['url']})

            return sources
        except:
            return sources
예제 #3
0
    def get_sources(self, url, hosthdDict, hostDict, locDict):
        try:
            sources = []

            if url == None:
                return sources

            query = re.compile("(\d*)").findall(url)[0]
            query = urlparse.urljoin(self.base_link, self.content_link % query)
            query += self.__extra()

            result = client.source(query)
            result = json.loads(result)
            result = self.__decrypt(self.data_key, result["data"])
            result = json.loads(result)
            result = result["listvideos"]

            content = re.compile("(.+?)\sS\d*E\d*$").findall(url)

            if len(content) == 0:
                links = [i["film_id"] for i in result]
            else:
                ep = re.compile(".+?\s(S\d*E\d*)$").findall(url)[0]
                links = [i["film_id"] for i in result if ep in i["film_name"].encode("utf-8").upper()]

            for l in links[:3]:
                try:
                    url = urlparse.urljoin(self.base_link, self.source_link % l)
                    url += self.__extra()

                    url = client.source(url)
                    url = json.loads(url)

                    url = self.__decrypt(self.data_key, url["data"])
                    url = json.loads(url)["videos"]
                    url = [self.__decrypt(self.film_key, i["film_link"]) for i in url]

                    url = "#".join(url)
                    url = url.split("#")
                    url = [i for i in url if "http" in i and "google" in i]
                    url = [googleplus.tag(i)[0] for i in url]

                    for i in url:
                        sources.append(
                            {"source": "GVideo", "quality": i["quality"], "provider": "GVcenter", "url": i["url"]}
                        )
                except:
                    pass

            return sources
        except:
            return sources
예제 #4
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)

            url = client.parseDOM(result, "div", attrs = { "class": "fullwindowlink" })[0]
            url = client.parseDOM(url, "a", ret="href")[0]
            url = urlparse.urljoin(self.base_link , url)

            result = client.source(url)
            result = client.parseDOM(result, "body")[0]

            post = re.compile('movie_player_file *= *"(.+?)"').findall(result)[0]
            post = urllib.urlencode({'url': post})

            url = client.parseDOM(result, "script", ret="src", attrs = { "type": ".+?" })[0]
            url = client.source(url)
            url = url.replace('\n','')
            url = re.compile('getServerHost.+?return\s+"(.+?)"').findall(url)[0]

            headers = { 'Host': 'hdmoviezone.net',
            'Connection': 'keep-alive',
            'Accept': 'text/html, */*; q=0.01',
            'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8',
            'Origin': self.base_link }

            result = client.source(url, post=post, headers=headers)
            result = json.loads(result)
            result = result['content']

            links = [i['url'] for i in result]

            for url in links:
                try:
                    i = googleplus.tag(url)[0]
                    sources.append({'source': 'GVideo', 'quality': i['quality'], 'provider': 'Moviezone', 'url': i['url']})
                except:
                    pass

            return sources
        except:
            return sources
예제 #5
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
예제 #6
0
    def get_sources(self, url, hosthdDict, hostDict, locDict):
        try:
            sources = []

            if url == None: return sources

            query = re.compile('(\d*)').findall(url)[0]
            query = urlparse.urljoin(self.base_link, self.content_link % query)
            query += self.__extra()

            result = client.source(query)
            result = json.loads(result)
            result = self.__decrypt(self.data_key, result['data'])
            result = json.loads(result)
            result = result['listvideos']

            content = re.compile('(.+?)\sS\d*E\d*$').findall(url)

            if len(content) == 0:
                links = [i['film_id'] for i in result]
            else:
                ep = re.compile('.+?\s(S\d*E\d*)$').findall(url)[0]
                links = [
                    i['film_id'] for i in result
                    if ep in i['film_name'].encode('utf-8').upper()
                ]

            for l in links[:3]:
                try:
                    url = urlparse.urljoin(self.base_link,
                                           self.source_link % l)
                    url += self.__extra()

                    url = client.source(url)
                    url = json.loads(url)

                    url = self.__decrypt(self.data_key, url['data'])
                    url = json.loads(url)['videos']
                    url = [
                        self.__decrypt(self.film_key, i['film_link'])
                        for i in url
                    ]

                    url = '#'.join(url)
                    url = url.split('#')
                    url = [i for i in url if 'http' in i and 'google' in i]
                    url = [googleplus.tag(i)[0] for i in url]

                    for i in url:
                        sources.append({
                            'source': 'GVideo',
                            'quality': i['quality'],
                            'provider': 'GVcenter',
                            'url': i['url']
                        })
                except:
                    pass

            return sources
        except:
            return sources
예제 #7
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)

            url = client.parseDOM(result,
                                  "div",
                                  attrs={"class": "fullwindowlink"})[0]
            url = client.parseDOM(url, "a", ret="href")[0]
            url = urlparse.urljoin(self.base_link, url)

            result = client.source(url)
            result = client.parseDOM(result, "body")[0]

            post = re.compile('movie_player_file *= *"(.+?)"').findall(
                result)[0]
            post = urllib.urlencode({'url': post})

            url = client.parseDOM(result,
                                  "script",
                                  ret="src",
                                  attrs={"type": ".+?"})[0]
            url = client.source(url)
            url = url.replace('\n', '')
            url = re.compile('getServerHost.+?return\s+"(.+?)"').findall(
                url)[0]

            headers = {
                'Host': 'hdmoviezone.net',
                'Connection': 'keep-alive',
                'Accept': 'text/html, */*; q=0.01',
                'Content-Type':
                'application/x-www-form-urlencoded; charset=UTF-8',
                'Origin': self.base_link
            }

            result = client.source(url, post=post, headers=headers)
            result = json.loads(result)
            result = result['content']

            links = [i['url'] for i in result]

            for url in links:
                try:
                    i = googleplus.tag(url)[0]
                    sources.append({
                        'source': 'GVideo',
                        'quality': i['quality'],
                        'provider': 'Moviezone',
                        'url': i['url']
                    })
                except:
                    pass

            return sources
        except:
            return sources