- wtv-cookie support
 - further development will be in dev branch (may rebase alot)
 - compression not yet ready, leave it disabled
 - update: do not delete WTVSec on last socket, instead recreate on prereg
 - update: clean up SSID session data only if client is not seen for 3 minutes
 - update: add shouldWeCompress() function
 - update: tweak lzpf (still corrupted)
 - update: rename wtv-setup:/get to wtv-setup:/get-settings
 - update: add additional headers to wtv-setup:/get-settings
 - update: add initial blank wtv-music:/get-playlist
 - update wtv-tricks system
   - Info now shows Guest Mode or Subscriber Info
   - Implemented wtv-tricks:/unregister
   - Implemented wtv-tricks:/register
   - Show correct link in wtv-tricks:/tricks based on Guest Mode status
 - config.json: enable compression by default
 - WTVP does not use \r, so swapping the internal header's usage for now. May remove internal header in future update
 - lzpf: this doesn't fix anything but doesn't break it more either :)
  - renamed some functions
  - fixed some param documentation
  - added ConvertToBuffer function
 - WTVSec Updates
  - optimize WordArray to Buffer functions
  - update documentation in WTVSec
  - update WTVSec barrowed function in WTVLzpf
  - removed NewRC4Session, was a pointless alias to SecureOn
This commit is contained in:
zefie
2021-08-07 17:04:17 -04:00
parent 622afce5c7
commit df472ab91f
39 changed files with 794 additions and 387 deletions

View File

@@ -1,6 +1,6 @@
// Allow URL access outside our trusted minisrv
if (request_headers.query.url) var url = unescape(request_headers.query.url);
if (request_headers.query.url) var url = request_headers.query.url;
else var url = "client:showalert?message=Please%20provide%20a%20%3Furl%3D%20with%20the%20url%20you%20would%20like%20to%20access.&buttonlabel1=Okay&buttonacction1=client:donothing"
headers = `200 OK

View File

@@ -6,7 +6,7 @@ Content-type: text/html`
var visit_url = null;
if (request_headers.Referer) visit_url = request_headers.Referer;
else if (request_headers.query.return_to) visit_url = unescape(request_headers.query.return_to);
else if (request_headers.query.return_to) visit_url = request_headers.query.return_to;
else visit_url = "client:goback";
data = `<html>

View File

@@ -50,6 +50,10 @@ Content-Type: text/html`
<td valign=top align=right><shadow>Connected to:</shadow>
<td width=10>
<td valign=top>Mini Service
<tr>
<td valign=top align=right><shadow>Host/Port:</shadow>
<td width=10>
<td valign=top>${service_ip}/${minisrv_config.services[service_name].port}
<tr>
<td valign=top align=right width=150><shadow>Service:</shadow>
<td width=10>
@@ -76,11 +80,28 @@ Content-Type: text/html`
<td valign=top align=right><shadow>Client IP number:</shadow>
<td width=10>
<td valign=top>${socket.remoteAddress}
<tr>
<td valign=top align=right><shadow>Service IP number:</shadow>
`;
if (ssid_sessions[socket.ssid].getSessionData("registered")) {
data += `<tr>
<td valign=top align=right><shadow>Subscriber Name:</shadow>
<td width=10>
<td valign=top>${service_ip}
<td valign=top>${ssid_sessions[socket.ssid].getSessionData("subscriber_name")}
<tr>
<td valign=top align=right><shadow>Subscriber Username:</shadow>
<td width=10>
<td valign=top>${ssid_sessions[socket.ssid].getSessionData("subscriber_username")}
<tr>
<td valign=top align=right><shadow>Subscriber Contact:</shadow>
<td width=10>
<td valign=top>${ssid_sessions[socket.ssid].getSessionData("subscriber_contact")} (${ssid_sessions[socket.ssid].getSessionData("subscriber_contact_method")})`;
} else {
data += `<tr>
<td valign=top align=right><shadow>Unregistered Guest:</shadow>
<td width=10>
<td valign=top>Yes`;
}
data += `<tr>
<td height=20>
<tr>
<td valign=top align=right><shadow>ROM type:</shadow>
@@ -106,7 +127,7 @@ Content-Type: text/html`
<tr>
<td valign=top align=right><shadow>SysConfig:</shadow>
<td width=10>
<td valign=top>0x${wtv_system_sysconfig_hex.toUpperCase()}
<td valign=top>0x${wtv_system_sysconfig_hex}
</table>
<table>

View File

