예제 #1
0
    def GetFileHosts(self, id, other_names, region, language, list, lock,
                     message_queue):

        from entertainment.net import Net
        net = Net()

        clean_id = id.replace('_', ' ').lower()

        for blogs in self.BLOG:

            import re

            r = self.base_url % blogs

            content = net.http_GET(r).content

            POSTER = re.compile('<poster>(.+?)</poster>').findall(content)[0]

            match = re.compile('<title>(.+?)</title>.+?link>(.+?)</',
                               re.DOTALL).findall(content)

            for name, RTMP in match:
                if clean_id.replace(' ', '') in name.replace(' ', '').lower():

                    self.AddLiveLink(list, name, RTMP, host=POSTER)
예제 #2
0
    def GetFileHostsForContent(self, title, name, year, season, episode, type,
                               list, lock, message_queue):

        import urllib2
        import re
        from entertainment.net import Net
        net = Net()

        title = self.CleanTextForSearch(title)
        name = self.CleanTextForSearch(name)

        season_pull = "0%s" % season if len(season) < 2 else season
        episode_pull = "0%s" % episode if len(episode) < 2 else episode

        tv_url = 'http://www.myvideolinks.eu/index.php?s=%s+S%sE%s' % (
            name.replace(' ', '+'), season_pull, episode_pull)
        movie_url = 'http://www.myvideolinks.eu/index.php?s=%s+%s' % (
            name.replace(' ', '+'), year)

        if type == 'movies':
            html = net.http_GET(movie_url).content
            for item in re.finditer(r'<h4><a href="(.+?)" rel="bookmark"',
                                    html, re.I):
                url = item.group(1)
                self.GetFileHosts(url, list, lock, message_queue)

        elif type == 'tv_episodes':
            html = net.http_GET(tv_url).content
            for item in re.finditer(r'<h4><a href="(.+?)" rel="bookmark"',
                                    html, re.I):
                url = item.group(1)
                self.GetFileHosts(url, list, lock, message_queue)
예제 #3
0
    def Resolve(self, url):

        import re
        from entertainment.net import Net
        net = Net(user_agent=self.UA)
        url = url.replace('muchmovies.org', 'umovies.me')
        try:
            net.set_cookies(self.cookie_file)
            content = net.http_GET(url).content
            print '##########################'
            print 'NET'
        except:
            from entertainment import cloudflare
            content = cloudflare.solve(url, self.cookie_file, self.UA)
        content = content.replace('\n', '')

        link = content.split('href=')
        for p in link:

            if '.mp4' in p:
                resolved_media_url = re.compile('"(.+?)"').findall(p)[0]
                host = resolved_media_url.split('//')[1]
                host = host.split('/')[0]
                cookie = open(self.cookie_file).read()
                __cfduid = re.compile('__cfduid=(.+?);').findall(cookie)[0]
                cf_clearance = re.compile('cf_clearance="(.+?)"').findall(
                    cookie)[0]
                COOKIE = '__cfduid=%s; cf_clearance=%s' % (__cfduid,
                                                           cf_clearance)

                resolved_media_url = resolved_media_url + '|User-Agent=' + self.UA + '&Referrer=' + url + '&host=' + host + '&Cookie=' + COOKIE
                print resolved_media_url
        return resolved_media_url
예제 #4
0
    def GetFileHostsForContent(self, title, name, year, season, episode, type,
                               list, lock, message_queue):
        from entertainment.net import Net
        import re

        net = Net(cached=False)

        seasonshit = "0%s" % season if len(season) < 2 else season
        episodeshit = "0%s" % episode if len(episode) < 2 else episode
        valid_constructor = 'S%sE%s' % (seasonshit, episodeshit)
        title = self.CleanTextForSearch(title)
        name = self.CleanTextForSearch(name)

        if type == 'tv_episodes':

            search_url_digit = "%s/?s=%s%sS%sE%s&cat=&cat=TV-XviD,TV-Mp4,TV-720p,TV-480p," % (
                self.base_url, name.replace(
                    ' ', '+').lower(), '%20', seasonshit, episodeshit)
        else:
            search_url_digit = "%s/?s=%s+%s&cat=Movies-XviD,Movies-720p,Movies-480p,Movies-Foreign,Movies-DVDR," % (
                self.base_url, name.replace(' ', '+').lower(), year)

        content = net.http_GET(search_url_digit).content
        match = re.compile(
            "<a href='http://tv-release.pw/(\d*\/.+?)'").findall(content)

        for url in match:
            self.GetFileHosts(self.base_url + '/' + url, list, lock,
                              message_queue)
