initial messenger support

This commit is contained in:
zefie
2022-10-07 23:33:18 -04:00
parent 7e92731929
commit 14d25e15a6
10 changed files with 719 additions and 5 deletions

View File

@@ -43,6 +43,7 @@ else {
var human_name = ssid_sessions[socket.ssid].getSessionData("subscriber_name") || nickname;
var messenger_enabled = ssid_sessions[socket.ssid].getSessionData("messenger_enabled") || 0;
var messenger_authorized = ssid_sessions[socket.ssid].getSessionData("messenger_authorized") || 0;
var messenger_email = ssid_sessions[socket.ssid].getSessionData("messenger_email");
var gourl = "wtv-home:/splash?";
}
var limitedLogin = ssid_sessions[socket.ssid].lockdown;
@@ -93,7 +94,6 @@ wtv-transition-override: off
wtv-smartcard-inserted-message: Contacting service
wtv-ssl-timeout: 240
wtv-login-timeout: 7200
wtv-mail-url: wtv-mail:/listmail
`;
if (!limitedLogin && !limitedLoginRegistered) {
ssid_sessions[socket.ssid].assignMailStore();
@@ -102,6 +102,9 @@ wtv-mail-url: wtv-mail:/listmail
headers += `wtv-messenger-authorized: ${messenger_authorized}
wtv-messenger-enable: ${messenger_enabled}
wtv-messagewatch-checktimeoffset: off
wtv-messenger-server: msnmsgr.escargot.chat
wtv-user-name: ${ssid_sessions[socket.ssid].getSessionData("messenger_email")}
wtv-messenger-login-url: wtv-passport:/messengerlogin
`;
} else {
/*
@@ -124,8 +127,10 @@ wtv-ssl-log-url: wtv-log:/log
headers += `wtv-bypass-proxy: false
user-id: ${userid}
wtv-human-name: ${human_name}
wtv-mail-url: wtv-mail:/listmail
${ssid_sessions[socket.ssid].setIRCNick(nickname)}
wtv-domain: ${minisrv_config.config.domain_name}
wtv-domain: ${ssid_sessions[socket.ssid].getSessionData("messenger_domain")}
passport-domain: ${ssid_sessions[socket.ssid].getSessionData("messenger_domain")}
wtv-input-timeout: 14400
wtv-connection-timeout: 1440
wtv-fader-timeout: 1440

View File