@@ -0,0 +1,39 @@
headers = `200 OK
Content-Type: text/html`;
if (ssid_sessions[socket.ssid].getSessionData("registered")) {
var redirect = [10, "client:goback?"];
var message = "Error: Your box is already registered. If you would like to re-register, you must first unregister.";
} else if (request_headers.query.confirm_register) {
headers += `
wtv-noback-all: wtv-
wtv-expire-all: wtv-
wtv-relogin-url: wtv-1800:/preregister?relogin=true
wtv-reconnect-url: wtv-1800:/preregister?reconnect=true
wtv-boot-url: wtv-1800:/preregister?relogin=true`;
var redirect = [3, "client:relog?"];
var message = "You will now be be redirected to registration.<br><br>";
message += `<a href="${redirect[1]}">Click here if you are not automatically redirected.</a>`;
} else {
message = `Are you ready to register your box with ${minisrv_config.config.service_name}?
<br><br>
<form action="register" method="POST" ENCTYPE="x-www-form-encoded">
<input type="button" action="client:goback" value="Nah, I like being a Guest" borderimage="file://ROM/Borders/ButtonBorder2.bif" text="#dadada" >
<input type="submit" name="confirm_register" value="Yes, I'm ready to register!" borderimage="file://ROM/Borders/ButtonBorder2.bif" text="#dadada" selected>
</form>`;
}
data = `<html>
<head>
<display fontsize=medium>
<title>Comfy Zone!</title>
`;
if (redirect) data += `<meta http-equiv=Refresh content="${redirect[0]}; url=${redirect[1]}">`;
data += `</head>
<body bgcolor="#202020" text="#dadada" link="#dadada" alink="#dadada" vlink="#dadada">
<br><br>
${message}
</body>
</html>
`;

View File

@@ -38,7 +38,11 @@ data = `<html>
<tr>
<td><a href="client:showservices">Show Services</a>
<td width = 25>
<td><a href="wtv-tricks:/unregister">Unregister This Box</a>
`;
if (ssid_sessions[socket.ssid].getSessionData("registered")) data += `<td><a href="wtv-tricks:/unregister">Unregister This Box</a>`;
else data += `<td><a href="wtv-tricks:/register">Register This Box</a>`
data += `
<tr>
<td colspan=3 height=6>
<tr>

View File

@@ -0,0 +1,42 @@
headers = `200 OK
Content-Type: text/html`;
if (!ssid_sessions[socket.ssid].getSessionData("registered")) {
var redirect = [10, "client:goback?"];
var message = "Error: Your box is not registered. You are accessing " + minisrv_config.config.service_name + " in Guest Mode. There is nothing to delete!";
} else if (request_headers.query.confirm_unregister) {
if (ssid_sessions[socket.ssid].unregisterBox()) {
headers += "\nwtv-noback-all: wtv-";
headers += "\nwtv-expire-all: wtv-";
var redirect = [3, "client:relog?"];
var message = "Your account data has been successfully removed. You will now be be redirected to registration.<br><br>";
message += `<a href="${redirect[1]}">Click here if you are not automatically redirected.</a>`;
} else {
var redirect = [10, "client:goback?"];
var message = "There was an error deleting your account data. Please try again later. If the problem persists, please contact " + minisrv_config.config.service_owner + " to request manual deletion.";
message += "SSID verifcation may be required to perform a manual deletion.< br > <br>Returning from whence you came...<br><br>";
message += `<a href="${redirect[1]}">Click here if you are not automatically redirected.</a>`;
}
} else {
message = `Are you sure you wish to unregister your account? Session Data deleted by this tool is unrecoverable, even by ${minisrv_config.config.service_owner}.
Please be absolutely sure this is what you want to do!<br><br>
<form action="unregister" method="POST" ENCTYPE="x-www-form-encoded">
<input type="button" action="client:goback" value="No, I changed my mind" borderimage="file://ROM/Borders/ButtonBorder2.bif" text="gold" selected>
<input type="submit" name="confirm_unregister" value="Yes, delete my account" borderimage="file://ROM/Borders/ButtonBorder2.bif" text="gold">
</form>`;
}
data = `<html>
<head>
<display fontsize=medium>
<title>Danger Zone!</title>
`;
if (redirect) data += `<meta http-equiv=Refresh content="${redirect[0]}; url=${redirect[1]}">`;
data += `</head>
<body bgcolor="#000000" text="gold" link="gold" alink="gold" vlink="gold">
<br><br>
${message}
</body>
</html>
`;