예제 #5
0
    def GetFileHosts(self, url, list, lock, message_queue, referer):
        import re

        from entertainment.net import Net
        net = Net()

        headers = {
            'Host': 'freetvserieshd.com',
            'Connection': 'keep-alive',
            'Cache-Control': 'max-age=0',
            'Accept':
            'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8',
            'Upgrade-Insecure-Requests': '1',
            'User-Agent':
            'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.80 Safari/537.36',
            'Referer': referer,
            'Accept-Encoding': 'gzip, deflate, sdch',
            'Accept-Language': 'en-US,en;q=0.8'
        }

        content = net.http_GET(url, headers=headers).content
        match = re.compile('"file":"(.+?)".+?"label":"(.+?)"',
                           re.DOTALL).findall(content)
        for url, res in match:

            res = res.upper()
            if '480' in res:
                res = 'HD'

            url = url + '|' + res

            self.AddFileHost(list, res, url)
예제 #6
0
    def GetFileHostsForContent(self, title, name, year, season, episode, type,
                               list, lock, message_queue):

        from entertainment.net import Net
        import re
        net = Net(cached=False)

        name = self.CleanTextForSearch(name)
        season = self.CleanTextForSearch(season)
        episode = self.CleanTextForSearch(episode)

        scrape = 'S' + season + ', Ep' + episode
        search_term = name
        helper_term = 'tvshow'
        data = {'q': name}
        headers = {
            'Host':
            'hdtvshows.net',
            'Origin':
            'http://hdtvshows.net',
            'Referer':
            'http://hdtvshows.net',
            'User-Agent':
            'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.71 Safari/537.36'
        }
        html = net.http_POST('http://hdtvshows.net/find.php', data,
                             headers).content

        r = '%s Free " href="(.+?)">' % name
        match = re.compile(r).findall(html)[0]
        self.GetFileHosts(self.base_url + match, list, lock, message_queue,
                          scrape)
예제 #7
0
    def GetFileHostsForContent(self, title, name, year, season, episode, type,
                               list, lock, message_queue):
        import re
        from entertainment.net import Net
        net = Net(cached=False)

        name = self.CleanTextForSearch(name.lower())

        headers = {
            'User-Agent':
            'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.106 Safari/537.36',
            'Referer': 'http://pubfilm.ac'
        }

        new_url = 'http://pubfilm.ac/search/' + name.replace(' ', '+')
        content = net.http_GET(new_url, headers=headers).content

        matched = re.compile(
            '<h3 class="post-box-title"><a href="(.+?)" rel="bookmark">(.+?)</a>'
        ).findall(content)
        for URL, TITLE in matched:

            if type == 'tv_episodes':
                if name.lower() in self.CleanTextForSearch(TITLE.lower()):
                    if season in TITLE.lower():
                        self.GetFileHosts(URL, list, lock, message_queue, type,
                                          season, episode)

            else:
                if name.lower() in self.CleanTextForSearch(TITLE.lower()):
                    if year in TITLE.lower():
                        self.GetFileHosts(URL, list, lock, message_queue, type,
                                          season, episode)
예제 #8
0
    def GetFileHosts(self, url, list, lock, message_queue):

        from entertainment.net import Net
        net = Net()

        custom_url = self.get_url()

        source_args = {'iqs': '', 'url': '', 'cap': ''}

        content = net.http_GET(url).content

        import random
        import copy
        import urllib
        import re

        sec = re.search("f\.lastChild\.value=\"(.+?)\",a", content).group(1)
        source_args['sec'] = sec

        t = re.search('"&t=([^"]+)",', content).group(1)
        source_args['t'] = t

        ajax_url = custom_url + 'membersonly/components/com_iceplayer/video.phpAjaxResp.php'
        headers = {'Content-type': 'application/x-www-form-urlencoded'}

        for sq in re.finditer(
                r"<div class=ripdiv><b>(.+?)</b><p>(.+?)<p></div>", content):
            quality = sq.group(1)

            if 'DVD' in quality:
                quality = 'DVD'

            elif '1080' in quality:
                quality = '1080P'
            elif '720' in quality:
                quality = '720P'

            else:
                quality = 'SD'
            for source in re.finditer(r"<a.+?go\((.+?)\)", sq.group(2)):
                a = source.group(1)

                m = random.randrange(100, 300) * -1
                s = random.randrange(5, 50)
                source_params = copy.copy(source_args)
                cache_source_params = copy.copy(source_args)
                source_params['id'] = a
                cache_source_params['id'] = a
                source_params['m'] = m
                source_params['s'] = s

                ajax_content = net.http_POST(
                    ajax_url,
                    source_params,
                    headers,
                    form_data_for_cache=cache_source_params).content
                host_url = urllib.unquote(
                    re.search(r"url=(.*)", ajax_content).group(1))

                self.AddFileHost(list, quality, host_url)