@@ -0,0 +1,42 @@
headers = `200 OK
Connection: Keep-Alive
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");
} else {
const fetch = require('node-fetch')
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);
})();
}

View File

@@ -0,0 +1,126 @@
var minisrv_service_file = true;
headers = `200 OK
Connection: Keep-Alive
Content-Type: text/html`
data = `<!--- *=* Copyright 1996, 1997 WebTV Networks, Inc. All rights reserved. --->
<HTML>
<HEAD>
<TITLE>
Messenger account
</TITLE>
<DISPLAY noscroll nologo>
</HEAD>
<sidebar width=110> <table cellspacing=0 cellpadding=0 BGCOLOR=452a36>
<tr>
<td colspan=3 abswidth=104 absheight=4>
<td rowspan=99 width=6 absheight=420 valign=top align=left>
<img src="file://ROM/Cache/Shadow.gif" width=6 height=420>
<tr>
<td abswidth=6>
<td abswidth=92 absheight=76>
<table absheight=76 cellspacing=0 cellpadding=0>
<tr>
<td align=right>
<img src="${minisrv_config.config.service_logo}" width=87 height=67>
</table>
<td abswidth=6>
<tr><td absheight=5 colspan=3>
<table cellspacing=0 cellpadding=0>
<tr><td abswidth=104 absheight=2 valign=middle align=center bgcolor=2e1e26>
<spacer>
<tr><td abswidth=104 absheight=1 valign=top align=left>
<tr><td abswidth=104 absheight=2 valign=top align=left bgcolor=6b4657>
<spacer>
</table>
<tr><td absheight=132>
<tr><td absheight=166 align=right colspan=3>
<img src="ROMCache/SettingsBanner.gif" width=54 height=166>
<tr><td absheight=41>
</table>
</sidebar>
<BODY BGCOLOR="#191919" TEXT="#42CC55" LINK="189CD6" VLINK="189CD6" HSPACE=0 VSPACE=0 FONTSIZE="large"
>
<table cellspacing=0 cellpadding=0>
<tr>
<td abswidth=14>
<td colspan=3>
<table cellspacing=0 cellpadding=0>
<tr>
<td valign=center absheight=80>
<font size="+2" color="E7CE4A"><blackface><shadow>
Messenger account
</table>
<td abswidth=20>
<TR>
<td>
<td WIDTH=205 HEIGHT=250 VALIGN=top ALIGN=left>
<table cellspacing=0 cellpadding=0>
<tr>
<td absheight=195 valign=top>
Type your Messenger account details here.
<p>The settings will take effect
the next time you connect to WebTV.
</table>
<TD WIDTH=20>
<TD WIDTH=198 VALIGN=top ALIGN=left>
<table cellspacing=0 cellpadding=0>
<tr>
<td align=left>
User Name<form action=validate-messenger-account>
<INPUT noSubmit name="email" id="email" Value="${ssid_sessions[socket.ssid].getSessionData("messenger_email")}"
bgcolor=#444444 text=#ffdd33 cursor=#cc9933
TYPE="input" ASCIIONLY
SIZE="16"
MAXLENGTH="16"></FONT>
<p>
<input type="hidden" autosubmit="onLeave">
<select name="domain">
<option value="escargot.chat">@escargot.chat
</option><option value="escargot.live">@escargot.live
</option></select>
<p>
Password
<INPUT noSubmit name="password" id="password" Value=""
bgcolor=#444444 text=#ffdd33 cursor=#cc9933
TYPE="password" ASCIIONLY
SIZE="16"
MAXLENGTH="20"></input>
<br><br>
Type again to verify
<INPUT noSubmit name="password_verify" id="password_verify" Value=""
bgcolor=#444444 text=#ffdd33 cursor=#cc9933
TYPE="password" ASCIIONLY
SIZE="16"
MAXLENGTH="20">
</table>
<TR>
<TD>
<TD COLSPAN=4 HEIGHT=0 VALIGN=top ALIGN=left>
<tr>
<TD>
<td colspan=4 height=2 valign=middle align=center bgcolor="2B2B2B">
<spacer type=block width=436 height=1>
<tr>
<TD>
<td colspan=4 height=1 valign=top align=left>
<tr>
<TD>
<td colspan=4 height=2 valign=top align=left bgcolor="0D0D0D">
<spacer type=block width=436 height=1>
<TR>
<TD>
<TD COLSPAN=4 HEIGHT=4 VALIGN=top ALIGN=left>
<TR>
<TD>
<TD COLSPAN=2 VALIGN=top ALIGN=left>
<TD VALIGN=top ALIGN=right>
<FONT COLOR="#E7CE4A" SIZE=-1><SHADOW>
<INPUT TYPE=SUBMIT BORDERIMAGE="file://ROM/Borders/ButtonBorder2.bif" Value=Done NAME="Done" USESTYLE WIDTH=103>
</SHADOW></FONT></FORM>
<TD>
</TABLE>
</BODY>
</HTML>
`;

View File

@@ -0,0 +1,238 @@
var minisrv_service_file = true;
headers = `200 OK
Connection: Keep-Alive
Content-Type: text/html`
data = `<script language="Javascript">
function getHumanName(emailAddress)
{ return Blim.getUmanName(emailAddress); }
function setHumanName(emailAddress, newName)
{ return Blim.setUmanName(emailAddress, newName); }
function MessengerIsOkay()
{ return ( Blim.isAlive() );
}
function isFriend(emailAddress)
{ return Blim.isInList("FL", emailAddress);
}
function isBlocked(emailAddress)
{ return Blim.isInList("BL", emailAddress);
}
function isAllowed(emailAddress)
{ return Blim.isInList("AL", emailAddress);
}
// policy: if the user adds a friend, we automatically allow and unblock
// the person at the same time
function befriendThisPerson(emailAddress)
{ Blim.addToList("FL", emailAddress);
var executeAllow = "allowThisPerson('" + emailAddress + "');";
var executeUnblock = "unblockThisPerson('" + emailAddress + "');";
setTimeout(executeAllow, 1*1000);
setTimeout(executeUnblock, 2*1000);
}
// policy: do not block when un-buddying-- make sure person is on allow list
function defriendThisPerson(emailAddress)
{ Blim.removeFromList("FL", emailAddress);
var executeAllow = "allowThisPerson('" + emailAddress + "');";
setTimeout(executeAllow, 1*500);
setTimeout(refreshFriendList, 1*600);
}
function blockThisPerson(emailAddress)
{ Blim.removeFromList("AL", emailAddress);
setTimeout("blockThisPersonCore('" + emailAddress + "');", 1*1000);
setTimeout(refreshFriendList, 1*1100);
}
function blockThisPersonCore(emailAddress)
{ Blim.addToList("BL", emailAddress);
}
function unblockThisPerson(emailAddress)
{ Blim.removeFromList("BL", emailAddress);
setTimeout("allowThisPersonCore('" + emailAddress + "');", 1*1000);
setTimeout(refreshFriendList, 1*1100);
}
function allowThisPerson(emailAddress)
{ Blim.removeFromList("BL", emailAddress);
setTimeout("allowThisPersonCore('" + emailAddress + "');", 1*1000);
}
function allowThisPersonCore(emailAddress)
{ Blim.addToList("AL", emailAddress);
}
function disallowThisPerson(emailAddress)
{ Blim.removeFromList("AL", emailAddress);
setTimeout("blockThisPersonCore('" + emailAddress + "');", 1*1000);
}
// convenience: start a conversation
function StartConversation(emailAddress)
{ Blim.openConversation( emailAddress ); Blim.openMessagesPanel();
} // convenience: bring up the main Messenger panel
function ShowMessengerPanel()
{ Blim.openMessagesPanel();
}
</script>
<script language="Javascript">
var gTheList = "FL";
var gUserHasNoFriends = (Blim.listLength("FL") < 0);
function scrollFriendList()
{ var scrawlHere = document.friendList.document;
// handle scrolling here when we get art and some scroll position client javascript
}
function refreshFriendList()
{ var i;
var scrawlHere = document.friendList.document;
scrawlHere.open("text/html", "replace");
var atLeastOneConnected = false;
if (! Blim.isAlive() )
{ scrawlHere.write("<table border=0 cellspacing=3 cellpadding=0><tr>");
scrawlHere.write("<tr><td><font color=#FFEFAD>");
scrawlHere.write("MSN Messenger is currently turned off. To send and receive instant ");
scrawlHere.write("messages again, choose <b>Turn MSN Messenger on</b>.");
scrawlHere.write("</font>");
scrawlHere.write("</table>");
scrawlHere.close();
return;
}
var listLength = Blim.listLength("FL");
if (listLength == 0)
{ scrawlHere.write('<table border=0 cellspacing=3 cellpadding=0 ><tr>');
scrawlHere.write("<tr><td><font color=FFEFAD size=-1>You don't have any buddies yet. ");
scrawlHere.write('<p>To add a buddy or send an instant message, ');
scrawlHere.write('choose <b>Use MSN Messenger now</b>. ');
scrawlHere.write('You can also add buddies in your Address book.');
}
else
{ scrawlHere.write("<table border=0 cellspacing=3 cellpadding=0><tr>");
var isFirst = true;
for ( i=0 ; i < listLength; i++)
{ var ID = Blim.listItem("FL", i);
var humanName = Blim.getUmanName(ID);
scrawlHere.write('<tr><td maxlines=1><b><a ');
if (isFirst)
{ scrawlHere.write(" id=firstFriend selected ");
isFirst = false;
}
scrawlHere.write('href="javascript:void(StartConversation(');
scrawlHere.write("'");
scrawlHere.write(ID);
scrawlHere.write("'");
scrawlHere.write('))">');
scrawlHere.write("<font color=FFEFAD>"); scrawlHere.write(escapeHTML(humanName));
scrawlHere.write('</a><font color=FFEFAD> - ');
scrawlHere.write('<a href="javascript:void(defriendThisPerson(');
scrawlHere.write("'");
scrawlHere.write(ID);
scrawlHere.write("'");
scrawlHere.write('))">');
scrawlHere.write("<font color=FFEFAD>"); scrawlHere.write('Remove');
scrawlHere.write('</a><font color=FFEFAD> - ');
if (isBlocked(ID)) {
scrawlHere.write('<a href="javascript:void(unblockThisPerson(');
scrawlHere.write("'");
scrawlHere.write(ID);
scrawlHere.write("'");
scrawlHere.write('))">');
scrawlHere.write("<font color=FFEFAD>");
scrawlHere.write('Unblock');
} else {
scrawlHere.write('<a href="javascript:void(blockThisPerson(');
scrawlHere.write("'");
scrawlHere.write(ID);
scrawlHere.write("'");
scrawlHere.write('))">');
scrawlHere.write("<font color=FFEFAD>");
scrawlHere.write('Block');
}
}
}
scrawlHere.write("</font>");
scrawlHere.write("</table>");
scrawlHere.close();
}
</script>
<script language="Javascript">
</script>
<HTML>
<head>
<title> Choose who can send messages
</title>
</head>
<display nosave>
<body bgcolor="#2E2E2A" text="#CBCBCB" link="#FFE99B" vlink="#FFE99B" hspace=0 vspace=0 fontsize="medium">
<table cellspacing=0 cellpadding=0 border=0 bgcolor=#645D5F>
<tr>
<td height=7 colspan=4>
<tr>
<td width=7>
<td width=87 href="wtv-home:/home">
<img src="/ROMCache/WebTVLogoJewel.gif" width=87 height=67>
<td width=7>
<td width=459 valign=bottom>
<img src="wtv-setup:/images/Settings.gif" width=197 height=58>
<tr>
<td height=5 colspan=4>
</table>
<table cellspacing=0 cellpadding=0 border=0>
<tr>
<td width=15 height=25 bgcolor=#645D5F>
<td width=545 height=25 bgcolor=#2E2E2A gradcolor=#23231F gradangle=90>
<table cellspacing=0 cellpadding=0 border=0>
<tr>
<td width=8 height=25 valign=top>
<img src="wtv-setup:/images/CornerTop.gif" width=8 height=8>
<td width=78>
<td abswidth=392 valign=middle maxlines=1>
<blackface><font color=#D6D6D6> Choose who can send messages
</font></blackface>
<td width=21>
<img src="wtv-setup:/images/widget.gif" width=16 height=16>
<td width=34>
<spacer type=vertical size=1><br>
<a href="wtv-guide:/help?topic=Messenger&subtopic=Index"><font sizerange=small color=#E7CE4A><b>Help</b></font></a>
<td width=12>
<img width=1 height=1 src="wtv-mail:/update-light-wtv-token-2295058104-7A30D06D2B14D07410FB5D0C4FABA9FF">
</table>
</table>
<table cellspacing=0 cellpadding=0>
<tr>
<td width=15 rowspan=2 bgcolor=#645D5F>
<td width=48 rowspan=2>
<td width=497 height=237 valign=top>
<form action="wtv-setup:/messenger-validate-list" name="editListForm">
<table cellspacing=0 cellpadding=0>
<tr>
<td height=12 colspan=3>
<tr>
<td abswidth=420 valign=top>
<embed SCROLLTARGET name=friendList usestyle nobackground src="file://ROM/HTMLs/Empty.html" height=208></embed>
<script language="Javascript">
refreshFriendList();
</script>
<table border=0 cellspacing=10 cellpadding=0>
<tr>
<td width=10></td>
<td>
</td>
<td width=10>
</tr>
</table>
</table>
<tr>
<td align=right>
<table cellspacing=0 cellpadding=0>
<tr>
<td>
<spacer type=horizontal size=12>
<font color="#E7CE4A" size=-1><shadow>
<input
type=submit selected
value=Done name="Done" usestyle selected
borderimage="file://ROM/Borders/ButtonBorder2.bif"
width=103>
</shadow></font></form>
<td abswidth=12>
<tr>
<td height=12 colspan=2>
</table>
</table>
</body>
</HTML>
`;

View File

@@ -0,0 +1,20 @@
var minisrv_service_file = true;
if (!ssid_sessions[socket.ssid].getSessionData("messenger_enabled") == 1) {
ssid_sessions[socket.ssid].setSessionData("messenger_enabled", 1);
ssid_sessions[socket.ssid].saveSessionData;
var justenabled = "true"
var enablestatus = "1"
} else {
ssid_sessions[socket.ssid].setSessionData("messenger_enabled", 0);
ssid_sessions[socket.ssid].saveSessionData;
var justenabled = "false"
var enablestatus = "0"
}
headers = `300 OK
Content-type: text/html
wtv-expire: wtv-setup:/messenger
Location: wtv-setup:/messenger?just_enabled=${justenabled}
wtv-messenger-enable: ${enablestatus}
`;

View File

@@ -0,0 +1,127 @@
var minisrv_service_file = true;
headers = `200 OK
Connection: Keep-Alive
Content-Type: text/html`
data = `<HTML>
<head>
<title> MSN Messenger settings
</title>
<script language="Javascript">
function setupSettings()
{ var theForm = document.modeForm;
var goOpenMode = theForm.theListRadio[0];
var goClosedMode = theForm.theListRadio[1];
goOpenMode.checked = ! Blim.isClosedMode();
goClosedMode.checked = Blim.isClosedMode();
}
function makeChanges()
{ var theForm = document.modeForm;
var goOpenMode = theForm.theListRadio[0];
var goClosedMode = theForm.theListRadio[1];
if (goOpenMode.checked)
Blim.setClosedMode(false);
else if (goClosedMode.checked)
Blim.setClosedMode(true);
// window.location = "client:goback";
}
</script>
</head>
<display nosave>
<body bgcolor="#2E2E2A" text="#CBCBCB" link="#FFE99B" vlink="#FFE99B" hspace=0 vspace=0 fontsize="medium">
<table cellspacing=0 cellpadding=0 border=0 bgcolor=#645D5F>
<tr>
<td height=7 colspan=4>
<tr>
<td width=7>
<td width=87 href="wtv-home:/home">
<img src="/ROMCache/WebTVLogoJewel.gif" width=87 height=67>
<td width=7>
<td width=459 valign=bottom>
<img src="wtv-setup:/images/Settings.gif" width=197 height=58>
<tr>
<td height=5 colspan=4>
</table>
<table cellspacing=0 cellpadding=0 border=0>
<tr>
<td width=15 height=25 bgcolor=#645D5F>
<td width=545 height=25 bgcolor=#2E2E2A gradcolor=#23231F gradangle=90>
<table cellspacing=0 cellpadding=0 border=0>
<tr>
<td width=8 height=25 valign=top>
<img src="wtv-setup:/images/CornerTop.gif" width=8 height=8>
<td width=78>
<td abswidth=392 valign=middle maxlines=1>
<blackface><font color=#D6D6D6> MSN Messenger settings
</font></blackface>
<td width=21>
<img src="wtv-setup:/images/widget.gif" width=16 height=16>
<td width=34>
<spacer type=vertical size=1><br>
<a href="wtv-guide:/help?topic=Messenger&subtopic=Index"><font sizerange=small color=#E7CE4A><b>Help</b></font></a>
<td width=12>
<img width=1 height=1 src="wtv-mail:/update-light-wtv-token-745586897-D8457537A2A3153CC59CCCE37A3A93EA">
</table>
</table>
<table cellspacing=0 cellpadding=0>
<tr>
<td width=15 rowspan=2 bgcolor=#645D5F>
<td width=48 rowspan=2>
<td width=497 height=237 valign=top>
<form action="client:goback" ID="modeForm">
<table cellspacing=0 cellpadding=0>
<tr>
<td height=12 colspan=3>
<tr>
<td abswidth=200 valign=top>
You can decide how available you'd like to be with MSN Messenger. <p>
<script language="Javascript">
if (Blim.isClosedMode())
document.write("You currently allow only people on your allow list to send you messages.");
else
document.write("You currently allow everyone except people you've blocked to send you messages.");
</script>
<td abswidth=40>
<spacer type=horizontal size=40>
<td abswidth=220 valign=top>
<table>
<tr>
<td valign=top align=right>
<input type="radio" name="theListRadio" value="chooseOpenMode" onChange="makeChanges()">
<spacer type=horizontal width=2></td>
<td>Allow everyone except people you've blocked to contact you</td>
<tr>
<td height=5>
</tr><tr>
<td valign=top align=right>
<input type="radio" name="theListRadio" value="chooseClosedMode" onChange="makeChanges()">
<spacer type=horizontal width=2></td>
<td>Allow only people on your list to contact you</td>
</tr>
</table>
<script language="Javascript">
setupSettings();
</script>
</table>
<tr>
<td align=right>
<table cellspacing=0 cellpadding=0>
<tr>
<td>
<spacer type=horizontal size=12>
<font color="#E7CE4A" size=-1><shadow>
<input
type=submit selected
value=Done name="Done" usestyle selected
borderimage="file://ROM/Borders/ButtonBorder2.bif"
width=103>
</shadow></font></form>
<td abswidth=12>
<tr>
<td height=12 colspan=2>
</table>
</table>
</body>
</HTML>
`;

View File

@@ -0,0 +1,124 @@
var minisrv_service_file = true;
headers = `200 OK
Connection: Keep-Alive
Content-Type: text/html`
data = `<!--- *=* Copyright 1996, 1997 WebTV Networks, Inc. All rights reserved. --->
<HTML>
<HEAD>
<TITLE>
Messenger
</TITLE>
<DISPLAY noscroll nologo>
</HEAD>
<script language="Javascript">
// convenience: bring up the main Messenger panel
function ShowMessengerPanel()
{ Blim.openMessagesPanel();
}
</script>
<sidebar width=110> <table cellspacing=0 cellpadding=0 BGCOLOR=452a36>
<tr>
<td colspan=3 abswidth=104 absheight=4>
<td rowspan=99 width=6 absheight=420 valign=top align=left>
<img src="file://ROM/Cache/Shadow.gif" width=6 height=420>
<tr>
<td abswidth=6>
<td abswidth=92 absheight=76>
<table absheight=76 cellspacing=0 cellpadding=0>
<tr>
<td align=right>
<img src="${minisrv_config.config.service_logo}" width=87 height=67>
</table>
<td abswidth=6>
<tr><td absheight=5 colspan=3>
<table cellspacing=0 cellpadding=0>
<tr><td abswidth=104 absheight=2 valign=middle align=center bgcolor=2e1e26>
<spacer>
<tr><td abswidth=104 absheight=1 valign=top align=left>
<tr><td abswidth=104 absheight=2 valign=top align=left bgcolor=6b4657>
<spacer>
</table>
<tr><td absheight=132>
<tr><td absheight=166 align=right colspan=3>
<img src="ROMCache/SettingsBanner.gif" width=54 height=166>
<tr><td absheight=41>
</table>
</sidebar>
<BODY BGCOLOR="#191919" TEXT="#42CC55" LINK="189CD6" VLINK="189CD6" HSPACE=0 VSPACE=0 FONTSIZE="large"`;
if (request_headers.query.just_enabled == "true") {
data += "onload=ShowMessengerPanel()"
} data += `
>
<table cellspacing=0 cellpadding=0>
<tr>
<td abswidth=14>
<td colspan=3>
<table cellspacing=0 cellpadding=0>
<tr>
<td valign=center absheight=80>
<font size="+2" color="E7CE4A"><blackface><shadow>
Messenger
</table>
<td abswidth=20>
<TR>
<td>
<td WIDTH=205 HEIGHT=250 VALIGN=top ALIGN=left>
<table cellspacing=0 cellpadding=0>
<tr>
<td absheight=195 valign=top>
Messenger is currently <b>`;
if (ssid_sessions[socket.ssid].getSessionData("messenger_enabled") == 1) {
data += "on"
} else {
data += "off"
} data += `</b>.
</table>
<TD WIDTH=20>
<TD WIDTH=198 VALIGN=top ALIGN=left>
<table cellspacing=0 cellpadding=0>
<tr>
<td align=left>
<a href="messenger-enable">Turn messenger `;
if (!ssid_sessions[socket.ssid].getSessionData("messenger_enabled") == 1) {
data += "on"
} else {
data += "off"
} data += `</a></FONT>
<p>
<a href="messenger-account">Change your account</a>
<!--<p>
<a href="client:SetSetupValue?setup-font-sizes=large">large</a></FONT>-->
</table>
</form>
<TR>
<TD>
<TD COLSPAN=4 HEIGHT=0 VALIGN=top ALIGN=left>
<tr>
<TD>
<td colspan=4 height=2 valign=middle align=center bgcolor="2B2B2B">
<spacer type=block width=436 height=1>
<tr>
<TD>
<td colspan=4 height=1 valign=top align=left>
<tr>
<TD>
<td colspan=4 height=2 valign=top align=left bgcolor="0D0D0D">
<spacer type=block width=436 height=1>
<TR>
<TD>
<TD COLSPAN=4 HEIGHT=4 VALIGN=top ALIGN=left>
<TR>
<TD>
<TD COLSPAN=2 VALIGN=top ALIGN=left>
<TD VALIGN=top ALIGN=right>
<FORM action="wtv-setup:/setup">
<FONT COLOR="#E7CE4A" SIZE=-1><SHADOW>
<INPUT TYPE=SUBMIT BORDERIMAGE="file://ROM/Borders/ButtonBorder2.bif" Value=Done NAME="Done" USESTYLE WIDTH=103>
</SHADOW></FONT></FORM>
<TD>
</TABLE>
</BODY>
</HTML>
`;

View File

@@ -119,14 +119,16 @@ data += `
if (ssid_sessions[socket.ssid].user_id == 0) {
data += `<img src="ROMCache/BulletArrow.gif" width=6 height=13 valign=absmiddle><spacer type=block width=6 height=1>
<a href="wtv-setup:/serve-billing-overview">Account</a><BR>
<a href="wtv-setup:/accounts">Extra Users</a><BR>
<spacer type=block width=1 height=5><BR>`;
}
data += `
<img src="ROMCache/BulletArrow.gif" width=6 height=13 valign=absmiddle><spacer type=block width=6 height=1>
<a href="wtv-setup:/phone")">Dialing</a><BR>
<a href="wtv-setup:/messenger">Messenger</a><BR>
<spacer type=block width=1 height=5><BR>
<img src="ROMCache/BulletArrow.gif" width=6 height=13 valign=absmiddle><spacer type=block width=6 height=1>
<a href="wtv-setup:/phone">Dialing</a><BR>
<TD WIDTH=20>
<TD WIDTH=300 VALIGN=top ALIGN=left>
@@ -151,6 +153,8 @@ if (ssid_sessions[socket.ssid].user_id == 0) {
data += `<spacer type=block width=6 height=5><font size="2"><br>
Add, change, or remove users<BR>`;
}
data += `<spacer type=block width=6 height=5><font size="2"><br>
Configure Messenger<BR>`;
data += `<spacer type=block width=6 height=6><font size="2"><br>
Connecting to WebTV<BR>

