def justporno(self, url): try: r = client.request(url) s = re.findall('''source\s*src=['"]+([^'"]+)''', r) self.u = [] def request(i): try: c = client.request(i, output='headers') checks = ['video', 'mpegurl'] if any(f for f in checks if f in c['Content-Type']): self.u.append((i, int(c['Content-Length']))) except: pass threads = [] for i in s: threads.append(workers.Thread(request, i)) [i.start() for i in threads] [i.join() for i in threads] u = sorted(self.u, key=lambda x: x[1])[::-1] u = client.request(u[0][0], output='geturl') return u except: return
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)
def pornheel(self, url): try: u = client.request(url) e = re.findall('<a\shref="([^"]*)".+?">Streaming\s([^<]*)', u) e = [(client.request(i[0], output='geturl'), i[1]) for i in e if i] return e except: return
def overthumbs(self, url): try: u = client.request(url) e = re.findall('(?s)id="play".+?src="([^"]*)', u)[0] e = ('http://overthumbs.com' + e) r = client.request(e) unpack = jsunpack.unpack(r) return re.findall('file.+?"([^"]*)', unpack)[0] except: return
def streamate(self, url): try: u = client.request(url) e = re.findall('iframe\.src = \'([^\']*)', u) e = 'https://www.streamate.com' + e[0] r = client.request(e) r = re.findall('data-manifesturl="([^"]*)', r)[0] return self.generic(r) except: return
def sexmax(self, url): try: url = client.request(url) express = '<div id="player-embed">.+?<iframe src="(.+?)"' link = re.compile(express, re.MULTILINE | re.DOTALL).findall(url)[0] dir = client.request(link) dir = dir.replace('\/', '/') express = '"src":"(.+?)"' link = re.compile(express, re.MULTILINE | re.DOTALL).findall(dir)[0] return link except: return
def hugesix(self, url): try: main = client.request(url) links = re.findall('config=(.+?)",', main)[0] link = links link = client.request(link) express1 = '<filehd>(.+?)</filehd>' express2 = '<file>(.+?)</file>' play = re.compile(express1, re.MULTILINE | re.DOTALL).findall(link) if not play: play = re.compile(express2, re.MULTILINE | re.DOTALL).findall(link) play = play[0] return play except: return
def fuqer(self, url): try: u = client.request(url) e = re.findall('config:\'([^\']*)', u)[0] return self.generic(e) except: return
def freeones(self, url): try: u = client.request(url) e = re.findall('_script"\ssrc="([^"]*)', u)[0] return self.generic(e) except: return
def satan18av(self, url): try: u = client.request(url) e = re.findall('<iframe src="([^"]*)', u)[0] return e except: return
def befuck(self, url): try: u = client.request(url) e = re.findall('<source src="([^"]*)', u)[0] return e except: return
def watchxxxfree(self, url): try: r = client.request(url) pattern = r"""data-lazy-src=['"]([^'"]+)""" e = re.findall(pattern, r) import resolveurl num = 0 u = [] a = [] b = [] c = [] if e: for i in e: if resolveurl.HostedMediaFile(i).valid_url(): num += 1 a.append('smu_file') b.append('Link %s' % str(num)) c.append(i) u = list(zip(b, c, a)) if u: return u else: return except: return
def winporn(self, url): try: r = client.request(url) link = re.findall('var video_id = "(.+?)"', r)[0] r = 'http://nl.winporn.com/player_config_json/?vid=' + link + '&aid=0&domain_id=0&embed=0&ref=&check_speed=0' return self.generic(r) except: return
def pandamovie(self, url): try: u = client.request(url) e = re.findall('<li>.+?on ([^"]*).+?f="([^"]*)', u) e = [(i[0], i[1]) for i in e if 'pandamovie' not in i[1]] return e except: return
def request(i): try: c = client.request(i, output='headers') checks = ['video', 'mpegurl'] if any(f for f in checks if f in c['Content-Type']): self.u.append((i, int(c['Content-Length']))) except: pass
def nxgx(self, url): try: r = client.request(url) pattern = r"""iframe\s*src=['"]([^'"]+)""" u = re.findall(pattern, r)[0] return u except: return
def xtheatre(self, url): try: u = client.request(url) u = re.findall('<iframe src="([^"]*)', u) u = [(i, i.split('//')[-1].split('.')[0]) for i in u] return u except: return
def chaturbate(self, url): try: r = client.request(url) pattern = r"""initHlsPlayer\(jsplayer,\s*["']([^'"]+)""" u = re.findall(pattern, r)[0] return u except: return 'offline'
def fourtube(self, url): try: fourtube_ref = url self.fourtube_base = 'https://www.4tube.com' self.fourtube_embed = '/embed/%s' self.fourtube_player = '/js/player/embed/%s' self.fourtube_post = 'https://tkn.kodicdn.com/%s/desktop/%s' id = re.findall('\/([0-9]+)', url)[0] r = client.request( urljoin(self.fourtube_base, self.fourtube_embed % id)) js = re.findall('\/player\/embed\/([^"]+)', r)[0] url = urljoin(self.fourtube_base, self.fourtube_player % js) r = client.request(url) url_id, qual = re.compile( 'ajax\(url,opts\);}}\)\(([\d]+),[\d]+,\[([\d,]+)\]\);' ).findall(r)[0] qual = qual.replace(',', '+') r = client.request(self.fourtube_post % (url_id, qual), post='', headers={'Origin': self.fourtube_base}, referer=fourtube_ref) s = re.compile('token\":\"([^"]+)').findall(r) self.u = [] def request(i): try: c = client.request(i, output='headers') checks = ['video', 'mpegurl'] if any(f for f in checks if f in c['Content-Type']): self.u.append((i, int(c['Content-Length']))) except: pass threads = [] for i in s: threads.append(workers.Thread(request, i)) [i.start() for i in threads] [i.join() for i in threads] u = sorted(self.u, key=lambda x: x[1])[::-1] u = client.request(u[0][0], output='geturl', referer=url) return u except: return
def request(i): try: i = i.replace(' ', '%20') c = client.request(i, output='headers', referer=url) checks = ['video', 'mpegurl', 'html'] if any(f for f in checks if f in c['Content-Type']): self.u.append((i, int(c['Content-Length']))) except: pass
def porn00(self, url): try: r = client.request(url) pattern = r'''<ul>.+?iframe.+?\?v=([\d]+)''' id = re.findall(pattern, r, re.DOTALL)[0] url = 'http://www.porn00.org/plays/?v=%s' % id cookie = client.request(url, output='cookie') r = client.request(url, cookie=cookie) pattern = r'''(?:)file\:\s*[\'\"]([^\'\"]+)[\'\"]\,\s*\w+\:\s*[\'\"]([^\'\"]+)''' r = re.findall(pattern, r) r = [(i[1], i[0]) for i in r if i] u = sorted(r, key=lambda x: int(re.search('(\d+)', x[0]).group(1)), reverse=True) return u except: return
def yuvutu(self, url): try: r = client.request(url) r = client.parseDOM(r, 'iframe', ret='src') r = [i for i in r if 'embed' in i][0] r = urljoin(url, r) return self.generic(r) except: return
def spreadporn(self, url): try: u = client.request(url) e = re.findall( '(?s)<li class.+?"stream".+?k="([^"]*).+?c="([^"]*)"\salt="([^"]*)', u) return e except: return
def boobntit(self, url): try: main = client.request(url) link = client.parseDOM(main, 'div', attrs={'id': 'player'}) link = client.parseDOM(link, 'iframe', ret='src') link = link[0] return self.generic(link) except: return self.generic(url)
def siska(self, url): try: u = client.request(url) e = re.findall('document\.write\(base64_decode\(\'([^\']*)', u)[0] b64 = base64.b64decode(e) play = re.findall('rc="([^"]*)', b64)[0] return play except: return
def megasesso(self, url): try: u = client.request(url) u = client.parseDOM(u, 'div', attrs={'class': 'player-iframe'}) u = [(client.parseDOM(i, 'iframe', ret='src')) for i in u] u = [(client.replaceHTMLCodes(i[0]).encode('utf-8')) for i in u] u = 'http://www.megasesso.com' + u[0] return self.generic(u) except: return
def solopornoitaliani(self, url): try: url = client.request(url) express = '\'videoid\',\'(.+?)\'' link = re.compile(express, re.MULTILINE | re.DOTALL).findall(url)[0] link = 'http://www.solopornoitaliani.xxx/vdata/' + link + '.flv' return link except: return
def nuvid(self, url): try: url = client.request(url) express = 'vid:(.+?),' link = re.compile(express, re.MULTILINE | re.DOTALL).findall(url)[0] link = 'http://www.nuvid.com/player_config_json/?vid=' + link + '&aid=0&domain_id=0&embed=0&ref=&check_speed=0' html = client.request(link) html = html.replace('\/', '/') express2 = '"hq":"(.+?)"' express3 = '"lq":"(.+?)"' play = re.compile(express2, re.MULTILINE | re.DOTALL).findall(html) if not play: play = re.compile(express3, re.MULTILINE | re.DOTALL).findall(html) play = play[0] return play except: return
def drtube(self, url): try: url = client.request(url) express = 'vid:(.+?),' link = re.compile(express, re.MULTILINE | re.DOTALL).findall(url)[0] link = 'http://www.drtuber.com/player_config_json/?vid=' + link + '&aid=0&domain_id=0&embed=0&ref=&check_speed=0' return self.generic(link) except: return
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 = 'Resolve URL 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 hmf.HostedMediaFile(url).valid_url(): url = hmf.HostedMediaFile(url).resolve() except: pass kodi.idle() return url except: try: if hmf.HostedMediaFile(url[0][1]).valid_url(): url = hmf.HostedMediaFile(url[0][1]).resolve() return url except: pass