Ejemplo n.º 1
0
def resolve_url(url, name=None, iconimage=None, pattern=None):

    kodi.busy()
    
    try: url,site = url.split('|SPLIT|')
    except: 
        site = 'Unknown'
        log_utils.log('Error getting site information from :: %s' % (url), log_utils.LOGERROR)
    
    if not name: name = 'Unknown'
    if not iconimage: iconimage = kodi.addonicon
    name = re.sub(r'(\[.+?\])','',name); name = name.lstrip()
    if '] - ' in name: name = name.split('] - ')[-1] 
    if 'site=' in url: url,site = url.split('site=')

    if '|CHAT|' in url: 
        url,site,name = url.split('|CHAT|')
    if '- [' in name: 
        name = name.split('- [')[0]

    u = None
    url2 = url
    log_utils.log('Sending %s to XXX Resolver' % (url), log_utils.LOGNOTICE)
    blacklist.Blacklistcheck(url)
    if resolveurl.HostedMediaFile(url).valid_url(): 
        log_utils.log('%s is a valid SMU resolvable URL. Attempting to resolve.' % (url), log_utils.LOGNOTICE)
        try:
            u = resolveurl.HostedMediaFile(url).resolve()
            if u == None: u = adultresolver.resolve(url2)
        except Exception as e:
            log_utils.log('Error getting valid link from SMU :: %s :: %s' % (url, str(e)), log_utils.LOGERROR)
            try:
                u = adultresolver.resolve(url2)
            except:
                kodi.idle()
                kodi.notify(msg='Something went wrong!  | %s' % str(e), duration=8000, sound=True)
                quit()
        log_utils.log('Link returned by XXX Resolver :: %s' % (u), log_utils.LOGNOTICE)
    else:
        log_utils.log('%s is not a valid SMU resolvable link. Attempting to resolve by XXXODUS backup resolver.' % (url), log_utils.LOGNOTICE)
        try:
            u = adultresolver.resolve(url)
        except Exception as e:
            log_utils.log('Error getting valid link from XXXODUS backup resolver. :: %s :: %s' % (url, str(e)), log_utils.LOGERROR)
            kodi.idle()
            kodi.notify(msg='Something went wrong!  | %s' % str(e), duration=8000, sound=True)
            quit()
        log_utils.log('%s returned by XXX-O-DUS backup resolver.' % (u), log_utils.LOGNOTICE)
    if u == 'offline':
        kodi.idle()
        kodi.notify(msg='This performer is offline.', duration = 5000, sound = True)
        quit()
    if u:
        kodi.idle()
        play(u,name,iconimage,url,site)
    else: 
        kodi.idle()
        log_utils.log('Failed to get any playable link for :: %s' % (url), log_utils.LOGERROR)
        kodi.notify(msg='Failed to get any playable link.', duration=7500, sound=True)
        quit()
def resolve_url(url, name=None, iconimage=None):

    kodi.busy()
    
    if 'motherless.com' in url:
        r = client.request(url)
        img = re.findall('''<meta\s*property=["']og:image["']\s*content=["']([^'"]+)''', r)[0]
        SHOW = "ShowPicture(" + img + ')'
        kodi.idle()
        xbmc.executebuiltin(SHOW)
    elif '8muses.com' in url:
        try:
            r = client.request(url)
            dir = re.findall('''<input\s*type=['"]hidden['"]\s*id=['"]imageDir['"]\s*value=['"]([^'"]+)''', r)[0]
            icon_id = re.findall('''<input\s*type=['"]hidden['"]\s*id=['"]imageName['"]\s*value=['"]([^'"]+)''', r)[0]
            display_url = 'https://cdn.ampproject.org/i/s/www.8muses.com/%ssmall/%s' % (dir,icon_id)
            SHOW = "ShowPicture(" + display_url + ')'
        except:
            SHOW = "ShowPicture(" + url + ')'
        kodi.idle()
        xbmc.executebuiltin(SHOW)
    else:
        SHOW = "ShowPicture(" + url + ')'
        kodi.idle()
        xbmc.executebuiltin(SHOW)