예제 #9
0
    def GetFileHostsForContent(self, title, name, year, season, episode, type,
                               list, lock, message_queue):

        title = self.CleanTextForSearch(title)
        name = self.CleanTextForSearch(name)

        custom_url = self.get_url()

        found_in_recent_added = False

        from entertainment.net import Net
        net = Net(cached=False)
        import re
        if type == 'movies':
            content = net.http_GET(custom_url + 'movies/added/1').content
            content = content.replace('><', '>\n<')
            item = re.search(
                r"<a href=/ip\.php\?v=(.+?)>" +
                title.replace('(', '\\(').replace(')', '\\)').replace(
                    '-', '\\-').replace('?', '\\?').replace(
                        '*', '\\*').replace('+', '\\+') + "</a>", content)
            if item:
                item_v_id = item.group(1)
                item_url = custom_url + 'membersonly/components/com_iceplayer/video.php?vid=' + item_v_id
                self.GetFileHosts(item_url, list, lock, message_queue)
                found_in_recent_added = True

        if found_in_recent_added == True:
            return

        search_term = name
        ttl_extrctr = '(.+?) \('
        if type == 'tv_episodes':
            se = season + 'x'
            if int(episode) < 10:
                se = se + '0' + episode
            else:
                se = se + episode

            search_term = search_term + ' ' + se

            ttl_extrctr = '(.+? [0-9]+x[0-9]+)'

        movie_url = self.GoogleSearchByTitleReturnFirstResultOnlyIfValid(
            self.base_url,
            search_term,
            'ip',
            item_count=5,
            title_extrctr=ttl_extrctr,
            exact_match=True)

        if movie_url != '':
            import re
            import urllib
            movie_v_id = re.search('ip\.php\?v=(.*)',
                                   urllib.unquote(movie_url))
            if movie_v_id:
                movie_v_id = movie_v_id.group(1)
                movie_url = movie_url = custom_url + 'membersonly/components/com_iceplayer/video.php?vid=' + movie_v_id
                self.GetFileHosts(movie_url, list, lock, message_queue)
예제 #10
0
    def GetFileHosts(self, url, list, lock, message_queue):

        import re,urllib
        from entertainment.net import Net
        
        net = Net(user_agent='Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_3_2 like Mac OS X; en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8H7 Safari/6533.18.5')
                  

        loginurl = 'https://m.genvideos.org/video_info/html5'
        
        v=url.split('v=')[1]
        data={'v': v}
        headers = {'host': 'm.genvideos.org','origin':'https://m.genvideos.org', 'referer': url,
                   'user-agent':'Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_3_2 like Mac OS X; en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8H7 Safari/6533.18.5','x-requested-with':'XMLHttpRequest'}

        first= net.http_POST(loginurl,data,headers).content

        import json

        link= json.loads(first)

        for j in link:
            quality = j.upper()
            if '360P' in quality:
                quality='SD'
                
            THEURL = urllib.unquote(link[j][3])+'**'+url
            self.AddFileHost(list, quality, THEURL,host='GOOGLEVIDEO.COM')
