* fix next page

* testing new filmontv

* Wstream quick fix, no resolution displayed :(

* new filmontv

* now regex is ok

* fix .po files

* +netlovers

* working on filmontv

* fix debriders

* new updater

* updater

* fix crash

* fix updater and re-add dev mode

* new url eurostreaming

* Delete netlovers.py

* Delete netlovers.json

* -net from menù

* fix eurostreaming: numero stagione e newest (#50)

* fix canale

* fix newest

* fix numero puntata

* cleanup

* cleanup 2

* fix updater crash on windows

* Fix Animeworld

* Nuovo Autorenumber

* initial background downloader support

* ops

* Update channels.json

* Update channels.json

* fix openload

* move json update to cohesist with updater

* disable json url updates

* fix typo

* fix typo 2

* Add files via upload

* Add files via upload

* fix autoplay in community channels

* fix toonitalia

* Fix Toonitalia

* workaround serietvsubita

* Nuova Rinumerazione Automatica

* Fix per Rinumerazione Automatica

* workaround updater

* Fix on air

* ops

* Personalizzazione sezione "Oggi in TV"

* Aggiunto orario sezione Oggi in TV

* aggiunto bit.ly (#56)

* aggiunto bit.ly

* Aggiunta personalizzazione homepage

* Revert "initial background downloader support"

This reverts commit f676ab0f

* KoD 0.4
This commit is contained in:
mac12m99
2019-06-30 10:35:48 +02:00
committed by GitHub
parent 7551aed8ba
commit 3fb9b068d9
47 changed files with 1340 additions and 664 deletions
+1 -1
View File
@@ -44,7 +44,7 @@ def get_video_url(page_url, premium=False, user="", password="", video_password=
from lib import unshortenit
data, status = unshortenit.unshorten(url)
logger.info("Data - Status zcrypt vcrypt.net: [%s] [%s] " %(data, status))
elif 'linkup' in url:
elif 'linkup' in url or 'bit.ly' in url:
idata = httptools.downloadpage(url).data
data = scrapertoolsV2.find_single_match(idata, "<iframe[^<>]*src=\\'([^'>]*)\\'[^<>]*>")
#fix by greko inizio
+1 -1
View File
@@ -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/"
}
]
},
+12 -9
View File
@@ -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, '<input type="hidden" name="_csrf" value="([^"]+)">')
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, '<input type="hidden" name="_csrf" value="([^"]+)">')
}
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, '<tr><td>ID:</td><td>([^<]+)</td></tr>')
api_key = scrapertools.find_single_match(data, 'Your FTP Password/API Key is: ([^<]+) </div>')
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")
+1 -5
View File
@@ -9,11 +9,7 @@
{
"pattern": "wstream.video/(?:embed-|videos/|video/)?([a-z0-9A-Z]+)",
"url": "http:\/\/wstream.video\/\\1"
},
{
"pattern": "wstream.video/(?:embed-|videos/|video/)?([a-z0-9A-Z]+)",
"url": "http:\/\/wstream.video\/video\/\\1"
}
}
],
"ignore_urls": [ ]
},
+5 -6
View File
@@ -24,15 +24,14 @@ def get_video_url(page_url, premium=False, user="", password="", video_password=
video_urls = []
data = httptools.downloadpage(page_url, headers=headers).data.replace('https', 'http')
# logger.info("[wstream.py] data=" + data)
logger.info("[wstream.py] data=" + data)
vid = scrapertools.find_multiple_matches(data, 'download_video.*?>.*?<.*?<td>([^\,,\s]+)')
headers.append(['Referer', page_url])
post_data = scrapertools.find_single_match(data,"</div>\s*<script type='text/javascript'>(eval.function.p,a,c,k,e,.*?)\s*</script>")
if post_data != "":
from lib import jsunpack
data = jsunpack.unpack(post_data)
logger.info("[wstream.py] data=" + data)
block = scrapertools.find_single_match(data, 'sources:\s*\[[^\]]+\]')
if block: data = block
@@ -41,7 +40,7 @@ def get_video_url(page_url, premium=False, user="", password="", video_password=
i = 0
for media_url in media_urls:
video_urls.append([vid[i] + " mp4 [wstream] ", media_url + '|' + _headers])
video_urls.append([vid[i] if vid else 'video' + " mp4 [wstream] ", media_url + '|' + _headers])
i = i + 1
for video_url in video_urls:
@@ -54,7 +53,7 @@ def find_videos(data):
encontrados = set()
devuelve = []
patronvideos = r"wstream.video/(?:embed-)?([a-z0-9A-Z]+)"
patronvideos = r"wstream.video/(?:embed-|videos/|video/)?([a-z0-9A-Z]+)"
logger.info("[wstream.py] find_videos #" + patronvideos + "#")
matches = re.compile(patronvideos, re.DOTALL).findall(data)
@@ -69,4 +68,4 @@ def find_videos(data):
else:
logger.info(" url duplicada=" + url)
return devuelve
return devuelve