Ejemplo n.º 3
0
def multilinkselector(url):

    try:
        if len(url) == 1: url = url[0][1]
        else:
            sources = []

            for i in url:
                smu_file = False
                try:
                    if i[2]: smu_file = True
                except:
                    pass
                if (not smu_file):
                    c = client.request(i[1], output='headers')
                    sources += [(i[0],
                                 kodi.convertSize(int(c['Content-Length'])),
                                 i[1])]
                else:
                    try:
                        pattern = r'''(?:)(?:http|https)(?:\:\/\/|\:\/\/www.)([^\.]+)'''
                        domain = re.match(pattern, i[1])
                        domain = domain.group(1).title()
                    except:
                        domain = 'URL Resolver Link'
                    sources += [(i[0], domain, i[1])]

                quals = []
                srcs = []

            for i in sources:
                qual = '%s - [ %s ]' % (i[0], i[1])
                quals.append(kodi.giveColor(qual, 'white', True))
                srcs.append(i[2])

            selected = kodi.dialog.select('Select a quality.', quals)
            if selected < 0:
                kodi.notify(msg='No option selected.')
                return 'quit'
            else:
                url = srcs[selected]
        kodi.busy()
        try:
            if resolveurl.HostedMediaFile(url).valid_url():
                url = resolveurl.HostedMediaFile(url).resolve()
        except:
            pass
        kodi.idle()
        return url
    except:
        try:
            if resolveurl.HostedMediaFile(url[0][1]).valid_url():
                url = resolveurl.HostedMediaFile(url[0][1]).resolve()
            return url
        except:
            pass
Ejemplo n.º 4
0
    def __init__(self):
    
        self.firstRunFile = os.path.join(kodi.datafolder, 'firstrun.txt')
        self.informationFile = os.path.join(kodi.addonfolder, 'resources/files/information.txt')

        if ( not os.path.isfile(self.firstRunFile) ): 
            self.checkAge()
            kodi.busy()
            try: countme = client.request('http://bit.ly/2vchTCP')
            except: pass
            kodi.idle()
            try: utils.viewDialog(self.informationFile)
            except: pass
        return
Ejemplo n.º 5
0
def find(url, name=None, iconimage=None, pattern=None):

    kodi.busy()

    try:
        url, site = url.split('|SPLIT|')
    except:
        site = 'Unknown'
        log_utils.log('Error getting site information from :: %s' % (url),
                      log_utils.LOGERROR)

    try:
        if 'streamingporn.xyz' in url:
            c = client.request(url)
            r = dom_parser2.parse_dom(c, 'iframe', req=['src'])
            r = [
                i.attrs['src'] for i in r
                if urlresolver.HostedMediaFile(i.attrs['src']).valid_url()
            ]
            url = multi(r)
        elif 'spreadporn.org' in url:
            c = client.request(url)
            r = dom_parser2.parse_dom(c, 'li', req=['data-show', 'data-link'])
            r = [(i.attrs['data-link']) for i in r]
            url = multi(r)
        elif 'pandamovie.eu' in url:
            c = client.request(url)
            r = dom_parser2.parse_dom(c, 'a', req='id')
            r = [(i.attrs['href']) for i in r]
            url = multi(r)
        elif 'xtheatre.net' in url:
            c = client.request(url)
            pattern = '''<iframe\s*src=['"](?:[^'"]+)['"]\s*data-lazy-src=['"]([^'"]+)'''
            r = re.findall(pattern, c)
            url = multi(r)
    except:
        kodi.idle()
        kodi.notify(msg='Error getting link for (Link Finer) %s' % name)
        kodi.idle()
        quit()

    url += '|SPLIT|%s' % site
    kodi.idle()
    player.resolve_url(url, name, iconimage)
