Aggiunto canale tapmovie(sperimentale) e server annessi (hxfile, playtube, fix altri)

This commit is contained in:
mac12m99
2021-06-02 17:14:02 +02:00
parent 1393e46eb2
commit 53807e3c3c
12 changed files with 274 additions and 21 deletions
+10 -7
View File
@@ -10,11 +10,14 @@ def test_video_exists(page_url):
global data
# page_url = re.sub('://[^/]+/', '://feurl.com/', page_url)
data = httptools.downloadpage(page_url).data
page = httptools.downloadpage(page_url)
data = page.data
if "Sorry 404 not found" in data or "This video is unavailable" in data or "Sorry this video is unavailable:" in data:
return False, config.get_localized_string(70449) % "fembed"
page_url = page_url.replace("/f/","/v/")
page_url = page_url.replace("/v/","/api/source/")
page_url = page.url
page_url = page_url.replace("/f/", "/v/")
page_url = page_url.replace("/v/", "/api/source/")
data = httptools.downloadpage(page_url, post={}).json
logger.debug(data)
if "Video not found or" in data or "We are encoding this video" in data:
@@ -26,9 +29,9 @@ def get_video_url(page_url, user="", password="", video_password=""):
logger.debug("(page_url='%s')" % page_url)
video_urls = []
for file in data['data']:
media_url = file['file']
label = file['label']
extension = file['type']
video_urls.append([ extension + ' ' + label + ' [Fembed]', media_url])
media_url = file['file']
label = file['label']
extension = file['type']
video_urls.append([ extension + ' ' + label + ' [Fembed]', media_url])
video_urls.sort(key=lambda x: int(x[0].split()[1].replace('p','')))
return video_urls
+41
View File
@@ -0,0 +1,41 @@
{
"active": true,
"find_videos": {
"ignore_urls": [],
"patterns": [
{
"pattern": "https?://hxfile.co/(?!api)(?:embed-)?([A-z0-9]+)",
"url": "https://hxfile.co/embed-\\1.html"
}
]
},
"free": true,
"id": "hxfile",
"name": "HxFile",
"settings": [
{
"default": false,
"enabled": true,
"id": "black_list",
"label": "@70708",
"type": "bool",
"visible": true
},
{
"default": 0,
"enabled": true,
"id": "favorites_servers_list",
"label": "@60655",
"lvalues": [
"No",
"1",
"2",
"3",
"4",
"5"
],
"type": "list",
"visible": false
}
]
}
+25
View File
@@ -0,0 +1,25 @@
# -*- coding: utf-8 -*-
from core import httptools, scrapertools, servertools, support
from platformcode import logger, config
from lib import jsunpack
def test_video_exists(page_url):
logger.debug("(page_url='%s')" % page_url)
global data
data = httptools.downloadpage(page_url).data
if "Can't create video code" in data:
return False, config.get_localized_string(70292) % 'HxFile'
return True, ""
def get_video_url(page_url, premium=False, user="", password="", video_password=""):
logger.debug("url=" + page_url)
global data
video_urls = []
packed = scrapertools.find_single_match(data, r'(eval\s?\(function\(p,a,c,k,e,d\).*?\n)')
data = jsunpack.unpack(packed)
video_urls.extend(support.get_jwplayer_mediaurl(data, 'HxFile'))
return video_urls
+43
View File
@@ -0,0 +1,43 @@
{
"active": true,
"find_videos": {
"ignore_urls": [],
"patterns": [
{
"pattern": "playtube.ws/(?:embed-|)(\\w+)",
"url": "https://playtube.ws/embed-\\1.html"
}
]
},
"free": true,
"id": "playtube",
"name": "playtube",
"settings": [
{
"default": false,
"enabled": true,
"id": "black_list",
"label": "@60654",
"type": "bool",
"visible": true
},
{
"default": 0,
"enabled": true,
"id": "favorites_servers_list",
"label": "@60655",
"lvalues": [
"No",
"1",
"2",
"3",
"4",
"5"
],
"type": "list",
"visible": false
}
],
"thumbnail": "https://i.postimg.cc/8CVV6DnF/playtube.png"
}
+29
View File
@@ -0,0 +1,29 @@
# -*- coding: utf-8 -*-
# --------------------------------------------------------
# Conector playtube By Alfa development Group
# --------------------------------------------------------
import re
import codecs
from core import httptools
from core import scrapertools
from lib import jsunpack
from platformcode import logger
def test_video_exists(page_url):
logger.info("(page_url='%s')" % page_url)
global data
data = httptools.downloadpage(page_url)
if data.code == 404 or "File is no longer available" in data.data:
return False, "[playtube] El archivo no existe o ha sido borrado"
return True, ""
def get_video_url(page_url, premium=False, user="", password="", video_password=""):
logger.info("url=" + page_url)
video_urls = []
pack = scrapertools.find_single_match(data.data, 'p,a,c,k,e,d.*?</script>')
unpacked = jsunpack.unpack(pack)
url = scrapertools.find_single_match(unpacked, 'file:"([^"]+)') + "|referer=%s" %(page_url)
video_urls.append(['m3u8 [playtube]', url] )
return video_urls
+1 -1
View File
@@ -4,7 +4,7 @@
"ignore_urls": [],
"patterns": [
{
"pattern": "https?://vidmoly.net/(?:embed-)?(\\w+)\\.html",
"pattern": "https?://vidmoly.(?:net|to)/(?:embed-)?(\\w+)\\.html",
"url": "https://vidmoly.net/embed-\\1.html"
},
{
+2 -2
View File
@@ -4,8 +4,8 @@
"ignore_urls": [],
"patterns": [
{
"pattern": "(https://youdbox.com/embed-[A-z0-9-]+.html)",
"url": "\\1"
"pattern": "https://youdbox.(?:com|net)/embed-([A-z0-9-]+.html)",
"url": "https://youdbox.net/embed-\\1"
}
]
},
+11 -4
View File
@@ -1,14 +1,21 @@
# -*- coding: utf-8 -*-
# import re
from core import httptools
from core import scrapertools
from platformcode import logger
import codecs
def get_video_url(page_url, video_password):
logger.debug("(page_url='%s')" % page_url)
logger.info("(page_url='%s')" % page_url)
video_urls = []
data = httptools.downloadpage(page_url).data
url = scrapertools.find_single_match(data, '<source src="([^"]+)"')
list = scrapertools.find_single_match(data, 'var [a-zA-Z0-9]+ = ([^\]]+)').replace('[', '').replace('"', '').replace('\\x', '').replace(',', ' ')
list = list.split()[::-1]
url =""
for elem in list:
decoded = codecs.decode(elem, "hex")
url += decoded.decode("utf8")
url= scrapertools.find_single_match(url, '<source src="([^"]+)"')
video_urls.append(["[youdbox]", url])
return video_urls
return video_urls