def get_link(item): content = getUrl(item.get('url'),useCookies=True) link=re.compile('(http://www.[^\.]+.pw/(?!&#)[^"]+)', re.IGNORECASE + re.DOTALL + re.MULTILINE + re.UNICODE).findall(content) if link: link=re.sub(r'&#(\d+);', lambda x: chr(int(x.group(1))), link[0]) header = {'User-Agent':UA, 'Referer':item.get('url')} data = getUrl(link,header=header,useCookies=True) f=re.compile('.*?name="f"\s*value=["\']([^"\']+)["\']').findall(data) s=re.compile('.*?name="s"\s*value=["\']([^"\']+)["\']').findall(data) r=re.compile('[\'"]action[\'"][,\s]*[\'"](http.*?)[\'"]').findall(data) if s: s=aes.decode_hls(s[0]) sk=re.compile('"stkey":"(.*?)"').findall(s) sk = sk[0] if sk else '' if f and r: enc_data=json.loads(base64.b64decode(f[0])) ciphertext = 'Salted__' + enc_data['s'].decode('hex') + base64.b64decode(enc_data['ct']) src=aes.decrypt(item.get('key'),base64.b64encode(ciphertext)) src=src.replace('"','').replace(sk,'').encode('utf-8') print src href=aes.decode_hls(src) if href: href +='|Referer=%s&User-Agent=%s'%(urllib.quote(r[0]),UA) return href return ''
def getChannelVideo(item): content = getUrl(item.get('url'), useCookies=True) links = re.compile('(http://www.[^\.]+.pw/(?!&#)[^"]+)', re.IGNORECASE + re.DOTALL + re.MULTILINE + re.UNICODE).findall(content) link = [x for x in links if '&#' in x] if link: link = re.sub(r'&#(\d+);', lambda x: chr(int(x.group(1))), link[0]) header = {'User-Agent': UA, 'Referer': item.get('url')} data = getUrl(link, header=header, useCookies=True) f = re.compile('.*?name="f"\s*value=["\']([^"\']+)["\']').findall(data) d = re.compile('.*?name="d"\s*value=["\']([^"\']+)["\']').findall(data) r = re.compile('.*?name="r"\s*value=["\']([^"\']+)["\']').findall(data) action = re.compile( '[\'"]action[\'"][,\s]*[\'"](http.*?)[\'"]').findall(data) srcs = re.compile('src=[\'"](.*?)[\'"]').findall(data) if f and r and d and action: payload = urllib.urlencode({'d': d[0], 'f': f[0], 'r': r[0]}) data2, c = getUrlc(action[0], payload, header=header, useCookies=True) link = re.compile( '\([\'"][^"\']+[\'"], [\'"][^"\']+[\'"], [\'"]([^"\']+)[\'"], 1\)' ).findall(data2) enc_data = json.loads(base64.b64decode(link[0])) ciphertext = 'Salted__' + enc_data['s'].decode( 'hex') + base64.b64decode(enc_data['ct']) src = aes.decrypt(item.get('key'), base64.b64encode(ciphertext)) src = src.replace('"', '').replace('\\', '').encode('utf-8') a, c = getUrlc(srcs[-1], header=header, useCookies=True) if srcs else '', '' a, c = getUrlc(src, header=header, useCookies=True) # print a if src.startswith('http'): href = src + '|Referer=%s&User-Agent=%s&X-Requested-With=ShockwaveFlash/22.0.0.209' % ( urllib.quote(action[0]), UA) #href =src+'|Referer=%s&User-Agent=%s'%(urllib.quote(action[0]),UA) #href = src print href return href, srcs[-1], header else: href = aes.decode_hls(src) if href: href += '|Referer=%s&User-Agent=%s&X-Requested-With=ShockwaveFlash/22.0.0.209' % ( urllib.quote(r[0]), UA) return href, srcs[-1], header return ''
def getChannelVideo(item): content = getUrl(item.get('url'),useCookies=True) links=re.compile('(http://www.[^\.]+.pw/(?!&#)[^"]+)', re.IGNORECASE + re.DOTALL + re.MULTILINE + re.UNICODE).findall(content) link = [x for x in links if '&#' in x] if link: link=re.sub(r'&#(\d+);', lambda x: chr(int(x.group(1))), link[0]) header = {'User-Agent':UA, 'Referer':item.get('url')} data = getUrl(link,header=header,useCookies=True) f=re.compile('.*?name="f"\s*value=["\']([^"\']+)["\']').findall(data) d=re.compile('.*?name="d"\s*value=["\']([^"\']+)["\']').findall(data) r=re.compile('.*?name="r"\s*value=["\']([^"\']+)["\']').findall(data) action=re.compile('[\'"]action[\'"][,\s]*[\'"](http.*?)[\'"]').findall(data) srcs=re.compile('src=[\'"](.*?)[\'"]').findall(data) if f and r and d and action: payload=urllib.urlencode({'d':d[0],'f':f[0],'r':r[0]}) data2,c= getUrlc(action[0],payload,header=header,useCookies=True) link=re.compile('\([\'"][^"\']+[\'"], [\'"][^"\']+[\'"], [\'"]([^"\']+)[\'"], 1\)').findall(data2) enc_data=json.loads(base64.b64decode(link[0])) ciphertext = 'Salted__' + enc_data['s'].decode('hex') + base64.b64decode(enc_data['ct']) src=aes.decrypt(item.get('key'),base64.b64encode(ciphertext)) src=src.replace('"','').replace('\\','').encode('utf-8') a,c=getUrlc(srcs[-1],header=header,useCookies=True) if srcs else '','' a,c=getUrlc(src,header=header,useCookies=True) # print a if src.startswith('http'): href =src+'|Referer=%s&User-Agent=%s&X-Requested-With=ShockwaveFlash/22.0.0.209'%(urllib.quote(action[0]),UA) #href =src+'|Referer=%s&User-Agent=%s'%(urllib.quote(action[0]),UA) #href = src print href return href,srcs[-1],header else: href=aes.decode_hls(src) if href: href +='|Referer=%s&User-Agent=%s&X-Requested-With=ShockwaveFlash/22.0.0.209'%(urllib.quote(r[0]),UA) return href,srcs[-1],header return ''
def getChannelVideo(item): import xbmc #xbmc.log('@#@CHANNEL-VIDEO-ITEM: %s' % item, xbmc.LOGNOTICE) s = requests.Session() header = {'User-Agent': UA, 'Referer': item['url']} content = s.get(item.get('url'), headers=header).content import uuid hash = uuid.uuid4().hex url = re.findall(r'location.replace\(\'([^\']+)', content)[0] uri = url + hash content = s.get(uri, headers=header).content links = re.compile('(http://www.[^\.]+.pw/(?!&#)[^"]+)', re.IGNORECASE + re.DOTALL + re.MULTILINE + re.UNICODE).findall(content) link = [x for x in links if '&#' in x] if link: link = re.sub(r'&#(\d+);', lambda x: chr(int(x.group(1))), link[0]) data = s.get(link, headers=header).content # xbmc.log('@#@CHANNEL-VIDEO-DATA: %s' % data, xbmc.LOGNOTICE) f = re.compile('.*?name="f"\s*value=["\']([^"\']+)["\']').findall(data) d = re.compile('.*?name="d"\s*value=["\']([^"\']+)["\']').findall(data) r = re.compile('.*?name="r"\s*value=["\']([^"\']+)["\']').findall(data) b = re.compile('.*?name="b"\s*value=["\']([^"\']+)["\']').findall(data) action = re.compile('[\'"]action[\'"][,\s]*[\'"](http.*?)[\'"]').findall(data) srcs = re.compile('src=[\'"](.*?)[\'"]').findall(data) if f and r and d and action: payload = urllib.urlencode({'b': b[0], 'd': d[0], 'f': f[0], 'r': r[0]}) data2, c = getUrlc(action[0], payload, header=header, usecookies=True) #######ads banners######### bheaders = header bheaders['Referer'] = action[0] banner = re.findall(r'videojs.*?script\s+src="([^"]+)', data2)[0] bsrc = s.get(banner, headers=bheaders).content banner = re.findall(r"url:'([^']+)", bsrc)[0] bsrc = s.get(banner, headers=bheaders).content bheaders['Referer'] = banner banner = re.findall(r'window.location.replace\("([^"]+)"\);\s*}\)<\/script><div', bsrc)[0] bsrc = s.get(banner).status_code ########################### link = re.compile('\([\'"][^"\']+[\'"], [\'"][^"\']+[\'"], [\'"]([^"\']+)[\'"], 1\)').findall(data2) enc_data = json.loads(base64.b64decode(link[0])) ciphertext = 'Salted__' + enc_data['s'].decode('hex') + base64.b64decode(enc_data['ct']) src = aes.decrypt(item.get('key'),base64.b64encode(ciphertext)) src = src.replace('"','').replace('\\','').encode('utf-8') a, c = getUrlc(srcs[-1], header=header, usecookies=True) if srcs else '', '' a, c = getUrlc(src, header=header, usecookies=True) # print a if src.startswith('http'): href = src + '|Referer=%s&User-Agent=%s&X-Requested-With=ShockwaveFlash/22.0.0.209' %\ (urllib.quote(action[0]), UA) print href return href, srcs[-1], header else: href = aes.decode_hls(src) if href: href += '|Referer=%s&User-Agent=%s&X-Requested-With=ShockwaveFlash/22.0.0.209' %\ (urllib.quote(r[0]), UA) return href, srcs[-1], header return ''