예제 #11
0
    def GetFileHosts(self, id, other_names, region, language, list, lock,
                     message_queue):

        from entertainment.net import Net
        import re

        net = Net(cached=False)

        stream_id = id.replace('_', '').lower()

        NEW_URL = "http://d3gbuig838qdtm.cloudfront.net/json/tvp/channels.json"

        html = net.http_GET(NEW_URL).content

        import json

        link = json.loads(html)

        data = link['data']

        for field in data:
            name = field['channel']['name'].encode("utf-8")

            url = field['channel']['id']
            if stream_id in name.replace(' ', '').lower():

                self.AddLiveLink(list,
                                 id.replace('_', ' ').upper(),
                                 url,
                                 language=language.title(),
                                 host='TVPLAYER',
                                 quality='HD')
    def GetFileHosts(self, url, list, lock, message_queue, type, season,
                     episode):

        if not type == 'tv_episodes':
            FINAL_URL = url.split('//')[1]
            FINAL_URL = FINAL_URL.split('/')[0]
            self.AddFileHost(list, '720P', url, host=FINAL_URL.upper())
        else:
            import json
            from entertainment.net import Net
            net = Net(cached=False)

            data = {
                'DeviceId': '6a48880da9855891b8baad7d7b34570d998b28c5',
                'Hash': 'f93e3156637c9fce37154e2d091bca8a',
                'Key': 'AA9FSK1323X3F',
                'Id': url,
                'PageSize': '20',
                'StartIndex': '0',
                'Version': '5'
            }

            link = json.loads(
                net.http_POST(self.GETLINK, data,
                              headers=self.HEADERS).content)

            data = link['Data']

            for field in data:
                TITLE = field['Name'].encode('utf8')
                id = field['VideoId']
                if 'S%s Epi %s' % (season, episode) in TITLE:
                    FINAL_URL = id.split('//')[1]
                    FINAL_URL = FINAL_URL.split('/')[0]
                    self.AddFileHost(list, '720P', id, host=FINAL_URL.upper())
예제 #13
0
    def GetFileHostsForContent(self, title, name, year, season, episode, type,
                               list, lock, message_queue):

        from entertainment.net import Net
        import re

        net = Net(cached=False)
        name = self.CleanTextForSearch(name)

        search_term = name.lower()
        helper_term = ''
        ttl_extrctr = ''
        new_url = self.base_url + '/arama?q=' + name.replace(' ', '+')
        content = net.http_GET(new_url).content
        link = content.split('<li>')

        for p in link:
            try:
                movie_url = re.compile('href="(.+?)"', re.DOTALL).findall(p)[0]
                title = re.compile('"video-title">(.+?)<',
                                   re.DOTALL).findall(p)[0]
                YEAR = re.compile('"year">(.+?)<', re.DOTALL).findall(p)[0]

                title = title.strip()
                YEAR = YEAR.strip()

                if name.lower() in self.CleanTextForSearch(title.lower()):
                    if year in YEAR:

                        self.GetFileHosts(movie_url, list, lock, message_queue)
            except:
                pass
    def GetContent(self, indexer, url, title, name, year, season, episode, type, list):      
        import urllib
        url = urllib.unquote_plus(url)
        title = urllib.unquote_plus(title)
        name = urllib.unquote_plus(name)
        name = (name).lower()
        
        import re
        from entertainment.net import Net
        net = Net(cached=False)
        net.set_cookies(self.cookie_file)

        content = net.http_GET(url).content
        
        if type == 'tv_seasons':
            match=re.compile('<br><br><b>(.+?)x').findall(content)
            for seasonnumber in match:                
                item_title = 'Season ' + seasonnumber
                item_id = common.CreateIdFromString(title + ' ' + item_title)
                

                self.AddContent(list, indexer, common.mode_Content, item_title, item_id, 'tv_episodes', url=url, name=name, season=seasonnumber)
               
        elif type == 'tv_episodes':
            match=re.compile("<br><b>"+season+"x(.+?)\s-\s<a style=.+?color.+?\shref='/(.+?)'>(.+?)</a>").findall(content)
            for item_v_id_2,url,item_title  in match:
                season = "0%s"%season if len(season)<2 else season
                item_v_id_2 = "0%s"%item_v_id_2 if len(item_v_id_2)<2 else item_v_id_2
                item_url = self.base_url + url
                item_v_id_2 = str(int(item_v_id_2))
                item_id = common.CreateIdFromString(name + '_season_' + season + '_episode_' + item_v_id_2)
                self.AddContent(list, indexer, common.mode_File_Hosts, item_title, item_id, type, url=item_url, name=name, season=season, episode=item_v_id_2)
