Exemple #1
0
 def sources(self, url, hostDict, hostprDict):
     try:
         hostDict = hostDict + hostprDict
         sources = []
         if url == None:
             return sources
         try:
             vurl = urlparse.urljoin(self.base_link, url)
             r = client.request(vurl)
             links = re.compile('<iframe.+?src="(.+?)"',
                                re.DOTALL).findall(r)
             for u in links:
                 if not 'http' in u:
                     continue
                 quality = source_tools.get_quality(u)
                 info = source_tools.get_info(u)
                 valid, host = source_utils.is_host_valid(u, hostDict)
                 if valid:
                     sources.append({
                         'source': host,
                         'quality': quality,
                         'language': 'en',
                         'url': u,
                         'info': info,
                         'direct': False,
                         'debridonly': False
                     })
         except:
             pass
         try:
             vurl2 = urlparse.urljoin(self.base_link, url + '-mirror-2/')
             r2 = client.request(vurl2)
             links2 = re.compile('<iframe.+?src="(.+?)"',
                                 re.DOTALL).findall(r2)
             for u2 in links2:
                 if not 'http' in u2:
                     continue
                 quality2 = source_tools.get_quality(u2)
                 info2 = source_tools.get_info(u2)
                 valid, host2 = source_utils.is_host_valid(u2, hostDict)
                 if valid:
                     sources.append({
                         'source': host2,
                         'quality': quality2,
                         'language': 'en',
                         'url': u2,
                         'info': info2,
                         'direct': False,
                         'debridonly': False
                     })
         except:
             pass
         return sources
     except:
         return sources
Exemple #2
0
 def sources(self, url, hostDict, hostprDict):
     try:
         sources = []
         if url == None:
             return sources
         r = client.request(url,
                            headers=client.randommobileagent('android'))
         match = re.compile('<input type="hidden" value="(.+?)"',
                            re.DOTALL).findall(r)
         for url in match:
             url = "https:" + url if not url.startswith('http') else url
             if 'vidstreaming.io' in url:
                 r = client.request(
                     url, headers=client.randommobileagent('android'))
                 match = re.compile('data-video="(.+?)"',
                                    re.DOTALL).findall(r)
                 for link in match:
                     link = "https:" + link if not link.startswith(
                         'http') else link
                     valid, host = source_tools.checkHost(link, hostDict)
                     if valid:
                         info = source_tools.get_info(link)
                         quality = source_tools.get_quality(link)
                         sources.append({
                             'source': host,
                             'quality': quality,
                             'language': 'en',
                             'url': link,
                             'info': info,
                             'direct': False,
                             'debridonly': False
                         })
             else:
                 valid, host = source_tools.checkHost(url, hostDict)
                 if valid:
                     info = source_tools.get_info(url)
                     quality = source_tools.get_quality(url)
                     sources.append({
                         'source': host,
                         'quality': quality,
                         'language': 'en',
                         'url': url,
                         'info': info,
                         'direct': False,
                         'debridonly': False
                     })
         return sources
     except:
         return sources
Exemple #3
0
 def sources(self, url, hostDict, hostprDict):
     try:
         hostDict = hostDict + hostprDict
         sources = []
         if url == None:
             return sources
         r = client.request(url)
         match = re.compile('<iframe.+?src="(.+?)"', re.DOTALL).findall(r)
         for url in match:
             quality = source_tools.get_quality(url)
             info = source_tools.get_info(url)
             valid, host = source_utils.is_host_valid(url, hostDict)
             if valid or 'gogoanime' in url:
                 sources.append({
                     'source': host,
                     'quality': quality,
                     'language': 'en',
                     'url': url,
                     'info': info,
                     'direct': False,
                     'debridonly': False
                 })
         return sources
     except:
         return sources
Exemple #4
0
 def sources(self, url, hostDict, hostprDict):
     try:
         sources = []
         if url == None:
             return sources
         r = client.request(url)
         links = re.compile('<iframe.+?src="(.+?)"', re.DOTALL).findall(r)
         for u in links:
             r = client.request(u)
             match = getSum.findSum(r)
             for link in match:
                 valid, host = source_tools.checkHost(link, hostDict)
                 if valid:
                     info = source_tools.get_info(link)
                     quality = source_tools.get_quality(link)
                     sources.append({
                         'source': host,
                         'quality': quality,
                         'language': 'en',
                         'url': link,
                         'info': info,
                         'direct': False,
                         'debridonly': False
                     })
         return sources
     except:
         return sources
