From 4e1275d0142fdc989be9486b04a2252a1282f6e1 Mon Sep 17 00:00:00 2001 From: marco Date: Wed, 19 Jun 2019 19:38:05 +0200 Subject: [PATCH] fix openload --- core/servertools.py | 5 +++++ servers/openload.json | 2 +- servers/openload.py | 21 ++++++++++++--------- 3 files changed, 18 insertions(+), 10 deletions(-) diff --git a/core/servertools.py b/core/servertools.py index f0e07a36..925dd10d 100644 --- a/core/servertools.py +++ b/core/servertools.py @@ -506,6 +506,11 @@ def get_server_json(server_name): return server_json +def get_server_host(server_name): + from core import scrapertoolsV2 + return [scrapertoolsV2.get_domain_from_url(pattern['url']) for pattern in get_server_json(server_name)['find_videos']['patterns']] + + def get_server_controls_settings(server_name): dict_settings = {} diff --git a/servers/openload.json b/servers/openload.json index 3102a62d..07fd8c3a 100644 --- a/servers/openload.json +++ b/servers/openload.json @@ -5,7 +5,7 @@ "patterns": [ { "pattern": "(?:openload|oload|openloads).*?/(?:embed|f|e|f[0-9])/([0-9a-zA-Z-_]+)", - "url": "https://openload.co/embed/\\1/" + "url": "https://oload.stream/embed/\\1/" } ] }, diff --git a/servers/openload.py b/servers/openload.py index 4f42c8d4..2c7792c3 100644 --- a/servers/openload.py +++ b/servers/openload.py @@ -3,8 +3,11 @@ from core import httptools from core import jsontools from core import scrapertools +from core.servertools import get_server_host from platformcode import config, logger +host = "https://" + get_server_host('openload')[0] + def test_video_exists(page_url): logger.info("(page_url='%s')" % page_url) @@ -21,6 +24,7 @@ def test_video_exists(page_url): return True, "" + def get_video_url(page_url, premium=False, user="", password="", video_password=""): logger.info() itemlist = [] @@ -104,14 +108,13 @@ def decode(code, parseInt, _0x59ce16, _1x4bfb36): _0x145894 += 1 - - url = "https://openload.co/stream/%s?mime=true" % _0x1bf6e5 + url = host + "/stream/%s?mime=true" % _0x1bf6e5 return url def login(): logger.info() - data = httptools.downloadpage('https://openload.co').data + data = httptools.downloadpage(host).data _csrf = scrapertools.find_single_match(data, '') post = { @@ -120,7 +123,7 @@ def login(): 'LoginForm[rememberMe]' : 1, '_csrf' : _csrf } - data = httptools.downloadpage('https://openload.co/login', post = post).data + data = httptools.downloadpage(host + '/login', post = post).data if 'Login key has already been sent.' in data: while True : @@ -134,7 +137,7 @@ def login(): break else: post['LoginForm[loginkey]'] = code - data = httptools.downloadpage('https://openload.co/login', post = post).data + data = httptools.downloadpage(host + '/login', post = post).data if 'Welcome back,' in data: break @@ -145,14 +148,14 @@ def get_api_keys(): api_key = config.get_setting('api_key', __file__) if not api_key or not api_login: login() - data = httptools.downloadpage('https://openload.co/account').data + data = httptools.downloadpage(host + '/account').data post = { 'FTPKey[password]' : config.get_setting('password', __file__), '_csrf' : scrapertools.find_single_match(data, '') } - data = httptools.downloadpage('https://openload.co/account', post = post).data + data = httptools.downloadpage(host + '/account', post = post).data api_login = scrapertools.find_single_match(data, 'ID:([^<]+)') api_key = scrapertools.find_single_match(data, 'Your FTP Password/API Key is: ([^<]+) ') config.set_setting('api_login', api_login, __file__) @@ -168,12 +171,12 @@ def get_link_api(page_url): file_id = scrapertools.find_single_match(page_url, '(?:embed|f)/([0-9a-zA-Z-_]+)') - data = httptools.downloadpage("https://api.openload.co/1/file/dlticket?file=%s&login=%s&key=%s" % (file_id, api_login, api_key)).data + data = httptools.downloadpage(host + "/api/1/file/dlticket?file=%s&login=%s&key=%s" % (file_id, api_login, api_key)).data data = jsontools.load_json(data) # logger.info(data) if data["status"] == 200: ticket = data["result"]["ticket"] - data = httptools.downloadpage("https://api.openload.co/1/file/dl?file=%s&ticket=%s" % (file_id, ticket)).data + data = httptools.downloadpage(host + "/api/1/file/dl?file=%s&ticket=%s" % (file_id, ticket)).data data = jsontools.load(data) return data['result']['url'].replace("https", "http")