예제 #15
0
    def GetFileHostsForContent(self, title, name, year, season, episode, type,
                               list, lock, message_queue):

        from entertainment.net import Net

        from entertainment import bing

        net = Net(
            cached=False,
            user_agent=
            'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.116 Safari/537.36'
        )

        title = self.CleanTextForSearch(title)
        name = self.CleanTextForSearch(name)
        #print ':::::::::::::::::::::::::::::::::'

        if type == 'tv_episodes':
            if len(episode) < 2:
                episode = "0%s" % episode
            if len(season) < 2:
                season = "0%s" % season
            search_term = '%s s%se%s' % (name, season, episode)
            RESULT_TERM = '%s s%se%s' % (name, season, episode)
            try:
                GOOGLED = self.GoogleSearch('streamlord.com', search_term)
            except:
                GOOGLED = bing.Search('streamlord.com', search_term)
            RETURN = 'watch %s' % RESULT_TERM.lower()

        else:
            search_term = name + ' ' + year
            RESULT_TERM = name.lower()
            try:
                GOOGLED = self.GoogleSearch('streamlord.com', search_term)
            except:
                GOOGLED = bing.Search('streamlord.com', search_term)

            RETURN = 'watch %s' % RESULT_TERM.lower()

        uniques = []
        for result in GOOGLED:
            movie_url = result['url']
            TITLE = result['title']

            if '?' in movie_url:
                movie_url = movie_url.split('?')[0]

            #if not '/watching.html' in movie_url:
            #movie_url = movie_url + '/watching.html'
            #movie_url =movie_url.replace('//watching.html','/watching.html')

            if RETURN.lower() in TITLE.lower():
                if movie_url not in uniques:

                    uniques.append(movie_url)

                    self.GetFileHosts(movie_url, list, lock, message_queue,
                                      season, episode, type, year)
                    break
예제 #16
0
    def GetFileHostsForContent(self, title, name, year, season, episode, type,
                               list, lock, message_queue):

        if type != 'movies': return

        import re

        from entertainment.net import Net
        net = Net()

        title = self.CleanTextForSearch(title)
        name = self.CleanTextForSearch(name)

        import urllib
        movie_url = self.base_url + ('search.php?key=%s&submit=' %
                                     urllib.quote(name + ' (' + year + ')'))

        content = net.http_GET(movie_url).content

        search_result = re.search(r'<div class="movie_pic"><a href="/(.+?)"',
                                  content)
        if search_result:
            search_result = self.base_url + search_result.group(1)

            self.GetFileHosts(search_result, list, lock, message_queue)
예제 #17
0
    def GetFileHostsForContent(self, title, name, year, season, episode, type,
                               list, lock, message_queue):
        custom_url = self.get_url()

        import urllib2
        import re
        from entertainment.net import Net
        net = Net()

        search_term = name
        category = ''
        if type == 'tv_episodes':
            category = 'category=4'
        elif type == 'movies':
            category = 'category=5'

        title = self.CleanTextForSearch(title)
        name = self.CleanTextForSearch(name)

        #Movies = http://oneclickwatch.org/?s=Escape+Plan+2013
        #TV Shows = http://www.free-tv-video-online.me/search/?q=2%20broke%20Girls&md=all
        #tv shows = http://www.free-tv-video-online.me/internet/%s/season_%s.html

        if type == 'tv_episodes':
            season_pull = "%s" % season if len(season) < 2 else season
            episode_pull = "%s" % episode if len(episode) < 2 else episode

            tv_url = custom_url + '%s/season_%s.html?episode=%s' % (
                name.lower().replace(' ', '_'), season_pull, episode_pull)

            self.GetFileHosts(tv_url, list, lock, message_queue)
예제 #18
0
    def GetFileHostsForContent(self, title, name, year, season, episode, type, list, lock, message_queue):                 
        
        from entertainment.net import Net
        import re,urllib,json

        net = Net(user_agent='Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.3')
        name = self.CleanTextForSearch(name)

        search_term = name.lower()
        linkme='http://my.mail.ru/cgi-bin/my/ajax?user=&ajax_call=1&func_name=video.get_list&mna=&mnb=&arg_tag=%s&arg_duration=long&arg_sort=&arg_sort_order=desc&arg_hd_exists=&arg_unsafe=0&arg_type=search&arg_offset=0&arg_limit=300'
  
        new_url=linkme % (name.replace(' ','+').lower()+'+'+year)
        response= net.http_GET(new_url).content
        link=json.loads(response)[-1]
        data=link['items']
        for i in data:
            _url_=i['ExternalID']
            title=i['Title']
            time=i['DurationFormat']
            if len(time)>5:
                if name.lower() in title.lower():
                    if year in title:
                        
                        
                        movie_url='http://videoapi.my.mail.ru/videos/'+_url_+'.json'
                        print movie_url
                        self.GetFileHosts(movie_url, list, lock, message_queue,title)                           
