diff --git a/zefie_wtvp_minisrv/ServiceVault/wtv-passport/messengerlogin.js b/zefie_wtvp_minisrv/ServiceVault/wtv-passport/messengerlogin.js index 61e81ddb..006aec39 100644 --- a/zefie_wtvp_minisrv/ServiceVault/wtv-passport/messengerlogin.js +++ b/zefie_wtvp_minisrv/ServiceVault/wtv-passport/messengerlogin.js @@ -4,39 +4,52 @@ wtv-encrypted: true Expires: Wed, 09 Oct 1991 22:00:00 GMT Content-Type: text/plain` -const crypto = require('crypto'); -const https = require("https"); - -const algorithm = 'aes-256-ctr'; var email = ssid_sessions[socket.ssid].getSessionData("messenger_email") + "%40" + ssid_sessions[socket.ssid].getSessionData("messenger_domain"); var password = ssid_sessions[socket.ssid].decryptPassword(ssid_sessions[socket.ssid].getSessionData("messenger_password")); var challenge = request_headers.request.split('?')[1]; if (request_headers.request.split('?')[1].substring(0, 3) != "ct=") { -console.log("Logging into Messenger via MSNP3") -data = require('crypto').createHash('md5').update(request_headers.request.split('?')[1] + password).digest("hex"); + console.log(" *** Logging into Messenger via MSNP3") + data = require('crypto').createHash('md5').update(request_headers.request.split('?')[1] + password).digest("hex"); } else { - const fetch = require('node-fetch') - console.log("Logging into Messenger via MSNP8") + console.log(" *** Logging into Messenger via MSNP8") request_is_async = true; // Make us async - - async function auth() { - var response = await fetch('https://msnmsgr.escargot.chat/rdr/pprdr.asp') - var passporturls = response.headers.get('passporturls').split("DALogin=")[1]; - var options = { - method: 'GET', - headers: {"Authorization": "Passport1.4 OrgVerb=GET,OrgURL=http%3A%2F%2Fmessenger%2Emsn%2Ecom,sign-in=" + email + ",pwd=" + encodeURIComponent(password) + "," + challenge} -} - response = await fetch(passporturls, options) - var pp = response.headers.get('authentication-info'); - pp = pp.split("from-PP='")[1]; - pp = pp.split("'")[0]; - return pp; - } - - (async () => { - let authdata = await auth(); - sendToClient(socket, headers, authdata); -})(); + const request = https.get('https://msnmsgr.escargot.chat/rdr/pprdr.asp', (response) => { + let req_data = ''; + response.on('data', (chunk) => { + req_data += chunk.toString(); + }); + + response.on('end', () => { + var passporturls = response.headers['passporturls'].split("DALogin=")[1]; + request.end(); + var options = { + method: 'GET', + headers: { "Authorization": "Passport1.4 OrgVerb=GET,OrgURL=http%3A%2F%2Fmessenger%2Emsn%2Ecom,sign-in=" + email + ",pwd=" + encodeURIComponent(password) + "," + challenge } + } + const request2 = https.get(passporturls, options, (response) => { + let req_data = ''; + response.on('data', (chunk) => { + req_data += chunk.toString(); + }); + + response.on('end', () => { + var pp = response.headers['authentication-info']; + pp = pp.split("from-PP='")[1]; + pp = pp.split("'")[0]; + data = pp; + sendToClient(socket, headers, data); + }); + }); + request2.on('error', (error) => { + console.log(' *** Error (Stage 1)', error); + }); + + }); + }); + + request.on('error', (error) => { + console.log(' *** Error (Stage 1)', error); + }); } \ No newline at end of file diff --git a/zefie_wtvp_minisrv/zefie_wtvp_minisrv.njsproj b/zefie_wtvp_minisrv/zefie_wtvp_minisrv.njsproj index 9147fff2..2900f297 100644 --- a/zefie_wtvp_minisrv/zefie_wtvp_minisrv.njsproj +++ b/zefie_wtvp_minisrv/zefie_wtvp_minisrv.njsproj @@ -243,6 +243,7 @@ + Code @@ -460,6 +461,7 @@ +