View File

@@ -0,0 +1,24 @@
var minisrv_service_file = true;
var errpage;
if (request_headers.query.email.length < 2) errpage = wtvshared.doErrorPage(400, "Your User Name includes at least 2 characters.");
else if (request_headers.query.email.length > 16) errpage = wtvshared.doErrorPage(400, "Your User Name includes less than 17 characters.");
else if (request_headers.query.password.length < 8) errpage = wtvshared.doErrorPage(400, "Your password includes at least 8 characters.");
else if (request_headers.query.password.length > 20) errpage = wtvshared.doErrorPage(400, "Your password includes less than 21 characters.");
else if (request_headers.query.password !== request_headers.query.password_verify) errpage = wtvshared.doErrorPage(400, "The passwords you entered did not match. Please check them any try again.");
if (errpage) {
headers = errpage[0];
data = errpage[1];
} else {
var encryptedpass = ssid_sessions[socket.ssid].encryptPassword(request_headers.query.password);
ssid_sessions[socket.ssid].setSessionData("messenger_password", encryptedpass);
ssid_sessions[socket.ssid].setSessionData("messenger_email", request_headers.query.email);
ssid_sessions[socket.ssid].setSessionData("messenger_domain", request_headers.query.domain);
ssid_sessions[socket.ssid].saveSessionData();
headers = `300 OK
wtv-expire-all: wtv-setup:/messenger-account
wtv-expire-all: wtv-setup:/validate-messenger-account
Location: wtv-setup:/messenger`
}

View File

@@ -89,6 +89,7 @@
"wtv-setup": {
"port": 1613,
"flags": "0x00000010",
"passport_service": "wtv-passport",
"connections": 3
},
"wtv-music": {
@@ -111,6 +112,9 @@
"port": 1608,
"connections": 3
},
"wtv-passport": {
"port": 1654
},
"wtv-admin": {
"port": 1698,
"enable_multi_query": true,