예제 #19
0
    def GetFileHostsForContent(self, title, name, year, season, episode, type,
                               list, lock, message_queue):
        from entertainment.net import Net
        import re

        net = Net()

        seasonshit = "0%s" % season if len(season) < 2 else season
        episodeshit = "0%s" % episode if len(episode) < 2 else episode
        valid_constructor = 'S%sE%s' % (seasonshit, episodeshit)
        title = self.CleanTextForSearch(title)
        name = self.CleanTextForSearch(name)

        search_url_title = "%s/?s=%s" % (self.base_url, name.replace(
            ' ', '+').lower())
        search_url_digit = "%s/?s=%s%sS%sE%s&cat=" % (
            self.base_url, name.replace(
                ' ', '+').lower(), '%20', seasonshit, episodeshit)
        print search_url_title
        print search_url_digit
        content = net.http_GET(search_url_digit).content
        match = re.compile(
            "<a href='http://tv-release.net/(\d*\/.+?)'").findall(content)

        for url in match:
            self.GetFileHosts(self.base_url + '/' + url, list, lock,
                              message_queue)
예제 #20
0
파일: oss_ltvs.py 프로젝트: bialagary/mw
    def Resolve(self, url):
        import re

        from entertainment.net import Net
        net = Net()
        loginurl = 'http://offsidestreams.com/site/wp-login.php'
        username = self.Settings().get_setting('tv_user')
        password = self.Settings().get_setting('tv_pwd')
        site = 'http://offsidestreams.com/site/live-tv/'
        data = {
            'pwd': password,
            'log': username,
            'wp-submit': 'Log In',
            'redirect_to': 'http://offsidestreams.com/site',
            'testcookie': '1'
        }
        headers = {
            'Host': 'offsidestreams.com',
            'Origin': 'http://offsidestreams.com',
            'Referer': 'http://offsidestreams.com/site/wp-login.php',
            'X-Requested-With': 'XMLHttpRequest'
        }
        html = net.http_POST(loginurl, data, headers).content

        auth = re.findall('urlkey1 = "(.+?)"', html, re.M | re.DOTALL)[0]
        stream_url = '%s swfUrl=http://p.jwpcdn.com/6/8/jwplayer.flash.swf app=liveedge?wmsAuthSign=%s pageUrl=%s swfVfy=true live=true timeout=15' % (
            url.replace('" + urlkey1 + "', auth), auth, site)
        return stream_url
예제 #21
0
    def GetFileHosts(self, url, list, lock, message_queue):
        from entertainment.net import Net
        import re

        net = Net(cached=False)
        sources = []
        THENAME = url
        content = net.http_GET(url).content
        links = re.compile(r'\'_blank\'\shref=\'(.+?)\'\>',
                           re.I | re.M | re.DOTALL).findall(content)

        for url in links:

            if 'HD' in THENAME.upper():
                res = 'HD'
            elif '720p' in THENAME.lower():
                res = '720P'
            elif '1080p' in THENAME.lower():
                res = '1080P'
            elif 'brrip' in THENAME.lower():
                res = '1080P'
            elif 'dvdrip' in THENAME.lower():
                res = 'DVD'
            else:
                res = 'SD'
            if not '.rar' in url or not 'go4up' in url:

                self.AddFileHost(list, res, url)
예제 #22
0
 def GetFileHosts(self, url, list, lock, message_queue):
     import re
     import decrypter
     from entertainment.net import Net
     net = Net()
     movielink = net.http_GET(url).content
     try:
         match = re.compile(
             'plugins=http://static1.movsharing.com/plugin.+?/proxy.swf&proxy.link=movs*(.+?)&'
         ).findall(movielink)
         match = match[0].replace('*', '')
         s = decrypter.decrypter(192, 128)
         uncode = s.decrypt(match, 'u3332bcCRs2DvUf17rqq',
                            'ECB').split('\0')[0]
         link = net.http_GET(uncode).content
         match = re.compile('"file":"(.+?)",').findall(link)
         newurl = match[0].replace('\/', '/')
         res = 'SD'
         host = '*GOOGLE.COM'
         self.AddFileHost(list, res, newurl, host)
     except:
         pass
     links = re.compile(
         'rel=".+?" href="(.+?)" target="_blank" title=".+?">Version .+?</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.+?'
     ).findall(movielink)
     for url in links:
         hostname = re.compile('http://(.+?)/').findall(url)
         host = str(hostname).replace('www.', '')
         res = 'SD'
         self.AddFileHost(list, res, url)
