HDmario: aggiornamento registrazione automatica
This commit is contained in:
+3
-3
@@ -26,7 +26,7 @@ class Mailbox:
|
|||||||
|
|
||||||
def waitForMail(self, timeout=50):
|
def waitForMail(self, timeout=50):
|
||||||
info = 'verifica tramite mail richiesta dal sito, sono in attesa di nuove mail sulla casella ' + self.address
|
info = 'verifica tramite mail richiesta dal sito, sono in attesa di nuove mail sulla casella ' + self.address
|
||||||
info += '\nTimeout tra ' + str(timeout) + ' secondi'
|
# info += '\nTimeout tra ' + str(timeout) + ' secondi'
|
||||||
dialog = platformtools.dialog_progress(config.get_localized_string(20000), info)
|
dialog = platformtools.dialog_progress(config.get_localized_string(20000), info)
|
||||||
secs = 0
|
secs = 0
|
||||||
while secs < timeout:
|
while secs < timeout:
|
||||||
@@ -73,7 +73,6 @@ class OneSecMailbox(Mailbox):
|
|||||||
|
|
||||||
def inbox(self):
|
def inbox(self):
|
||||||
"""
|
"""
|
||||||
:param user: user@1secmail.com
|
|
||||||
:return: json containing inbox id and subjects
|
:return: json containing inbox id and subjects
|
||||||
"""
|
"""
|
||||||
apiUrl = self.baseUrl + '?action=getMessages&login=' + self.user + '&domain=' + self.domain
|
apiUrl = self.baseUrl + '?action=getMessages&login=' + self.user + '&domain=' + self.domain
|
||||||
@@ -124,8 +123,9 @@ class Gmailnator(Mailbox):
|
|||||||
self.user, id = support.match(inbox[0]['content'], patron='([^\/]+)\/messageid\/#([a-z0-9]+)').match
|
self.user, id = support.match(inbox[0]['content'], patron='([^\/]+)\/messageid\/#([a-z0-9]+)').match
|
||||||
#<b>subject</b><div>2 minutes ago</div><hr /><div dir="ltr">body</div>
|
#<b>subject</b><div>2 minutes ago</div><hr /><div dir="ltr">body</div>
|
||||||
html = httptools.downloadpage(self.baseUrl + 'mailbox/get_single_message/', post={'csrf_gmailnator_token': self.csrf, 'action': 'get_message', 'message_id': id, 'email': self.user}).data
|
html = httptools.downloadpage(self.baseUrl + 'mailbox/get_single_message/', post={'csrf_gmailnator_token': self.csrf, 'action': 'get_message', 'message_id': id, 'email': self.user}).data
|
||||||
|
logger.debug(html)
|
||||||
m = Email()
|
m = Email()
|
||||||
m.subject, m.date, m.body = support.match(html, patron='<b>([^<]+)<\/b><div>([^<]+)<\/div><hr \/><div dir="ltr">(.*)').match
|
m.subject, m.date, m.body = support.match(html, patron='<b>([^<]+)<\/b><div>([^<]+)<\/div><hr \/>(.*)').match
|
||||||
|
|
||||||
return m
|
return m
|
||||||
return inbox
|
return inbox
|
||||||
|
|||||||
+42
-26
@@ -3,6 +3,7 @@ import xbmc
|
|||||||
|
|
||||||
from core import httptools, scrapertools, filetools
|
from core import httptools, scrapertools, filetools
|
||||||
from platformcode import logger, config, platformtools
|
from platformcode import logger, config, platformtools
|
||||||
|
from lib.fakeMail import Gmailnator
|
||||||
|
|
||||||
baseUrl = 'https://hdmario.live'
|
baseUrl = 'https://hdmario.live'
|
||||||
|
|
||||||
@@ -37,60 +38,75 @@ def registerOrLogin(page_url, forced=False):
|
|||||||
setting.server_config(Item(config='hdmario'))
|
setting.server_config(Item(config='hdmario'))
|
||||||
login()
|
login()
|
||||||
else:
|
else:
|
||||||
logger.info('Registrazione automatica in corso')
|
|
||||||
import random
|
import random
|
||||||
import string
|
import string
|
||||||
randEmail = ''.join(random.choice(string.ascii_letters + string.digits) for i in range(random.randint(9, 14))) + '@gmail.com'
|
logger.info('Registrazione automatica in corso')
|
||||||
|
mailbox = Gmailnator()
|
||||||
randPsw = ''.join(random.choice(string.ascii_letters + string.digits) for i in range(10))
|
randPsw = ''.join(random.choice(string.ascii_letters + string.digits) for i in range(10))
|
||||||
logger.info('email: ' + randEmail)
|
captcha = httptools.downloadpage(baseUrl + '/captchaInfo').json
|
||||||
|
logger.info('email: ' + mailbox.address)
|
||||||
logger.info('pass: ' + randPsw)
|
logger.info('pass: ' + randPsw)
|
||||||
nTry = 0
|
reg = platformtools.dialog_register(baseUrl + '/register/', email=True, password=True, email_default=mailbox.address, password_default=randPsw, captcha_img=captcha['captchaUrl'])
|
||||||
while nTry < 5:
|
if not reg:
|
||||||
nTry += 1
|
return False
|
||||||
rq = 'loggedin' in httptools.downloadpage(baseUrl + '/register/',
|
regPost = httptools.downloadpage(baseUrl + '/register/',
|
||||||
post={'email': randEmail, 'email_confirmation': randEmail,
|
post={'email': reg['email'], 'email_confirmation': reg['email'],
|
||||||
'password': randPsw,
|
'password': reg['password'],
|
||||||
'password_confirmation': randPsw}).url
|
'password_confirmation': reg['password'],
|
||||||
if rq:
|
'captchaUuid': captcha['captchaUuid'],
|
||||||
config.set_setting('username', randEmail, server='hdmario')
|
'captcha': reg['captcha']})
|
||||||
|
if reg['email'] == mailbox.address:
|
||||||
|
mail = mailbox.waitForMail()
|
||||||
|
if mail:
|
||||||
|
checkUrl = scrapertools.find_single_match(mail.body, "https://ilcontrollore\.com/article\.php\?[^\s]+")
|
||||||
|
httptools.downloadpage(checkUrl)
|
||||||
|
config.set_setting('username', mailbox.address, server='hdmario')
|
||||||
config.set_setting('password', randPsw, server='hdmario')
|
config.set_setting('password', randPsw, server='hdmario')
|
||||||
platformtools.dialog_ok('HDmario',
|
platformtools.dialog_ok('HDmario',
|
||||||
'Registrato automaticamente con queste credenziali:\nemail:' + randEmail + '\npass: ' + randPsw)
|
'Registrato automaticamente con queste credenziali:\nemail:' + mailbox.address + '\npass: ' + randPsw)
|
||||||
break
|
else:
|
||||||
|
platformtools.dialog_ok('HDmario', 'Impossibile registrarsi automaticamente')
|
||||||
|
return False
|
||||||
else:
|
else:
|
||||||
platformtools.dialog_ok('HDmario', 'Impossibile registrarsi automaticamente')
|
platformtools.dialog_ok('HDmario', 'Hai modificato la mail quindi KoD non sarà in grado di effettuare la verifica in autonomia, apri la casella ' + reg['email']
|
||||||
|
+ ' e clicca sul link. Premi ok quando fatto')
|
||||||
logger.info('Registrazione completata')
|
logger.info('Registrazione completata')
|
||||||
global page, data
|
global page, data
|
||||||
page = httptools.downloadpage(page_url)
|
page = httptools.downloadpage(page_url)
|
||||||
data = page.data
|
data = page.data
|
||||||
|
|
||||||
|
return True
|
||||||
|
|
||||||
|
|
||||||
def get_video_url(page_url, premium=False, user="", password="", video_password=""):
|
def get_video_url(page_url, premium=False, user="", password="", video_password=""):
|
||||||
global page, data
|
global page, data
|
||||||
page_url = page_url.replace('?', '')
|
page_url = page_url.replace('?', '')
|
||||||
logger.info("url=" + page_url)
|
logger.info("url=" + page_url)
|
||||||
|
|
||||||
if 'unconfirmed' in page.url:
|
if 'unconfirmed' in page.url:
|
||||||
from lib import onesecmail
|
|
||||||
id = page_url.split('/')[-1]
|
id = page_url.split('/')[-1]
|
||||||
mail = onesecmail.getRandom()
|
mailbox = Gmailnator()
|
||||||
postData = {
|
postData = {
|
||||||
'email': mail,
|
'email': mailbox.address,
|
||||||
'hls_video_id': id
|
'hls_video_id': id
|
||||||
}
|
}
|
||||||
httptools.downloadpage(page.url, post=postData)
|
httptools.downloadpage(page.url, post=postData)
|
||||||
jsonMail = onesecmail.waitForMail(mail)
|
mail = mailbox.waitForMail()
|
||||||
logger.info(jsonMail)
|
logger.info(mail)
|
||||||
if jsonMail:
|
if mail:
|
||||||
code = jsonMail['subject'].split(' - ')[0]
|
code = mail.subject.split(' - ')[0]
|
||||||
page = httptools.downloadpage(page_url + '?code=' + code)
|
page = httptools.downloadpage(page_url + '?code=' + code)
|
||||||
data = page.data
|
data = page.data
|
||||||
|
|
||||||
if '/unauthorized' in page.url:
|
if '/unauthorized' in page.url or '/not-active' in page.url:
|
||||||
registerOrLogin(page_url)
|
httptools.set_cookies({}, True) # clear cookies
|
||||||
|
if not registerOrLogin(page_url):
|
||||||
|
return []
|
||||||
|
|
||||||
if 'Registrati' in data:
|
elif 'Registrati' in data:
|
||||||
platformtools.dialog_ok('HDmario', 'Username/password non validi')
|
platformtools.dialog_ok('HDmario', 'Username/password non validi')
|
||||||
registerOrLogin(page_url, True)
|
if not registerOrLogin(page_url, True):
|
||||||
|
return []
|
||||||
logger.info(data)
|
logger.info(data)
|
||||||
from lib import jsunpack_js2py
|
from lib import jsunpack_js2py
|
||||||
unpacked = jsunpack_js2py.unpack(scrapertools.find_single_match(data, '<script type="text/javascript">\n*\s*\n*(eval.*)'))
|
unpacked = jsunpack_js2py.unpack(scrapertools.find_single_match(data, '<script type="text/javascript">\n*\s*\n*(eval.*)'))
|
||||||
|
|||||||
Reference in New Issue
Block a user