Exemple #5
0
 def sources(self, url, hostDict, hostprDict):
     try:
         sources = []
         if url == None:
             return sources
         r = getSum.get(url)
         match = getSum.findSum(r)
         for url in match:
             if 'steepto.com' in url:
                 continue
             url = url.encode('utf-8')
             info = source_tools.get_info(url)
             quality = source_tools.get_quality(url)
             sources.append({
                 'source': 'Direct',
                 'quality': quality,
                 'language': 'en',
                 'url': url,
                 'info': info,
                 'direct': True,
                 'debridonly': False
             })
         return sources
     except:
         return sources
Exemple #6
0
 def sources(self, url, hostDict, hostprDict):
     try:
         sources = []
         if url == None:
             return sources
         hostDict = hostprDict + hostDict
         r = getSum.get(url, Type='cfscrape')
         match = re.compile(
             '(?:file|source)(?:\:)\s*(?:\"|\')(.+?)(?:\"|\')').findall(r)
         for url in match:
             url = url.encode('utf-8')
             info = source_tools.get_info(url)
             quality = source_tools.get_quality(url)
             sources.append({
                 'source': 'Direct',
                 'quality': quality,
                 'language': 'en',
                 'url': url,
                 'info': info,
                 'direct': True,
                 'debridonly': False
             })
         return sources
     except:
         return sources
Exemple #7
0
 def sources(self, url, hostDict, hostprDict):
     try:
         sources = []
         if url == None:
             return sources
         r = client.request(url)
         match = re.compile('<iframe src="(.+?)"').findall(r)
         for url in match:
             r = client.request(url)
             if 'playpanda' in url:
                 match = re.compile("url: '(.+?)',").findall(r)
             else:
                 match = re.compile('file: "(.+?)",').findall(r)
             for url in match:
                 url = url.replace('\\', '')
                 if url in str(sources):
                     continue
                 info = source_tools.get_info(url)
                 quality = source_tools.get_quality(url)
                 sources.append({
                     'source': 'Direct',
                     'quality': quality,
                     'language': 'en',
                     'url': url,
                     'info': info,
                     'direct': False,
                     'debridonly': False
                 })
         return sources
     except:
         return sources
Exemple #8
0
 def sources(self, url, hostDict, hostprDict):
     try:
         sources = []
         if url == None:
             return sources
         r = client.request(url,
                            headers=client.randommobileagent('android'))
         match = re.compile('<option data-em="(.+?)"', re.DOTALL).findall(r)
         for u in match:
             r = base64.b64decode(u)
             r = client.parseDOM(r, 'iframe', ret='src')[0]
             r = client.request(r,
                                headers=client.randommobileagent('android'))
             try:
                 u = client.parseDOM(r, 'iframe', ret='src')[0]
             except:
                 u = client.parseDOM(r, 'source', ret='src')[0]
             valid, host = source_tools.checkHost(u, hostDict)
             if valid:
                 info = source_tools.get_info(u)
                 quality = source_tools.get_quality(u)
                 sources.append({
                     'source': host,
                     'quality': quality,
                     'language': 'en',
                     'url': u,
                     'info': info,
                     'direct': False,
                     'debridonly': False
                 })
         return sources
     except:
         return sources
Exemple #9
0
 def sources(self, url, hostDict, hostprDict):
     try:
         sources = []
         if url is None:
             return sources
         r = client.request(url, headers=self.headers)
         match = re.compile('<iframe src="(.+?)"').findall(r)
         for url in match:
             r = client.request(url, headers=self.headers)
             if 'playpanda' in url:
                 match = re.compile("url: '(.+?)',").findall(r)
             else:
                 match = re.compile('file: "(.+?)",').findall(r)
             for url in match:
                 url = url.replace('\\', '')
                 if url in str(sources):
                     continue
                 info = source_tools.get_info(url)
                 quality = source_tools.get_quality(url)
                 sources.append({
                     'source': 'Direct',
                     'quality': quality,
                     'language': 'en',
                     'url': url,
                     'info': info,
                     'direct': False,
                     'debridonly': False
                 })
         return sources
     except Exception:
         failure = traceback.format_exc()
         log_utils.log('---TOONOVA Testing - Exception: \n' + str(failure))
         return sources