Ejemplo n.º 6
0
def find(url, name=None, iconimage=None, pattern=None):

    kodi.busy()

    try:
        url, site = url.split('|SPLIT|')
    except:
        site = 'Unknown'
        log_utils.log('Error getting site information from :: %s' % (url),
                      log_utils.LOGERROR)

    try:
        if 'streamingporn.xyz' in url:
            c = client.request(url)
            r = dom_parser2.parse_dom(c,
                                      'a',
                                      req=['href', 'class', 'rel', 'target'])
            r = [i for i in r if i.attrs['class'] == 'external']
            r = [client.request(i.attrs['href'], output='geturl') for i in r]
            r = [i for i in r if resolveurl.HostedMediaFile(i).valid_url()]
            url = multi(r)
        elif 'spreadporn.org' in url:
            c = client.request(url)
            r = dom_parser2.parse_dom(c, 'li', req=['data-show', 'data-link'])
            r = [(i.attrs['data-link']) for i in r]
            url = multi(r)
        # elif 'pandamovie.co' in url:
        # c = client.request(url)
        # r = dom_parser2.parse_dom(c, 'a', req='id')
        # r = [(i.attrs['href']) for i in r]
        # url = multi(r)
        elif 'xxxmoviestream.com' in url:
            c = client.request(url)
            pattern = '''<iframe src="(.+?)" scrolling="no" frameborder="0" width="700"'''
            r = re.findall(pattern, c)
            url = multi(r)
        elif 'sexkino.to' in url:
            c = client.request(url)
            pattern = '''<iframe class="metaframe rptss" src="(.*?)"'''
            r = re.findall(pattern, c)[0]
            if 'xdrive.cc' in r:
                icon = 'https://lh5.ggpht.com/t6GgBV3lVq1uCb8qpTNjlilauVztXouZ2Eg1iN-HGAQQ1jtI19wTeEiGO77tysnN5KjZ=w300'
                dialog.notification(
                    '[COLOR yellow]Nemzzy[/COLOR]',
                    '[COLOR yellow]Using Xdrive Resolver By Nemzzy[/COLOR]',
                    icon, 5000)
                c = client.request(r)
                findid = re.findall('''video_id=(.*?)\'''', c,
                                    flags=re.DOTALL)[0]
                requesturl = 'https://xdrive.cc/secure_link?ip=81.12.123.22&video_id=' + findid
                c = client.request(requesturl)
                r = re.findall('''\["(.*?)",''', c,
                               flags=re.DOTALL)[0].replace('\\', '')
                xbmc.Player().play(r)
            else:
                r = re.findall(pattern, c)
                url = multi(r)
        elif 'watchxxxfreeinhd.com' in url:
            r = client.request(url)
            pattern = r"""<iframe.+?src=['"]([^'"]+)"""
            r = re.findall(pattern, r)
            url = multi(r)

    except:
        kodi.idle()
        kodi.notify(msg='Error getting link for (Link Finder) %s' % name)
        kodi.idle()
        quit()

    url += '|SPLIT|%s' % site
    kodi.idle()
    player.resolve_url(url, name, iconimage)