예제 #23
0
    def GetFileHosts(self, url, list, lock, message_queue):
        from entertainment.net import Net
        net = Net(do_not_cache_if_any=do_no_cache_keywords_list)

        custom_url = self.get_url()

        if self.Settings().get_setting('proxy') == "true":
            import socks
            (proxy, port) = self.get_proxy()
            socks.setdefaultproxy(socks.PROXY_TYPE_SOCKS5, proxy, port)
            net.set_socket_class(socks.socksocket)

        content = common.unescape(common.str_conv(net.http_GET(url).content))

        import re
        #print content
        for sq in re.finditer(r"quality_(.+?)>.+?url=(.+?)&", content):

            quality = sq.group(1).upper()
            quality = quality.replace('"', '')

            if quality == 'UNKNOWN':
                continue

            import base64
            host_url = base64.b64decode(sq.group(2))

            if not 'affbuzz' in host_url.lower():
                if not 'ads.ad-center.com' in host_url.lower():
                    if not 'offer?' in host_url.lower():
                        #print quality
                        self.AddFileHost(list, quality, host_url)
예제 #24
0
    def GetFileHostsForContent(self, title, name, year, season, episode, type,
                               list, lock, message_queue):

        from entertainment.net import Net
        import re
        net = Net(cached=False, user_agent='/Apple iPhone')
        name = self.CleanTextForSearch(name)

        search_term = name.lower().replace(':', '')
        helper_term = ''
        ttl_extrctr = ''

        search = 'https://google.co.uk/search?q=%s' % search_term.replace(
            ' ', '+') + '+site%3Ahttp%3A%2F%2Fdl4.moviefarsi.com'
        contents = net.http_GET(search).content
        match1 = re.compile('<a href="\/url\?q=(.+?)&.+?">(.+?)</a>').findall(
            contents)
        for movie_url, name in match1:
            if 'Index of' in name:
                content = net.http_GET(movie_url).content

                match = re.compile('<a href="(.+?)">').findall(content)
                for URL in match:
                    if search_term.replace(' ', '.') in URL.lower():
                        MOVIE = movie_url + URL
                        if year in MOVIE.lower():
                            self.GetFileHosts(MOVIE, list, lock, message_queue)
예제 #25
0
    def GetFileHostsForContent(self, title, name, year, season, episode, type,
                               list, lock, message_queue):

        import urllib2
        import re
        from entertainment.net import Net
        net = Net()

        title = self.CleanTextForSearch(title)
        name = self.CleanTextForSearch(name)

        search_term = '%s Season %s Episode %s' % (name, season, episode)
        referer = self.GoogleSearchByTitleReturnFirstResultOnlyIfValid(
            self.base_url,
            search_term,
            '',
            title_extrctr=['(.+?) Watch Online'])

        content = net.http_GET(
            referer,
            headers={
                'User-Agent':
                'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.80 Safari/537.36'
            }).content
        print '#################################'
        print referer
        URL = re.compile('<iframe src="(.+?)"').findall(content)[0]

        self.GetFileHosts(URL, list, lock, message_queue, referer)
예제 #26
0
 def get_api_key(self):
     api_key = self.Settings().get_setting('api_key')
     if api_key==None or api_key=='':                                
         furk_user = self.Settings().get_setting('furk_user')
         furk_pwd = self.Settings().get_setting('furk_pwd')
         
         if furk_user != '' and furk_pwd != '':
         
             import json
             from entertainment.net import Net
             net = Net(cached=False)
         
             trans_table = ''.join( [chr(i) for i in range(128)] + [' '] * 128 )
             
             login_command = "/api/login/login"
             login_params = {"login": furk_user, "pwd": furk_pwd}
             login_url = "%s%s" % (self.api_url, login_command)
             #try:login_content = net.http_POST(login_url, login_params).content.translate(trans_table)
             login_content = net.http_POST(login_url, login_params).content#.translate(trans_table)
             login_data = json.loads(login_content)
             if login_data['status'] == 'ok':
                 api_key = login_data['api_key']
                 self.Settings().set_setting('api_key', api_key)
             
     return api_key