Exemple #10
0
def getMore(link, hostDict):
    sources = []
    if link == None:
        return sources
    elif "vidnode.net" in link:
        for source in more_vidnode(link, hostDict):
            sources.append(source)
    elif "vidlink.org" in link:
        for source in more_vidlink(link, hostDict):
            sources.append(source)
    elif "gomostream.com" in link:
        for source in more_gomo(link, hostDict):
            sources.append(source)
    elif "123moviesplayer.com" in link:
        for source in more_123moviesplayer(link, hostDict):
            sources.append(source)
    else:
        valid, host = source_tools.checkHost(link, hostDict)
        if valid:
            quality = source_tools.get_quality(link)
            info = source_tools.get_info(link)
            sources.append({
                'source': host,
                'quality': quality,
                'language': 'en',
                'url': link,
                'info': info,
                'direct': False,
                'debridonly': False
            })
    return sources
Exemple #11
0
def more_vidnode(link, hostDict):
    sources = []  # By Shellc0de
    try:
        headers = {
            'Host': 'vidnode.net',
            'User-Agent':
            'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.94 Safari/537.36',
            'Upgrade-Insecure-Requests': '1',
            'Accept-Language': 'en-US,en;q=0.9'
        }
        response = client.request(link, headers=headers, timeout=5)
        urls = re.findall(
            '''\{file:\s*['"]([^'"]+).*?label:\s*['"](\d+\s*P)['"]''',
            response, re.DOTALL | re.I)
        if urls:
            for url, qual in urls:
                host = url.split('//')[1].replace('www.', '')
                host = host.split('/')[0].lower()  # 'CDN'
                valid, host = source_tools.checkHost(host, hostDict)
                if valid:
                    quality = source_tools.get_quality(qual, url)
                    info = source_tools.get_info(qual, url)
                    sources.append({
                        'source': host,
                        'quality': quality,
                        'language': 'en',
                        'url': url,
                        'info': info,
                        'direct': True,
                        'debridonly': False
                    })
        return sources
    except:
        return sources
Exemple #12
0
 def sources(self, url, hostDict, hostprDict):
     try:
         hostDict = hostDict + hostprDict
         sources = []
         if url == None:
             return sources
         url = urlparse.urljoin(self.base_link, url)
         r = client.request(url)
         r = client.parseDOM(r, 'a', ret='data-video')
         for u in r:
             if not u.startswith('http'):
                 u = "https:" + u
             info = source_tools.get_info(u)
             quality = source_tools.get_quality(u)
             valid, host = source_utils.is_host_valid(u, hostDict)
             if valid:
                 sources.append({
                     'source': host,
                     'quality': quality,
                     'language': 'en',
                     'url': u,
                     'info': info,
                     'direct': False,
                     'debridonly': False
                 })
         return sources
     except:
         return sources
Exemple #13
0
def more_vidlink(link, hostDict):
    sources = []  # By Shellc0de
    try:
        ua = {
            'User-Agent':
            'Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:65.0) Gecko/20100101 Firefox/65.0'
        }
        postID = link.split('/embed/')[1]
        post_link = 'https://vidlink.org/embed/update_views'
        payload = {'postID': postID}
        headers = ua
        headers['X-Requested-With'] = 'XMLHttpRequest'
        headers['Referer'] = link
        ihtml = client.request(post_link, post=payload, headers=headers)
        linkcode = jsunpack.unpack(ihtml).replace('\\', '')
        try:
            extra_link = re.findall(r'var oploadID="(.+?)"', linkcode)[0]
            oload = 'https://openload.co/embed/' + extra_link
            sources.append({
                'source': 'openload.co',
                'quality': '1080p',
                'language': 'en',
                'url': oload,
                'direct': False,
                'debridonly': False
            })
        except Exception:
            pass
        links = re.findall(r'var file1="(.+?)"', linkcode)[0]
        stream_link = links.split('/pl/')[0]
        headers = {
            'Referer':
            'https://vidlink.org/',
            'User-Agent':
            'Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:65.0) Gecko/20100101 Firefox/65.0'
        }
        response = client.request(links, headers=headers)
        urls = re.findall(r'[A-Z]{10}=\d+x(\d+)\W[A-Z]+=\"\w+\"\s+\/(.+?)\.',
                          response)
        if urls:
            for qual, url in urls:
                url = stream_link + '/' + url + '.m3u8'
                quality = source_tools.get_quality(qual, url)
                info = source_tools.get_info(qual, url)
                sources.append({
                    'source': 'GVIDEO',
                    'quality': quality,
                    'language': 'en',
                    'url': url,
                    'info': info,
                    'direct': True,
                    'debridonly': False
                })
        return sources
    except:
        return sources