Ejemplo n.º 7
0
def play(url, name, iconimage=None, ref=None, site=None):

    try:
        kodi.busy()

        if not site:
            if 'site=' in url: url, site = url.split('site=')
            else: site = 'Unknown'
        if not name: name = 'Unknown'
        if not iconimage: iconimage = kodi.addonicon
        name = re.sub(r'(\[.+?\])', '', name)
        name = name.lstrip()
        if '] - ' in name: name = name.split('] - ')[-1]

        chatur = False

        if ref:
            if 'chaturbate.com' in ref:
                chatur = True
        else:
            ref = ''
        if 'chaturbate.com' in url:
            chatur = True
            ref = url
            url = adultresolver.resolve(url)
        if (isinstance(url, list)):
            try:
                url = multilinkselector(url)
            except:
                pass

        history_on_off = kodi.get_setting("history_setting")
        if history_on_off == "true":
            web_checks = ['http:', 'https:', 'rtmp:']
            locak_checks = ['.mp4']
            try:
                if any(f for f in web_checks if f in url): site = site.title()
                elif any(f for f in locak_checks if f in url):
                    site = 'Local File'
                else:
                    site = 'Unknown'
            except:
                site = site.title()

            #if chatur:
            history.delEntry(ref)
            history.addHistory(name, ref, site.title(), iconimage)
            #else:
            #    history.delEntry(url)
            #    history.addHistory(name, url, site.title(), iconimage)

        kodi.idle()

        if 'chaturbate.com' in ref:
            if kodi.get_setting("mobile_mode") == 'true':
                url = url.replace('_fast_aac', '_aac')
            else:
                bandwidth = kodi.get_setting("chaturbate_band")
                if bandwidth == '0': url = url.replace('_fast_aac', '_aac')
                elif bandwidth == '2':
                    choice = kodi.dialog.select(
                        "[COLOR white][B]" + name + "[/B][/COLOR]", [
                            '[COLOR white]Play High Bandwidth Stream[/COLOR]',
                            '[COLOR white]Play Low Bandwidth Stream[/COLOR]'
                        ])
                    if choice == 1: url = url.replace('_fast_aac', '_aac')
                    elif choice == 0: pass
                    else: quit()

            liz = xbmcgui.ListItem(name,
                                   iconImage=iconimage,
                                   thumbnailImage=iconimage)
            xbmc.executebuiltin("Dialog.Close(busydialog)")
            xbmc.Player().play(url, liz, False)

            if kodi.get_setting("chaturbate_subject") == "true":
                sleeper = kodi.get_setting("chaturbate_subject_refresh")
                i = 0

                while not xbmc.Player().isPlayingVideo():
                    time.sleep(1)
                    i += 1
                    if i == 30: quit()
                while xbmc.Player().isPlayingVideo():
                    try:
                        r = client.request(ref)
                        subject = re.compile(
                            'default_subject:\s\"([^,]+)",').findall(r)[0]
                        subject = urllib.unquote_plus(subject)
                        kodi.notify(msg=subject,
                                    duration=8500,
                                    sound=True,
                                    icon_path=iconimage)
                    except:
                        pass
                    time.sleep(int(sleeper))
        else:
            liz = xbmcgui.ListItem(name,
                                   iconImage=iconimage,
                                   thumbnailImage=iconimage)
            xbmc.Player().play(url, liz, False)
    except:
        kodi.idle()
        kodi.notify(msg='Error playing %s' % name)
Ejemplo n.º 8
0
def find(url, name=None, iconimage=None, pattern=None):

    kodi.busy()

    try:
        url, site = url.split('|SPLIT|')
    except:
        site = 'Unknown'
        log_utils.log('Error getting site information from :: %s' % (url),
                      log_utils.LOGERROR)

    try:
        if 'streamingporn.xyz' in url:
            c = client.request(url)
            r = dom_parser2.parse_dom(c,
                                      'a',
                                      req=['href', 'class', 'rel', 'target'])
            r = [i for i in r if i.attrs['class'] == 'external']
            r = [client.request(i.attrs['href'], output='geturl') for i in r]
            r = [i for i in r if resolveurl.HostedMediaFile(i).valid_url()]
            url = multi(r)
        elif 'spreadporn.org' in url:
            c = client.request(url)
            r = dom_parser2.parse_dom(c, 'li', req=['data-show', 'data-link'])
            r = [(i.attrs['data-link']) for i in r]
            url = multi(r)
        elif 'pandamovie.co' in url:
            c = client.request(url)
            r = dom_parser2.parse_dom(c, 'a', req='id')
            r = [(i.attrs['href']) for i in r]
            url = multi(r)
        elif 'xxxmoviestream.com' in url:
            c = client.request(url)
            pattern = '''<iframe src="(.+?)" scrolling="no" frameborder="0" width="700"'''
            r = re.findall(pattern, c)
            url = multi(r)
        elif 'sexkino.to' in url:
            c = client.request(url)
            u = dom_parser2.parse_dom(c, 'iframe',
                                      {'class': ['metaframe', 'rptss']})
            r = dom_parser2.parse_dom(c, 'tr')
            r = [dom_parser2.parse_dom(i, 'a', req='href') for i in r]
            r = [client.request(i[0].attrs['href']) for i in r if i]
            r = [i.attrs['src'] for i in u] + [
                re.findall("window.location.href='([^']+)", i)[0] for i in r
            ]
            url = multi(r)
        elif 'watchxxxfree.tv' in url:
            r = client.request(url)
            pattern = r"""<iframe.+?src=['"]([^'"]+)"""
            r = re.findall(pattern, r)
            url = multi(r)

    except:
        kodi.idle()
        kodi.notify(msg='Error getting link for (Link Finder) %s' % name)
        kodi.idle()
        quit()

    url += '|SPLIT|%s' % site
    kodi.idle()
    player.resolve_url(url, name, iconimage)