Fix VVVVID, streamsb e nuovo server filemoon. Miglior passaggio info a trakt (se attivo)
This commit is contained in:
+1
-1
@@ -18,7 +18,7 @@ host = 'https://www.vvvvid.it'
|
|||||||
# Creating persistent session
|
# Creating persistent session
|
||||||
current_session = requests.Session()
|
current_session = requests.Session()
|
||||||
# current_session.request = functools.partial(current_session.request, timeout=httptools.HTTPTOOLS_DEFAULT_DOWNLOAD_TIMEOUT)
|
# current_session.request = functools.partial(current_session.request, timeout=httptools.HTTPTOOLS_DEFAULT_DOWNLOAD_TIMEOUT)
|
||||||
headers = {'User-Agent': "".join([random.choice(string.ascii_letters) for y in range(random.randint(1,30))])}
|
headers = {'User-Agent': httptools.random_useragent()}
|
||||||
|
|
||||||
# Getting conn_id token from vvvvid and creating payload
|
# Getting conn_id token from vvvvid and creating payload
|
||||||
login_page = host + '/user/login'
|
login_page = host + '/user/login'
|
||||||
|
|||||||
+3
-1
@@ -130,10 +130,12 @@ def token_trakt(item):
|
|||||||
def set_trakt_info(item):
|
def set_trakt_info(item):
|
||||||
logger.debug()
|
logger.debug()
|
||||||
import xbmcgui
|
import xbmcgui
|
||||||
|
from core import scrapertools
|
||||||
# Envia los datos a trakt
|
# Envia los datos a trakt
|
||||||
try:
|
try:
|
||||||
info = item.infoLabels
|
info = item.infoLabels
|
||||||
ids = jsontools.dump({'tmdb': info['tmdb_id'] , 'imdb': info['imdb_id'], 'slug': info['title']})
|
ids = jsontools.dump({'tmdb': info['tmdb_id'], 'tvdb': info.get('tvdb_id'), 'imdb': info['imdb_id'],
|
||||||
|
'slug': scrapertools.slugify(info['title'])})
|
||||||
xbmcgui.Window(10000).setProperty('script.trakt.ids', ids)
|
xbmcgui.Window(10000).setProperty('script.trakt.ids', ids)
|
||||||
except:
|
except:
|
||||||
pass
|
pass
|
||||||
|
|||||||
@@ -0,0 +1,25 @@
|
|||||||
|
{
|
||||||
|
"active": true,
|
||||||
|
"find_videos": {
|
||||||
|
"ignore_urls": [],
|
||||||
|
"patterns": [
|
||||||
|
{
|
||||||
|
"pattern": "(?:filemoon|cinegrab)\\.(?:sx|to|in|link|nl|wf|com|eu|art)/(?:e|d)/([0-9a-zA-Z]+)",
|
||||||
|
"url": "https://filemoon.sx/e/\\1"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"free": true,
|
||||||
|
"id": "filemoon",
|
||||||
|
"name": "filemoon",
|
||||||
|
"settings": [
|
||||||
|
{
|
||||||
|
"default": false,
|
||||||
|
"enabled": true,
|
||||||
|
"id": "black_list",
|
||||||
|
"label": "@70708",
|
||||||
|
"type": "bool",
|
||||||
|
"visible": true
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
@@ -0,0 +1,24 @@
|
|||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
|
from core import httptools, support
|
||||||
|
from lib import jsunpack
|
||||||
|
from platformcode import config, logger
|
||||||
|
|
||||||
|
|
||||||
|
def test_video_exists(page_url):
|
||||||
|
logger.debug("(page_url='%s')" % page_url)
|
||||||
|
global data
|
||||||
|
data = httptools.downloadpage(page_url, cookies=False).data
|
||||||
|
if '<h1>Page not found</h1>' in data:
|
||||||
|
return False, config.get_localized_string(70449) % "filemoon"
|
||||||
|
|
||||||
|
return True, ""
|
||||||
|
|
||||||
|
|
||||||
|
def get_video_url(page_url, premium=False, user="", password="", video_password=""):
|
||||||
|
global data
|
||||||
|
packed = support.match(data, patron=r'(eval\(function\(p.*?)</').match
|
||||||
|
if packed:
|
||||||
|
data = jsunpack.unpack(packed).replace("\\", "")
|
||||||
|
video_urls = support.get_jwplayer_mediaurl(data, 'filemoon')
|
||||||
|
return video_urls
|
||||||
@@ -3,12 +3,16 @@
|
|||||||
"find_videos": {
|
"find_videos": {
|
||||||
"ignore_urls": [],
|
"ignore_urls": [],
|
||||||
"patterns": [{
|
"patterns": [{
|
||||||
"pattern": "(?:streamsb|sblanh|sbembed|sbembed1|sbplay1|sbplay|pelistop|tubesb|playersb|embedsb|watchsb|streamas|sbfast|sbfull|viewsb|sbvideo|cloudemb|sbplay2|japopav|javplaya|ssbstream|sbthe|sbspeed|sbanh|sblongvu|sbchill|sbhight)\\.\\w{2,5}/(?:embed-|d/|e/)?([A-z0-9]+)",
|
"pattern": "(?:streamsb|sblanh|sbembed|sbembed1|sbplay1|sbplay|pelistop|tubesb|playersb|embedsb|watchsb|streamas|sbfast|sbfull|viewsb|sbvideo|cloudemb|sbplay2|japopav|javplaya|ssbstream|sbthe|sbspeed|sbanh|sblongvu|sbchill|sbhight|sbbrisk)\\.\\w{2,5}/(?:embed-|d/|e/)?([A-z0-9]+)",
|
||||||
"url": "https://streamas.cloud/e/\\1.html"
|
"url": "https://streamas.cloud/e/\\1.html"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"pattern": "(?:cloudemb.com)/([A-z0-9]+)",
|
"pattern": "(?:cloudemb.com)/([A-z0-9]+)",
|
||||||
"url": "https://streamas.cloud/e/\\1.html"
|
"url": "https://streamas.cloud/e/\\1.html"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"pattern": "animeworld.biz/(?:embed-|d/|e/)?([A-z0-9]+)",
|
||||||
|
"url": "https://streamas.cloud/e/\\1.html"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
|||||||
+1
-1
@@ -9,7 +9,7 @@ def get_sources(page_url):
|
|||||||
rand1 = "".join([random.choice(string.ascii_letters) for y in range(12)])
|
rand1 = "".join([random.choice(string.ascii_letters) for y in range(12)])
|
||||||
rand2 = "".join([random.choice(string.ascii_letters) for y in range(12)])
|
rand2 = "".join([random.choice(string.ascii_letters) for y in range(12)])
|
||||||
_0x470d0b = '{}||{}||{}||streamsb'.format(rand1, code, rand2)
|
_0x470d0b = '{}||{}||{}||streamsb'.format(rand1, code, rand2)
|
||||||
sources = 'https://streamas.cloud/sources50/' + codecs.getencoder('hex')(_0x470d0b.encode())[0].decode()
|
sources = 'https://streamas.cloud/sources51/' + codecs.getencoder('hex')(_0x470d0b.encode())[0].decode()
|
||||||
# does not lite other headers different than watchsb and useragent
|
# does not lite other headers different than watchsb and useragent
|
||||||
ret = httptools.downloadpage(sources, headers={'watchsb': 'sbstream', 'User-Agent': httptools.get_user_agent()}, replace_headers=True).json
|
ret = httptools.downloadpage(sources, headers={'watchsb': 'sbstream', 'User-Agent': httptools.get_user_agent()}, replace_headers=True).json
|
||||||
logger.debug(ret)
|
logger.debug(ret)
|
||||||
|
|||||||
Reference in New Issue
Block a user