Exemple #14
0
def more_123moviesplayer(link, hostDict):
    sources = []  # Gomo Clone
    try:
        gomo_link = 'https://123moviesplayer.com/decoding_v3.php'
        User_Agent = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36'
        result = client.request(link)
        tc = re.compile('tc = \'(.+?)\';').findall(result)[0]
        if (tc):
            token = re.compile('"_token": "(.+?)",').findall(result)[0]
            post = {'tokenCode': tc, '_token': token}

            def tsd(tokenCode):
                _13x48X = tokenCode
                _71Wxx199 = _13x48X[4:18][::-1]
                return _71Wxx199 + "18" + "432782"

            headers = {
                'Host': '123moviesplayer.com',
                'Referer': link,
                'User-Agent': User_Agent,
                'x-token': tsd(tc)
            }
            result = client.request(gomo_link,
                                    XHR=True,
                                    post=post,
                                    headers=headers)
            urls = json.loads(result)
            for url in urls:
                if '123moviesplayer.com' in url:
                    sources.append({
                        'source': 'CDN',
                        'quality': 'SD',
                        'language': 'en',
                        'url': url,
                        'direct': True,
                        'debridonly': False
                    })
                else:
                    valid, host = source_tools.checkHost(url, hostDict)
                    if valid:
                        quality = source_tools.get_quality(url)
                        info = source_tools.get_info(url)
                        sources.append({
                            'source': host,
                            'quality': quality,
                            'language': 'en',
                            'url': url,
                            'info': info,
                            'direct': False,
                            'debridonly': False
                        })
        return sources
    except:
        return sources
Exemple #15
0
 def sources(self, url, hostDict, hostprDict):
     try:
         sources = []
         if url == None:
             return sources
         page = client.request(url,
                               headers=client.randommobileagent('android'),
                               timeout='3')
         links = client.parseDOM(page,
                                 'table',
                                 attrs={'class': 'movie_version'})
         for link in links:
             try:
                 qual = re.compile('<span class="quality_(.+?)"></span>',
                                   re.DOTALL).findall(link)[0]
                 hoster = re.compile(
                     '<span class="version_host">(.+?)</span>',
                     re.DOTALL).findall(link)[0]
                 href = re.compile('<a href="(.+?)" class=',
                                   re.DOTALL).findall(link)[0]
                 vlink = self.base_link + href
                 valid, host = source_tools.checkHost(hoster, hostDict)
                 if valid and vlink not in str(sources):
                     quality = source_tools.get_quality(qual)
                     info = source_tools.get_info(qual)
                     sources.append({
                         'source': host,
                         'quality': quality,
                         'language': 'en',
                         'url': vlink,
                         'info': info,
                         'direct': False,
                         'debridonly': False
                     })
             except:
                 pass
         return sources
     except:
         return sources
Exemple #16
0
 def sources(self, url, hostDict, hostprDict):
     try:
         sources = []
         if url == None:
             return sources
         r = getSum.get(url)
         match = getSum.findSum(r)
         for url in match:
             info = source_tools.get_info(url)
             quality = source_tools.get_quality(url)
             valid, host = source_utils.is_host_valid(url, hostDict)
             if valid:
                 sources.append({
                     'source': host,
                     'quality': quality,
                     'language': 'en',
                     'url': url,
                     'info': info,
                     'direct': False,
                     'debridonly': False
                 })
         return sources
     except:
         return sources
Exemple #17
0
 def sources(self, url, hostDict, hostprDict):
     try:
         hostDict = hostDict + hostprDict
         sources = []
         if url == None:
             return sources
         r = self.scraper.get(url).content
         r = client.parseDOM(r, 'iframe', ret='src')
         for u in r:
             info = source_tools.get_info(u)
             quality = source_tools.get_quality(u)
             valid, host = source_tools.checkHost(u, hostDict)
             sources.append({
                 'source': host,
                 'quality': quality,
                 'language': 'en',
                 'url': u,
                 'info': info,
                 'direct': False,
                 'debridonly': False
             })
         return sources
     except:
         return sources