예제 #27
0
    def GetFileHostsForContent(self, title, name, year, season, episode, type,
                               list, lock, message_queue):

        from entertainment.net import Net

        net = Net(user_agent=self.UA)
        title = self.CleanTextForSearch(title)
        name = self.CleanTextForSearch(name)

        search_term = name.replace(' ', '-') + '-' + year

        import re
        url = 'http://umovies.me/search/' + search_term
        try:
            net.set_cookies(self.cookie_file)
            link = net.http_GET(url).content
            print '##########################'
            print 'NET'

        except:
            from entertainment import cloudflare
            link = cloudflare.solve(url, self.cookie_file, self.UA)

        match = re.compile(
            'lass="movies list inset">.+?href="(.+?)">.+?class="label">(.+?)<',
            re.DOTALL).findall(link)

        for movie_url, TITLE in match:
            if year in TITLE:
                self.GetFileHosts('http://umovies.me' + movie_url, list, lock,
                                  message_queue)
예제 #28
0
    def Resolve(self, url):

        from entertainment.net import Net
        from entertainment import cloudflare
        import re
        #print url

        UA = 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.116 Safari/537.36'
        net = Net(cached=False, user_agent=UA)

        try:
            net.set_cookies(self.cookie_file)
            result = net.http_GET(url).content
            net.save_cookies(self.cookie_file)
        except:
            result = cloudflare.solve(url, self.cookie_file, UA)
        #print result.encode('ascii','ignore')
        stream = re.compile('return\("(.+?)"').findall(result)[0]
        final = stream.split('://')[1]
        host = final.split('/')[0]

        #cf_clearance=re.compile('cf_clearance=(.+?);').findall(open(self.cookie_file).read())[0]
        #cfduid=re.compile('cfduid=(.+?);').findall(open(self.cookie_file).read())[0]

        #AND='|Host=%s&User-Agent=%s&Referrer=%s&Connection=keep-alive&Cookie=cfduid=%s;' %(host,UA,url,cfduid)

        return stream  #+AND
예제 #29
0
    def GetSportsContent(self, indexer, type, list, lock, message_queue):

        sport_url = self.get_url() + self.source_sports_urls[type]

        from entertainment.net import Net
        net = Net()
        content = net.http_GET(sport_url).content

        import re

        for item in re.finditer(
                "(?s)<h3>.+?alt=['\"](.+?)['\"].+?<span>(.+?)</span>.+?href=['\"](/watch/.+?)['\"]",
                content):

            title = item.group(1)

            start_time = re.search('"matchtime">(.*)', item.group(2))
            if not start_time:
                continue
            import datetime
            start_time = datetime.date.today().strftime(
                '%Y %m %d ') + start_time.group(1)

            url = self.get_url() + item.group(3)

            self.AddSportsContent(list,
                                  indexer,
                                  type,
                                  common.mode_File_Hosts,
                                  title,
                                  start_time=start_time,
                                  url=url)
예제 #30
0
    def Search(self, indexer, keywords, type, list, lock, message_queue, page='', total_pages=''): 
        
        if page and len(page) > 0 and total_pages and len(total_pages) > 0 and int(page) > int(total_pages):
            return
        
        if page=='': page='1'
        
        from entertainment.net import Net
        net = Net()
        search_url ='%spage/%s/?s=%s' %(self.base_url, page, keywords.replace(' ','+'))
        print search_url
        import re
        
        html = net.http_GET(search_url).content
        if total_pages == '':
            r= '<a class="last" href="http://filmstream.me/page/(.+?)/'
            try:
                total_pages = re.compile(r).findall(html)[0]
            except:
                total_pages = '1'
            
                
        self.AddInfo(list, indexer, 'search', self.base_url, type, str(page), total_pages)

        for item in re.finditer(r'<h2> <a href="(.+?)">(.+?)</a> </h2>\s*<div class=".+?">.+?</div>\s*</div>\s*<a href=".+?" title="">\s*<img src="(.+?)" alt="(.+?)"',html,re.I):
            url=item.group(1)
            name=item.group(4)
            name=name.split('Stream')[0]
            image=item.group(3)
            name = self.CleanTextForSearch(name)
            self.AddContent(list,indexer,common.mode_File_Hosts,name,'',type, url=url, name=name, img=image, plot='')