v0.9.36
- BREAKING CHANGE from v0.9.35 and eariler: Move accounts into subfolder of SessionStore - viewergen and viewer updates from @GraspYonOx - new homepage theme inspired by @GraspYonOx - connect setup also mostly by @GraspYonOx - numerous bug fixes - nntp-server-zefie is now on npmjs - implement proper nodejs debugging - will start to phase out using console.log for actual debugging - existing "debug" (verbose) messages will stay as is - future code debugging will use debug() to debug WIP, therefore not showing to most users if it is accidently left in
@@ -18,7 +18,8 @@ var logos = {
|
||||
}
|
||||
|
||||
var disksets = {
|
||||
0: null
|
||||
0: null,
|
||||
98: "HackTV_min.zip"
|
||||
}
|
||||
|
||||
var viewer_stock_md5s = {
|
||||
@@ -26,7 +27,7 @@ var viewer_stock_md5s = {
|
||||
"WebTVIntel--1.1.exe": "ce7b6d1734b5e3d1cbd5f068609223d1",
|
||||
"WebTVIntel--2.5.exe": "4c5754bb8b69739b6f414c2d159051da",
|
||||
"WebTVIntel--1.0-HE.exe": "391f303fd70034e69d3a50583de72c89",
|
||||
"WebTVIntel--2.5-HE.exe": "f0207865693a45ba76b9057dcb8ea672"
|
||||
"WebTVIntel--2.5-HE.exe": "64edab977ec19a663c5842176bec306a"
|
||||
}
|
||||
|
||||
|
||||
@@ -334,6 +335,8 @@ if (request_headers.query.viewer &&
|
||||
client_ssid = generateSSID();
|
||||
|
||||
var viewer_file = viewers[request_headers.query.viewer];
|
||||
var needs_hacktv_mini = (viewer_file === "WebTVIntel--2.5-HE.exe") ? true : false
|
||||
console.log('needs_hacktv_mini', needs_hacktv_mini)
|
||||
if (!viewer_file) {
|
||||
errpage = wtvshared.doErrorPage("500", null, socket.minisrv_pc_mode)
|
||||
headers = errpage[0];
|
||||
@@ -378,7 +381,7 @@ Content-Disposition: attachment; filename="${viewer_file.replace(".exe", ".zip")
|
||||
var zip = new AdmZip();
|
||||
|
||||
zip.addZipComment("Viewer SSID: " + client_ssid);
|
||||
zip.addFile(viewer_file, patched_file);
|
||||
zip.addFile(viewer_file.replace("--", "-" + client_ssid + "-"), patched_file);
|
||||
if (!request_headers.query.viewer_only) {
|
||||
var romset_zip = new AdmZip(viewergen_resource_dir + viewer_file.replace(".exe", "").replace("WebTVIntel", "AppData") + ".zip");
|
||||
var zipEntries = romset_zip.getEntries();
|
||||
@@ -396,8 +399,10 @@ Content-Disposition: attachment; filename="${viewer_file.replace(".exe", ".zip")
|
||||
zip.addFile(zipEntry.entryName, zipEntry.getData());
|
||||
}
|
||||
});
|
||||
if (request_headers.query.diskset) {
|
||||
var diskset_file = disksets[parseInt(request_headers.query.diskset) || 0];
|
||||
if (request_headers.query.diskset || needs_hacktv_mini) {
|
||||
var diskset_file = 0;
|
||||
if (needs_hacktv_mini) diskset_file = disksets[98];
|
||||
else diskset_file = disksets[parseInt(request_headers.query.diskset) || 0];
|
||||
if (diskset_file) {
|
||||
var diskset_zip = new AdmZip(viewergen_resource_dir + diskset_file);
|
||||
var zipEntries = diskset_zip.getEntries();
|
||||
|
||||
@@ -2,7 +2,8 @@ var minisrv_service_file = true;
|
||||
|
||||
var gourl = "wtv-head-waiter:/login?";
|
||||
|
||||
if (socket.ssid) {
|
||||
|
||||
if (session_data) {
|
||||
if (session_data.loadSessionData() == true) {
|
||||
console.log(" * Loaded session data from disk for", wtvshared.filterSSID(socket.ssid))
|
||||
session_data.setSessionData("registered", (session_data.getSessionData("registered") == true) ? true : false);
|
||||
@@ -58,10 +59,12 @@ if (session_data.data_store.wtvsec_login) {
|
||||
var file_path = null;
|
||||
var bf0app_update = false;
|
||||
var romtype = session_data.get("wtv-client-rom-type");
|
||||
var send_tellyscript = (minisrv_config.services[service_name].send_tellyscripts && !request_headers.query.relogin && !request_headers.query.guest_login);
|
||||
var bootrom = parseInt(session_data.get("wtv-client-bootrom-version"));
|
||||
var send_tellyscript = (minisrv_config.services[service_name].send_tellyscripts && !request_headers.query.relogin && !request_headers.query.guest_login && !bootrom !== 0);
|
||||
var wtv_script_id = parseInt(session_data.get("wtv-script-id"));
|
||||
var bootrom = session_data.get("wtv-client-bootrom-version");
|
||||
var wtv_script_mod = parseInt(session_data.get("wtv-script-mod"));
|
||||
if ((request_headers.query.reconnect || request_headers.query.relogin) && wtv_script_id != 0) send_tellyscript = false;
|
||||
if (wtv_script_id !== 0 && wtv_script_mod !== 0) send_tellyscript = false;
|
||||
if (send_tellyscript) {
|
||||
if (minisrv_config.services[service_name].send_tellyscript_ssid_whitelist) {
|
||||
var send_telly_to_ssid = (minisrv_config.services[service_name].send_tellyscript_ssid_whitelist.findIndex(element => element == socket.ssid) != -1)
|
||||
|
||||
@@ -7,7 +7,6 @@ var auth = wtva.isAuthorized();
|
||||
function generateFormField(type, confvar, options = null) {
|
||||
if (confvar.indexOf('.') > 0) {
|
||||
var confvar_split = confvar.split('.');
|
||||
console.log(confvar_split)
|
||||
// not operater error resistant, be mindful if you modify this page
|
||||
if (user_config.config[confvar_split[0]])
|
||||
var confvar_value = user_config.config[confvar_split[0]][confvar_split[1]] || minisrv_config.config[confvar_split[0]][confvar_split[1]]
|
||||
@@ -125,9 +124,9 @@ contact the server operator (eg. email, Discord, Twitter, etc...)
|
||||
<tr><td absheight=60 valign=top>
|
||||
<font size=-1><b>service_name</b><br>The name of the service (eg. WebTV)
|
||||
<tr><td absheight=90 valign=top>
|
||||
<font size=-1><b>service_logo</b><br>The logo for the service. Filename only. Must exist in the SharedROMCache service vault.
|
||||
<tr><td absheight=70 valign=top>
|
||||
<font size=-1><b>service_splash_logo</b><br>The splash page logo for the service. Absolute path. Can be file:// or wtv url.
|
||||
<font size=-1><b>service_logo</b><br>The logo for the service. Absolute URL, or file name in the Shared ROMCache.
|
||||
<tr><td absheight=90 valign=top>
|
||||
<font size=-1><b>service_splash_logo</b><br>The splash page logo for the service. Absolute URL, or file name in the Shared ROMCache.
|
||||
<tr><td absheight=60 valign=top>
|
||||
<font size=-1><b>show_detailed_splash</b><br>Show service information and client connection speed on the splash page.
|
||||
<tr><td absheight=60 valign=top>
|
||||
@@ -163,7 +162,7 @@ When disabled, accounts will not be able to use passwords, if they had a passwor
|
||||
The size of the field on the login password page
|
||||
</table>
|
||||
<TD WIDTH=15>
|
||||
<TD WIDTH=198 absheight=1620 VALIGN=top ALIGN=left colspan=2>
|
||||
<TD WIDTH=198 absheight=1640 VALIGN=top ALIGN=left colspan=2>
|
||||
<form action="wtv-admin:/validate-operator-tweaks">
|
||||
<input type=hidden name=autosubmit value=true autosubmit=onleave>
|
||||
<table cellspacing=0 cellpadding=5>
|
||||
@@ -182,13 +181,13 @@ ${generateFormField('input', 'service_owner_contact')}
|
||||
<td absheight=90 valign=top>
|
||||
${generateFormField('input', 'service_owner_contact_method')}
|
||||
<tr>
|
||||
<td absheight=60 valign=top>
|
||||
<td absheight=55 valign=top>
|
||||
${generateFormField('input', 'service_name')}
|
||||
<tr>
|
||||
<td absheight=90 valign=top>
|
||||
<td absheight=85 valign=top>
|
||||
${generateFormField('input', 'service_logo')}
|
||||
<tr>
|
||||
<td absheight=70 valign=top>
|
||||
<td absheight=90 valign=top>
|
||||
${generateFormField('input', 'service_splash_logo')}
|
||||
<tr>
|
||||
<td absheight=60 valign=top>
|
||||
@@ -197,7 +196,7 @@ ${generateFormField('checkbox', 'show_detailed_splash')}
|
||||
<td absheight=60 valign=top>
|
||||
${generateFormField('checkbox', 'hide_ssid_in_logs')}
|
||||
<tr>
|
||||
<td absheight=70 valign=top>
|
||||
<td absheight=80 valign=top>
|
||||
${generateFormField('checkbox', 'filter_passwords_in_logs')}
|
||||
<tr>
|
||||
<td absheight=50 valign=top>
|
||||
|
||||
@@ -18,9 +18,18 @@ if (auth === true) {
|
||||
Object.keys(request_headers.query).forEach((k) => {
|
||||
if (k === "autosubmit") return;
|
||||
var v = request_headers.query[k];
|
||||
if (!isNaN(parseInt(v))) v = parseInt(v);
|
||||
|
||||
// enable_multi_query may send ["false", "on"] for checkboxes due to webtvism
|
||||
if (isArray(v)) v = v[(v.length - 1)];
|
||||
|
||||
// convert numbers back to int before writing to config
|
||||
if (!isNaN(parseInt(v))) v = parseInt(v);
|
||||
|
||||
// convert string back to boolean before writing to config
|
||||
if (v === "on" || v === "true" || v === "false") v = wtvshared.parseBool(v);
|
||||
|
||||
if (k.indexOf("-") > 0) {
|
||||
// handle sub-config items
|
||||
var s = k.split("-");
|
||||
if (!user_config.config[s[0]]) user_config.config[s[0]] = {}
|
||||
user_config.config[s[0]][s[1]] = v;
|
||||
|
||||
|
Before Width: | Height: | Size: 372 B After Width: | Height: | Size: 1006 B |
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.2 KiB |
|
Before Width: | Height: | Size: 1.0 KiB After Width: | Height: | Size: 1.2 KiB |
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.3 KiB |
|
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 1.5 KiB |
@@ -14,17 +14,17 @@ if (foldername)
|
||||
{
|
||||
if (folder_array.length < minisrv_config.services[service_name].max_folders)
|
||||
{
|
||||
//if (session_data.favstore.checkFolderName(foldername) == true)
|
||||
//{
|
||||
if (session_data.favstore.checkFolderName(foldername) == true)
|
||||
{
|
||||
session_data.favstore.createFolder(foldername);
|
||||
headers = `300 OK
|
||||
Connection: Keep-Alive
|
||||
Content-Type: text/html
|
||||
Location: wtv-favorite:/favorite
|
||||
wtv-expire-all: wtv-favorite:`
|
||||
//} else {
|
||||
// headers = `400 That folder name is not valid. Choose a different name and try again.`
|
||||
//}
|
||||
} else {
|
||||
headers = `400 That folder name is not valid. Choose a different name and try again.`
|
||||
}
|
||||
} else {
|
||||
headers = `400 You can only have ${minisrv_config.services[service_name].max_folders} folders at one time. Delete some folders and try again.`
|
||||
}
|
||||
|
||||
@@ -26,30 +26,28 @@ data = `<html><head>
|
||||
<title>
|
||||
Favorite folders
|
||||
</title>
|
||||
</head><body fontsize="large" vspace="0" hspace="0" vlink="189cd6" text="44cc55" link="189cd6" bgcolor="191919"><display ${(minisrv_config.services[service_name].max_folders <= 14) ? "noscroll" : ""}>
|
||||
|
||||
|
||||
|
||||
<display ${(minisrv_config.services[service_name].max_folders <= 14) ? "noscroll" : ""}>
|
||||
</head><body fontsize="large" vspace="0" hspace="0" vlink="189cd6" text="44cc55" link="189cd6" bgcolor="191919">
|
||||
|
||||
|
||||
<sidebar width="109" height="384">
|
||||
|
||||
<table cellspacing="0" cellpadding="0" bgcolor="284a52">
|
||||
<tbody><tr><td absheight="196" valign="top">
|
||||
<tr><td absheight="196" valign="top">
|
||||
<table absheight="196" cellspacing="0" cellpadding="0">
|
||||
<tbody><tr>
|
||||
<tr>
|
||||
<td width="100%" valign="top" height="50%">
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody><tr>
|
||||
<tr>
|
||||
<td colspan="3" absheight="1" width="100%">
|
||||
</td></tr><tr>
|
||||
<td abswidth="6">
|
||||
</td><td absheight="79" width="100%" align="center">
|
||||
<table href="wtv-home:/home" absheight="79" width="100%" cellspacing="0" cellpadding="0">
|
||||
<tbody><tr>
|
||||
<tr>
|
||||
<td width="100%" align="center">
|
||||
<img src="wtv-home:/ROMCache/WebTVLogoJewel.gif" width="87" height="67">
|
||||
</td></tr></tbody></table>
|
||||
</td></tr></table>
|
||||
</td><td abswidth="5">
|
||||
</td></tr><tr><td colspan="3" absheight="2" width="100%" bgcolor="1f3136">
|
||||
<img src="wtv-home:/ROMCache/Spacer.gif" width="1" height="1">
|
||||
@@ -57,98 +55,99 @@ Favorite folders
|
||||
</td></tr><tr><td colspan="3" absheight="2" width="100%" bgcolor="436f79">
|
||||
<img src="wtv-home:/ROMCache/Spacer.gif" width="1" height="1"> </td></tr><tr><td absheight="32" colspan="3" width="100%">
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody><tr><td abswidth="5" absheight="26">
|
||||
<tr><td abswidth="5" absheight="26">
|
||||
</td><td width="100%">
|
||||
<table href="wtv-favorite:/serve-add-folder-page?favorite_folder_name=Personal" width="100%" cellspacing="0" cellpadding="0">
|
||||
<tbody><tr><td>
|
||||
<tr><td>
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody><tr><td><shadow><font size="-1" color="E7CE4A">
|
||||
<tr><td><shadow><font size="-1" color="E7CE4A">
|
||||
Add folder
|
||||
</font></shadow></td></tr></tbody></table>
|
||||
</td></tr></tbody></table>
|
||||
</font></shadow></td></tr></table>
|
||||
</td></tr></table>
|
||||
</td><td abswidth="5">
|
||||
</td></tr><tr><td colspan="3" absheight="2" width="104" bgcolor="1f3136">
|
||||
<img src="wtv-home:/ROMCache/Spacer.gif" width="1" height="1">
|
||||
</td></tr><tr><td absheight="1">
|
||||
</td></tr><tr><td colspan="3" absheight="2" width="104" bgcolor="436f79">
|
||||
<img src="wtv-home:/ROMCache/Spacer.gif" width="1" height="1">
|
||||
</td></tr></tbody></table>
|
||||
</td></tr></table>
|
||||
</td></tr><tr><td absheight="32" colspan="3" width="100%">
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody><tr><td abswidth="5" absheight="26">
|
||||
<tr><td abswidth="5" absheight="26">
|
||||
</td><td width="100%">
|
||||
<table href="wtv-favorite:/serve-discard-folders?favorite_folder_name=Personal" width="100%" cellspacing="0" cellpadding="0">
|
||||
<tbody><tr><td>
|
||||
<tr><td>
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody><tr><td><shadow><font size="-1" color="E7CE4A">
|
||||
<tr><td><shadow><font size="-1" color="E7CE4A">
|
||||
Remove
|
||||
</font></shadow></td></tr></tbody></table>
|
||||
</td></tr></tbody></table>
|
||||
</font></shadow></td></tr></table>
|
||||
</td></tr></table>
|
||||
</td><td abswidth="5">
|
||||
</td></tr><tr><td colspan="3" absheight="2" width="104" bgcolor="1f3136">
|
||||
<img src="wtv-home:/ROMCache/Spacer.gif" width="1" height="1">
|
||||
</td></tr><tr><td absheight="1">
|
||||
</td></tr><tr><td colspan="3" absheight="2" width="104" bgcolor="436f79">
|
||||
<img src="wtv-home:/ROMCache/Spacer.gif" width="1" height="1">
|
||||
</td></tr></tbody></table>
|
||||
</td></tr></table>
|
||||
</td></tr><tr><td absheight="32" colspan="3" width="100%">
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody><tr><td abswidth="5" absheight="26">
|
||||
<tr><td abswidth="5" absheight="26">
|
||||
</td><td width="100%">
|
||||
<table href="wtv-home:/throwerror" width="100%" cellspacing="0" cellpadding="0">
|
||||
<tbody><tr><td>
|
||||
<tr><td>
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody><tr><td><shadow><font size="-1" color="E7CE4A">
|
||||
<tr><td><shadow><font size="-1" color="E7CE4A">
|
||||
Help
|
||||
</font></shadow></td></tr></tbody></table>
|
||||
</td></tr></tbody></table>
|
||||
</font></shadow></td></tr></table>
|
||||
</td></tr></table>
|
||||
</td><td abswidth="5">
|
||||
</td></tr><tr><td colspan="3" absheight="2" width="104" bgcolor="1f3136">
|
||||
<img src="wtv-home:/ROMCache/Spacer.gif" width="1" height="1">
|
||||
</td></tr><tr><td absheight="1">
|
||||
</td></tr><tr><td colspan="3" absheight="2" width="104" bgcolor="436f79">
|
||||
<img src="wtv-home:/ROMCache/Spacer.gif" width="1" height="1">
|
||||
</td></tr></tbody></table>
|
||||
</td></tr></tbody></table>
|
||||
</td></tr></tbody></table>
|
||||
</td></tr></table>
|
||||
</td></tr></table>
|
||||
</td></tr></table>
|
||||
</td><td abswidth="5" background="ROMCache/Shadow.gif"><img src="wtv-home:/ROMCache/Spacer.gif" width="1" height="1">
|
||||
</td></tr><tr><td absheight="188" valign="top">
|
||||
<table absheight="188" cellspacing="0" cellpadding="0">
|
||||
<tbody><tr><td width="100%"><img src="wtv-home:/ROMCache/Spacer.gif" width="100%" height="1">
|
||||
<tr><td width="100%"><img src="wtv-home:/ROMCache/Spacer.gif" width="100%" height="1">
|
||||
</td><td valign="bottom" align="right"><img src="ROMCache/FavoritesBanner.gif" width="50" height="188">
|
||||
</td></tr></tbody></table>
|
||||
</td></tr></table>
|
||||
</td><td abswidth="5" background="ROMCache/Shadow.gif"><img src="wtv-home:/ROMCache/Spacer.gif" width="1" height="1">
|
||||
</td></tr></tbody></table>
|
||||
</td></tr></table>
|
||||
</sidebar>
|
||||
|
||||
<table width="451" cellspacing="0" cellpadding="0" bgcolor="2b2b2b">
|
||||
<tbody><tr>
|
||||
<tr>
|
||||
<td width="4" height="16"><img src="wtv-home:/ROMCache/Spacer.gif" width="1" height="1">
|
||||
</td></tr><tr>
|
||||
<td width="16"><img src="wtv-home:/ROMCache/Spacer.gif" width="1" height="1">
|
||||
</td><td><table cellspacing="0" cellpadding="0">
|
||||
<tbody><tr><td align="left">
|
||||
<tr><td align="left">
|
||||
<shadow><blackface><font color="e7ce4a">
|
||||
Favorite folders
|
||||
for ${session_data.getSessionData("subscriber_username") || "You"}
|
||||
</font><blackface><shadow>
|
||||
</shadow></blackface></blackface></shadow></td></tr></tbody></table>
|
||||
</shadow></blackface></blackface></shadow></td></tr></table>
|
||||
</td></tr><tr>
|
||||
<td width="4" height="14"><img src="wtv-home:/ROMCache/Spacer.gif" width="1" height="1">
|
||||
</td></tr></tbody></table>
|
||||
</td></tr></table>
|
||||
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody><tr><td valign="top" align="left">
|
||||
<tr><td valign="top" align="left">
|
||||
<table width="225" cellspacing="0" cellpadding="0">
|
||||
<tbody><tr><td width="225" valign="middle" height="42" background="ROMCache/LeftTop.gif" align="center">
|
||||
<tr><td width="225" valign="middle" height="42" background="ROMCache/LeftTop.gif" align="center">
|
||||
<table width="50%" cellspacing="0" cellpadding="0">
|
||||
<tbody><tr><td width="40" height="20">
|
||||
<tr><td width="40" height="20">
|
||||
</td><td maxlines="1" width="140" height="20" align="center">
|
||||
<a href="wtv-favorite:/serve-browser?favorite_folder_name=${folder_array[0]}" selected="">
|
||||
<font size="-1">
|
||||
<limittext value="${folder_array[0]}" width="140"></limittext></font></a><font size="-1">
|
||||
</font>
|
||||
</td><td width="20">
|
||||
</td></tr></tbody></table>`
|
||||
</td></tr></table>`
|
||||
var kval = 0;
|
||||
// process evens
|
||||
Object.keys(folder_array).forEach(function (k) {
|
||||
@@ -158,14 +157,14 @@ for ${session_data.getSessionData("subscriber_username") || "You"}
|
||||
// Left Middle
|
||||
data += `</td></tr><tr><td width="225" valign="middle" height="42" background="ROMCache/LeftMiddle.gif" align="center">
|
||||
<table width="50%" cellspacing="0" cellpadding="0">
|
||||
<tbody><tr><td width="40" height="20">
|
||||
<tr><td width="40" height="20">
|
||||
</td><td maxlines="1" width="140" height="20" align="center">
|
||||
<a href="wtv-favorite:/serve-browser?favorite_folder_name=${folder_array[k]}">
|
||||
<font size="-1">
|
||||
<limittext value="${folder_array[k]}" width="140"></limittext></font></a><font size="-1">
|
||||
</font>
|
||||
</td><td width="20">
|
||||
</td></tr></tbody></table>`;
|
||||
</td></tr></table>`;
|
||||
kval = k;
|
||||
}
|
||||
});
|
||||
@@ -175,10 +174,10 @@ for ${session_data.getSessionData("subscriber_username") || "You"}
|
||||
if (folder_array.length % 2 == 0) {
|
||||
data += `</td></tr><tr><td width="225" valign="middle" height="42" background="ROMCache/LeftBottom.gif" align="center">
|
||||
<table width="50%" cellspacing="0" cellpadding="0">
|
||||
<tbody><tr><td width="40" height="20">
|
||||
<tr><td width="40" height="20">
|
||||
</td><td maxlines="1" width="140" height="20" align="center">
|
||||
</td><td width="20">
|
||||
</td></tr></tbody></table>`;
|
||||
</td></tr></table>`;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -186,40 +185,40 @@ for ${session_data.getSessionData("subscriber_username") || "You"}
|
||||
if (folder_array.length == 1) {
|
||||
// no folder 2
|
||||
data += `<tr><td><table cellspacing="0" cellpadding="0">
|
||||
<tbody><tr><td width="6" height="12"><img src="wtv-home:/ROMCache/Spacer.gif" width="1" height="1">
|
||||
<tr><td width="6" height="12"><img src="wtv-home:/ROMCache/Spacer.gif" width="1" height="1">
|
||||
</td><td width="20">
|
||||
</td></tr></tbody></table>
|
||||
</tr><td></td></tr></tbody></table>
|
||||
</td></tr></table>
|
||||
</tr><td></td></tr></table>
|
||||
</td><td valign="top" align="left">
|
||||
<table width="225" cellspacing="0" cellpadding="0">
|
||||
<tbody><tr><td absheight="20" bgcolor="2b2b2b">
|
||||
<tr><td absheight="20" bgcolor="2b2b2b">
|
||||
</td></tr><tr><td width="225" valign="middle" height="42" background="ROMCache/RightTopEdgeOnly.gif" align="center">
|
||||
<table width="50%" cellspacing="0" cellpadding="0">
|
||||
<tbody><tr><td width="5" height="20">
|
||||
<tr><td width="5" height="20">
|
||||
</td><td maxlines="1" width="140" height="20" align="center">
|
||||
</font>
|
||||
</td><td width="20">
|
||||
</td></tr></tbody></table>`
|
||||
</td></tr></table>`
|
||||
} else {
|
||||
// process folder 2 (id 1)
|
||||
data += `<tr><td><table cellspacing="0" cellpadding="0">
|
||||
<tbody><tr><td width="6" height="12"><img src="wtv-home:/ROMCache/Spacer.gif" width="1" height="1">
|
||||
<tr><td width="6" height="12"><img src="wtv-home:/ROMCache/Spacer.gif" width="1" height="1">
|
||||
</td><td width="20">
|
||||
</td></tr></tbody></table>
|
||||
</tr><td></td></tr></tbody></table>
|
||||
</td></tr></table>
|
||||
</tr><td></td></tr></table>
|
||||
</td><td valign="top" align="left">
|
||||
<table width="225" cellspacing="0" cellpadding="0">
|
||||
<tbody><tr><td absheight="21" bgcolor="2b2b2b">
|
||||
<tr><td absheight="21" bgcolor="2b2b2b">
|
||||
</td></tr><tr><td width="225" valign="middle" height="42" background="ROMCache/RightTop.gif" align="center">
|
||||
<table width="50%" cellspacing="0" cellpadding="0">
|
||||
<tbody><tr><td width="5" height="20">
|
||||
<tr><td width="5" height="20">
|
||||
</td><td maxlines="1" width="140" height="20" align="center">
|
||||
<a href="wtv-favorite:/serve-browser?favorite_folder_name=${folder_array[1]}">
|
||||
<font size="-1">
|
||||
<limittext value="${folder_array[1]}" width="140"></limittext></font></a><font size="-1">
|
||||
</font>
|
||||
</td><td width="20">
|
||||
</td></tr></tbody></table>`;
|
||||
</td></tr></table>`;
|
||||
}
|
||||
|
||||
// process odds
|
||||
@@ -230,14 +229,14 @@ for ${session_data.getSessionData("subscriber_username") || "You"}
|
||||
// Right Middle
|
||||
data += `</td></tr><tr><td width="225" valign="middle" height="42" background="ROMCache/RightMiddle.gif" align="center">
|
||||
<table width="50%" cellspacing="0" cellpadding="0">
|
||||
<tbody><tr><td width="5" height="20">
|
||||
<tr><td width="5" height="20">
|
||||
</td><td maxlines="1" width="140" height="20" align="center">
|
||||
<a href="wtv-favorite:/serve-browser?favorite_folder_name=${folder_array[k]}">
|
||||
<font size="-1">
|
||||
<limittext value="${folder_array[k]}" width="140"></limittext></font></a><font size="-1">
|
||||
</font>
|
||||
</td><td width="20">
|
||||
</td></tr></tbody></table>`;
|
||||
</td></tr></table>`;
|
||||
}
|
||||
});
|
||||
|
||||
@@ -246,20 +245,19 @@ for ${session_data.getSessionData("subscriber_username") || "You"}
|
||||
if (folder_array.length % 2 != 0) {
|
||||
data += `</td></tr><tr><td width="225" valign="middle" height="42" background="ROMCache/RightBottom.gif" align="center">
|
||||
<table width="50%" cellspacing="0" cellpadding="0">
|
||||
<tbody><tr><td width="5" height="20">
|
||||
<tr><td width="5" height="20">
|
||||
</td><td maxlines="1" width="140" height="20" align="center">
|
||||
</td><td width="20">
|
||||
</td></tr></tbody></table>`;
|
||||
</td></tr></table>`;
|
||||
}
|
||||
}
|
||||
|
||||
data += `
|
||||
</td></tr></tbody></table>
|
||||
</td></tr></tbody></table>
|
||||
</td></tr></table>
|
||||
</td></tr></table>
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody><tr><td width="451" height="2" background="ROMCache/FoldersCoverBorder.gif"><img src="wtv-home:/ROMCache/Spacer.gif" width="1" height="1">
|
||||
</td></tr></tbody></table>
|
||||
|
||||
<tr><td width="451" height="2" background="ROMCache/FoldersCoverBorder.gif"><img src="wtv-home:/ROMCache/Spacer.gif" width="1" height="1">
|
||||
</td></tr></table>
|
||||
|
||||
|
||||
</display></body></html>
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
var minisrv_service_file = true;
|
||||
request_is_async = true;
|
||||
|
||||
var request_is_async = true;
|
||||
|
||||
var bf0app_update = false;
|
||||
var request_path = request_headers.request_url.replace(service_name + ":/", "");
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
var minisrv_service_file = true;
|
||||
|
||||
const WTVFlashrom = require(classPath + "/WTVFlashrom.js");
|
||||
request_is_async = true;
|
||||
|
||||
// this build can be local or on zefie's server
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
var minisrv_service_file = true;
|
||||
|
||||
const WTVFlashrom = require(classPath + "/WTVFlashrom.js");
|
||||
request_is_async = true;
|
||||
|
||||
var bf0app_update = false;
|
||||
|
||||
@@ -1,7 +1,5 @@
|
||||
var minisrv_service_file = true;
|
||||
|
||||
const WTVFlashrom = require(classPath + "/WTVFlashrom.js");
|
||||
var wtvflashrom;
|
||||
request_is_async = true;
|
||||
|
||||
if (!request_headers.query.path) {
|
||||
@@ -13,15 +11,23 @@ if (!request_headers.query.path) {
|
||||
var request_path = request_headers.query.path;
|
||||
|
||||
// read flashrom header info into array using WTVFlashrom class
|
||||
wtvflashrom.getFlashromMeta(request_path, function (data) {
|
||||
processLC2DownloadPage(request_headers.query.path, data, (request_headers.query.numparts ? request_headers.query.numparts : null));
|
||||
wtvflashrom.getFlashromMeta(request_path, function (data, headers) {
|
||||
processLC2DownloadPage(data, headers, (request_headers.query.numparts ? request_headers.query.numparts : null));
|
||||
});
|
||||
}
|
||||
|
||||
async function processLC2DownloadPage(path, flashrom_info, numparts = null) {
|
||||
async function processLC2DownloadPage(flashrom_info, headers, numparts = null) {
|
||||
if (typeof flashrom_info === 'string') {
|
||||
// zefie_flashrom_server error
|
||||
data = flashrom_info;
|
||||
headers += "\nminisrv-no-mail-count: true";
|
||||
headers += "\nwtv-expire-all: wtv-flashrom:/get-lc2-page?";
|
||||
headers += "\nwtv-expire-all: wtv-flashrom:/content";
|
||||
sendToClient(socket, headers, data);
|
||||
return false;
|
||||
}
|
||||
if (numparts != null) flashrom_info.part_count = parseInt(numparts);
|
||||
if (!flashrom_info.part_count) flashrom_info.part_count = parseInt(flashrom_info.message.substring(flashrom_info.message.length - 4).replace(/\D/g, ''));
|
||||
console.log(flashrom_info);
|
||||
if (parseInt(flashrom_info.part_number) >= 0 && flashrom_info.rompath && flashrom_info.next_rompath) {
|
||||
if (!flashrom_info.message && flashrom_info.is_bootrom) {
|
||||
flashrom_info.message = "BootRom Part " + (flashrom_info.part_number + 1) + " of " + flashrom_info.part_count;
|
||||
@@ -31,7 +37,8 @@ async function processLC2DownloadPage(path, flashrom_info, numparts = null) {
|
||||
}
|
||||
|
||||
headers = `200 OK
|
||||
Content-type: text/html`
|
||||
Content-type: text/html
|
||||
minisrv-no-mail-count: true`
|
||||
|
||||
data = `<html>
|
||||
<head>
|
||||
@@ -97,16 +104,10 @@ data += `
|
||||
<upgradeblock width=250 height=15
|
||||
nexturl="${flashrom_info.next_rompath}"
|
||||
errorurl="${service_name}:/lc2-download-failed?"
|
||||
blockurl="${flashrom_info.rompath}"`;
|
||||
|
||||
data += `
|
||||
blockurl="${flashrom_info.rompath}"
|
||||
lastblock="${flashrom_info.is_last_part}"
|
||||
curblock="` + (flashrom_info.part_number + 1) + `"
|
||||
`;
|
||||
if (flashrom_info.part_count) {
|
||||
data += `totalblocks="${flashrom_info.part_count}"`;
|
||||
}
|
||||
data += `>
|
||||
curblock="${(flashrom_info.part_number + 1)}"${(flashrom_info.part_count) ? `
|
||||
totalblocks="${flashrom_info.part_count}">` : `>`}
|
||||
<font size="-1" color="#D6DFD0">
|
||||
<br>
|
||||
<img src="${service_name}:/ROMCache/Spacer.gif" width=2 height=10><br>
|
||||
@@ -150,6 +151,9 @@ ${flashrom_info.message}
|
||||
} else {
|
||||
var errpage = wtvshared.doErrorPage(400)
|
||||
headers = errpage[0];
|
||||
headers += "\nminisrv-no-mail-count: true";
|
||||
headers += "\nwtv-expire-all: wtv-flashrom:/get-lc2-page?";
|
||||
headers += "\nwtv-expire-all: wtv-flashrom:/content";
|
||||
data = errpage[1];
|
||||
}
|
||||
sendToClient(socket, headers, data);
|
||||
|
||||
@@ -10,6 +10,7 @@ var romtype = session_data.get("wtv-client-rom-type");
|
||||
if (request_headers.query.numparts) url += "&numparts=" + request_headers.query.numparts;
|
||||
}
|
||||
headers = "300 OK\n";
|
||||
headers += "minisrv-no-mail-count: true\n";
|
||||
headers += "wtv-visit: " + url + "\n";
|
||||
headers += "Location: " + url + "\n";
|
||||
headers += "Content-type: text/html";
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
var minisrv_service_file = true;
|
||||
|
||||
headers = `200 OK
|
||||
Content-type: text/html`
|
||||
Content-type: text/html
|
||||
minisrv-no-mail-count: true`
|
||||
|
||||
data = `<html>
|
||||
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
var minisrv_service_file = true;
|
||||
|
||||
const WTVFlashrom = require(classPath + "/WTVFlashrom.js");
|
||||
request_is_async = true;
|
||||
|
||||
// this build can be local or on zefie's server
|
||||
|
||||
@@ -86,7 +86,7 @@ minisrv-no-mail-count: true
|
||||
Content-Type: text/html`;
|
||||
if (client_challenge_response) {
|
||||
headers += `
|
||||
wtv-encrypted: true`;
|
||||
wtv-encrypted: ${(request_headers['wtv-encrypted']) ? wtvshared.parseBool(request_headers['wtv-encrypted']) : true}`;
|
||||
if (wtvsec_login) session_data.data_store.wtvsec_login.update_ticket = true;
|
||||
}
|
||||
if (limitedLoginRegistered && session_data.getUserPasswordEnabled()) gourl = "wtv-head-waiter:/password?";
|
||||
|
||||
@@ -1,17 +1,19 @@
|
||||
var minisrv_service_file = true;
|
||||
var gourl = null;
|
||||
|
||||
var bootrom = parseInt(session_data.get("wtv-client-bootrom-version"));
|
||||
|
||||
if (!session_data.isRegistered() && (!request_headers.query.guest_login || !minisrv_config.config.allow_guests)) gourl = "wtv-register:/splash?";
|
||||
var home_url = "wtv-home:/home?";
|
||||
|
||||
if (gourl) {
|
||||
headers = `200 OK
|
||||
wtv-open-isp-disabled: false
|
||||
`;
|
||||
headers = "200 OK\n";
|
||||
if (bootrom !== 0) headers += "wtv-open-isp-disabled: false\n";
|
||||
|
||||
if (!session_data.isRegistered() && (!request_headers.query.guest_login || !minisrv_config.config.allow_guests)) {
|
||||
// fake logged in for reg
|
||||
session_data.setUserLoggedIn(true);
|
||||
headers += `wtv-encrypted: true
|
||||
headers += `wtv-encrypted: ${(request_headers['wtv-encrypted']) ? wtvshared.parseBool(request_headers['wtv-encrypted']) : true}
|
||||
${getServiceString('wtv-register')}
|
||||
${getServiceString('wtv-head-waiter')}
|
||||
${getServiceString('wtv-star')}
|
||||
@@ -91,13 +93,16 @@ wtv-client-date: `+ strftime("%a, %d %b %Y %H:%M:%S", new Date(new Date().toUTCS
|
||||
wtv-country: US
|
||||
wtv-language-header: en-US,en
|
||||
wtv-noback-all: wtv-
|
||||
wtv-visit: client:closeallpanels
|
||||
wtv-expire-all: client:closeallpanels
|
||||
wtv-transition-override: off
|
||||
wtv-smartcard-inserted-message: Contacting service
|
||||
wtv-ssl-timeout: 240
|
||||
wtv-login-timeout: 7200
|
||||
`;
|
||||
if (bootrom !== 0) {
|
||||
headers += `wtv-visit: client:closeallpanels
|
||||
wtv-expire-all: client:closeallpanels
|
||||
`;
|
||||
}
|
||||
if (!limitedLogin && !limitedLoginRegistered) {
|
||||
session_data.assignMailStore();
|
||||
headers += getServiceString('all', { "exceptions": ["wtv-register"] });
|
||||
@@ -175,11 +180,11 @@ wtv-inactive-timeout: 1440
|
||||
wtv-show-time-enabled: true
|
||||
wtv-allow-dsc: true
|
||||
wtv-tourist-enabled: true
|
||||
wtv-open-isp-disabled: false
|
||||
wtv-offline-mail-enable: false
|
||||
wtv-demo-mode: 0
|
||||
wtv-wink-deferrer-retries: 3
|
||||
wtv-name-server: 8.8.8.8`;
|
||||
if (bootrom !== 0) { headers += "\nwtv-open-isp-disabled: false" }
|
||||
}
|
||||
}
|
||||
if (!request_headers.query.reconnect) headers += "\nwtv-visit: " + gourl;
|
||||
|
||||
@@ -9,7 +9,8 @@ if (request_headers.query.relogin) gourl += "relogin=true";
|
||||
else if (request_headers.query.reconnect) gourl += "reconnect=true";
|
||||
else gourl += "initial_login=true"
|
||||
|
||||
if (request_headers.query.guest_login) {
|
||||
var bootrom = parseInt(session_data.get("wtv-client-bootrom-version"));
|
||||
if (request_headers.query.guest_login || bootrom === 0) {
|
||||
if (gourl.substr(-1) != "?") gourl += "&";
|
||||
gourl += "guest_login=true";
|
||||
if (request_headers.query.skip_splash) gourl += "&skip_splash=true";
|
||||
|
||||
@@ -1,392 +1,302 @@
|
||||
var minisrv_service_file = true;
|
||||
|
||||
|
||||
if (request_headers.query.url) {
|
||||
headers = `300 OK
|
||||
Location: ${request_headers.query.url}`;
|
||||
} else {
|
||||
headers = `200 OK
|
||||
headers =`200 OK
|
||||
Connection: Keep-Alive
|
||||
wtv-expire-all: wtv-home:/splash
|
||||
wtv-expire-all: wtv-flashrom:
|
||||
Content-type: text/html`
|
||||
var cryptstatus = (wtv_encrypted ? "Encrypted" : "Not Encrypted")
|
||||
|
||||
var comp_type = wtvmime.shouldWeCompress(session_data, 'text/html');
|
||||
var compstatus = "uncompressed";
|
||||
switch (comp_type) {
|
||||
case 1:
|
||||
compstatus = "wtv-lzpf";
|
||||
break;
|
||||
case 2:
|
||||
compstatus = "gzip (level 9)";
|
||||
break;
|
||||
}
|
||||
var cryptstatus = (wtv_encrypted ? "Encrypted" : "Not Encrypted")
|
||||
var comp_type = wtvmime.shouldWeCompress(socket.ssid,'text/html');
|
||||
var compstatus = "uncompressed";
|
||||
switch (comp_type) {
|
||||
case 1:
|
||||
compstatus = "wtv-lzpf";
|
||||
break;
|
||||
case 2:
|
||||
compstatus = "gzip (level 9)";
|
||||
break;
|
||||
}
|
||||
|
||||
var unread_mailcount = session_data.mailstore.countUnreadMessages(0)
|
||||
var mailbox_gif_num = 0; // no messages
|
||||
if (unread_mailcount > 0) {
|
||||
if (unread_mailcount == 1) mailbox_gif_num = 1;
|
||||
else mailbox_gif_num = 2;
|
||||
}
|
||||
var wtv_system_sysconfig = session_data.get("wtv-system-sysconfig");
|
||||
var wtv_client_bootrom_version = session_data.get("wtv-client-bootrom-version");
|
||||
var wtv_system_chipversion_str = session_data.get("wtv-system-chipversion");
|
||||
|
||||
var notImplementedAlert = new clientShowAlert({
|
||||
'image': minisrv_config.config.service_logo,
|
||||
'message': "This feature is not available.",
|
||||
'buttonlabel1': "Okay",
|
||||
'buttonaction1': "client:donothing",
|
||||
'noback': true,
|
||||
}).getURL();
|
||||
|
||||
data = `<HTML>
|
||||
<HEAD>
|
||||
var notAdminAlert = new clientShowAlert({
|
||||
'image': minisrv_config.config.service_logo,
|
||||
'message': "Sorry, you are not configured as an admin on this server.<br><br>If you are the server operator, please<br> see <strong>user_config.example.json</strong><br> for an example on how to configure yourself as an administrator.",
|
||||
'buttonlabel1': "Ugh, fine.",
|
||||
'buttonaction1': "client:donothing",
|
||||
'noback': true,
|
||||
}).getURL();
|
||||
|
||||
<TITLE>Home for ${session_data.getSessionData("subscriber_username") || "minisrv"}</TITLE>
|
||||
<DISPLAY noscroll fontsize="medium">
|
||||
</HEAD>
|
||||
var ownMinisrv = new clientShowAlert({
|
||||
'image': minisrv_config.config.service_logo,
|
||||
'message': "To run your own minisrv, please visit the following link on your PC:<br><br><strong>https://zef.pw/minisrv</strong>",
|
||||
'buttonlabel1': "Okay",
|
||||
'buttonaction1': "client:donothing",
|
||||
'noback': true,
|
||||
}).getURL();
|
||||
|
||||
<body background="wtv-home:/images/BackgroundGradient_dark.gif" text="44cc55" link="36d5ff" vlink="36d5ff" hspace=0 vspace=0 >
|
||||
var supportZefieAlert = new clientShowAlert({
|
||||
'image': minisrv_config.config.service_logo,
|
||||
'message': "If you would like to support zefie or minisrv, please visit the following link on your PC:<br><br><font size=-1><strong>https://zef.pw/helpminisrv</strong></font>",
|
||||
'buttonlabel1': "Okay",
|
||||
'buttonaction1': "client:donothing",
|
||||
'noback': true,
|
||||
}).getURL();
|
||||
|
||||
<sidebar width=138>
|
||||
<table cellspacing=0 cellpadding=0 bgcolor="202020" gradcolor=080808>
|
||||
<!-- BEGIN LOGO SPAN -->
|
||||
<tr>
|
||||
<td width=138 absheight=112 valign=top align=center>
|
||||
<img src="file://rom/Images/Spacer.gif" width=1 height=9><br>
|
||||
data =`\0<html>
|
||||
<head>
|
||||
<display hspace=0 vspace=0 fontsize=small noscroll showwhencomplete>
|
||||
<title>
|
||||
Home for ${session_data.getSessionData("subscriber_username") || "minisrv"}
|
||||
</title>
|
||||
</head>
|
||||
<body bgcolor="#3C2F47" link=#BBAEC8 text="ffffff" vlink=AA9DB7>
|
||||
<table border=0 cellspacing=0 cellpadding=0 width="100%" height="60" >
|
||||
<tr>
|
||||
<td>
|
||||
<td align="left"><img src="images/proto3/HomeTopLeftEdge.gif"></td>
|
||||
<td valign="top">
|
||||
<table border=0 cellspacing=0 cellpadding=0>
|
||||
<tr>
|
||||
<td colspan=4 valign="top"><img src="images/proto3/HomeTopEdge.gif">
|
||||
</tr>
|
||||
<tr><td height=5 colspan=4>
|
||||
</tr>
|
||||
<tr><td></TD>
|
||||
</tr>
|
||||
<tr><td height=3 colspan=4>
|
||||
</tr>
|
||||
<tr>
|
||||
|
||||
<a HREF="client:showservices">
|
||||
<img src="file://rom/Images/Spacer.gif" width=1 height=2>
|
||||
<img src="${minisrv_config.config.service_logo}"" width=127 height=98>
|
||||
</A>
|
||||
<td align="left">
|
||||
<font color=#EEEEEE> <b>WebTV URL, FILE, and CLIENT Access:</b></font>
|
||||
<table border=0 cellspacing=0 cellpadding=0>
|
||||
<tr>
|
||||
<td width="380">
|
||||
<form name="urlaccess">
|
||||
<input type="text" name="visitsite" value="wtv-" border="1" bgcolor="#BBAEC8" text="#423852" cursor="#423852" align="center" width="314" executeurl autoactivate>
|
||||
<input type="submit" value="Go" width=20>
|
||||
</form>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<!-- BEGIN SEPARATOR -->
|
||||
<tr>
|
||||
<td absheight=5>
|
||||
<table cellspacing=0 cellpadding=0>
|
||||
<tr>
|
||||
<td abswidth=138 absheight=2 valign=middle align=center bgcolor="000000">
|
||||
<img src="file://rom/Images/Spacer.gif" width=1 height=1>
|
||||
<tr>
|
||||
<td abswidth=138 absheight=1 valign=top align=left>
|
||||
<tr>
|
||||
<td abswidth=138 absheight=2 valign=top align=left bgcolor="181818">
|
||||
<img src="file://rom/Images/Spacer.gif" width=1 height=1>
|
||||
</table>
|
||||
<!-- END LOGO SPAN -->
|
||||
<td>
|
||||
<td width=5>
|
||||
|
||||
<!-- BEGIN SPAN -->
|
||||
<tr>
|
||||
<td absheight=25>
|
||||
<table cellspacing=0 cellpadding=0>
|
||||
<tr>
|
||||
<td height=2>
|
||||
<tr>
|
||||
<td abswidth=7>
|
||||
<td abswidth=125>
|
||||
<table cellspacing=0 cellpadding=0 href="client:relogin">
|
||||
<tr>
|
||||
<td>
|
||||
<table cellspacing=0 cellpadding=0>
|
||||
<tr>
|
||||
<td>
|
||||
<shadow><font size=3 color=e7ce4a>Login</font></shadow>
|
||||
</table>
|
||||
</table>
|
||||
<td abswidth=6>
|
||||
</table>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<table background="images/proto3/HomeTaskBar.gif" bgcolor="#9486A1" border=0 width="" height="25">
|
||||
<tr>
|
||||
<td abswidth=1><spacer type=block height=3 width=1>
|
||||
<td abswidth=50 bgcolor="#3C2F47" href="wtv-mail:/listmail" align="center"><spacer type=block height=3 width=100%><font color="#EEEEEE"><b>Mail</b></font>
|
||||
<td abswidth=2><img src="images/proto3/HomeTaskBarDividers.gif">
|
||||
<td abswidth=86 bgcolor="#3C2F47" href="wtv-favorite:/favorite" align="center"><spacer type=block height=3 width=100%><font color="#EEEEEE"><b>Favorites</b></font>
|
||||
<td abswidth=2><img src="images/proto3/HomeTaskBarDividers.gif">
|
||||
<td abswidth=70 bgcolor="#3C2F47" href="wtv-setup:/sound" align="center"><spacer type=block height=3 width=100%><font color="#EEEEEE"><b>Music</b></font>
|
||||
<td abswidth=2><img src="images/proto3/HomeTaskBarDividers.gif">
|
||||
<td abswidth=74 bgcolor="#3C2F47" href="http://frogfind.com" align="center"><spacer type=block height=3 width=100%><font color="#EEEEEE"><b>Search</b></font>
|
||||
<td abswidth=2><img src="images/proto3/HomeTaskBarDividers.gif">
|
||||
<td abswidth=60 bgcolor="#3C2F47" href="wtv-flashrom:/willie" align="center"><spacer type=block height=3 width=100%><font color="#EEEEEE"><b>ROMs</b></font>
|
||||
<td abswidth=2><img src="images/proto3/HomeTaskBarDividers.gif">
|
||||
<td abswidth=86 bgcolor="#3C2F47" href="wtv-setup:/setup" align="center"><spacer type=block height=3 width=100%><font color="#EEEEEE"><b>Settings</b></font>
|
||||
<td abswidth=2><img src="images/proto3/HomeTaskBarDividers.gif">
|
||||
<td abswidth=50 bgcolor="#3C2F47" href="wtv-guide:/help?topic=Index&subtopic=Glossary" align="center"><spacer type=block height=3 width=100%><font color="#EEEEEE"><b>Help</b></font>
|
||||
</table>
|
||||
|
||||
<!-- BEGIN SEPARATOR -->
|
||||
<tr>
|
||||
<td absheight=5>
|
||||
<table cellspacing=0 cellpadding=0>
|
||||
<tr>
|
||||
<td abswidth=138 absheight=2 valign=middle align=center bgcolor="000000">
|
||||
<img src="file://rom/Images/Spacer.gif" width=1 height=1>
|
||||
<tr>
|
||||
<td abswidth=138 absheight=1 valign=top align=left>
|
||||
<tr>
|
||||
<td abswidth=138 absheight=2 valign=top align=left bgcolor="181818">
|
||||
<img src="file://rom/Images/Spacer.gif" width=1 height=1>
|
||||
</table>
|
||||
<!-- END SPAN -->
|
||||
|
||||
<!-- BEGIN SPAN -->
|
||||
<tr>
|
||||
<td absheight=25>
|
||||
<table cellspacing=0 cellpadding=0>
|
||||
<tr>
|
||||
<td height=2>
|
||||
<tr>
|
||||
<td abswidth=7>
|
||||
<td abswidth=125>
|
||||
|
||||
|
||||
<table cellspacing=0 cellpadding=0 href="wtv-setup:/setup">
|
||||
<tr>
|
||||
<td>
|
||||
<table cellspacing=0 cellpadding=0>
|
||||
<tr>
|
||||
<td>
|
||||
<shadow><font size=3 color=e7ce4a>Setup</font></shadow>
|
||||
</table>
|
||||
</table>
|
||||
<td abswidth=6>
|
||||
</table>
|
||||
|
||||
<!-- BEGIN SEPARATOR -->
|
||||
<tr>
|
||||
<td absheight=5>
|
||||
<table cellspacing=0 cellpadding=0>
|
||||
<tr>
|
||||
<td abswidth=138 absheight=2 valign=middle align=center bgcolor="000000">
|
||||
<img src="file://rom/Images/Spacer.gif" width=1 height=1>
|
||||
<tr>
|
||||
<td abswidth=138 absheight=1 valign=top align=left>
|
||||
<tr>
|
||||
<td abswidth=138 absheight=2 valign=top align=left bgcolor="181818">
|
||||
<img src="file://rom/Images/Spacer.gif" width=1 height=1>
|
||||
</table>
|
||||
<!-- END SPAN -->
|
||||
|
||||
|
||||
<!-- BEGIN SPAN -->
|
||||
<tr>
|
||||
<td absheight=25>
|
||||
<table cellspacing=0 cellpadding=0>
|
||||
<tr>
|
||||
<td height=2>
|
||||
<tr>
|
||||
<td abswidth=7>
|
||||
<td abswidth=125>
|
||||
|
||||
<table cellspacing=0 cellpadding=0 href="wtv-news:/lobby">
|
||||
<tr>
|
||||
<td>
|
||||
<table cellspacing=0 cellpadding=0>
|
||||
<tr>
|
||||
<td>
|
||||
<shadow><font size=3 color=e7ce4a>Discuss</font></shadow>
|
||||
</table>
|
||||
</table>
|
||||
|
||||
<td abswidth=6>
|
||||
</table>
|
||||
|
||||
<!-- BEGIN SEPARATOR -->
|
||||
|
||||
|
||||
<!-- BEGIN SEPARATOR -->
|
||||
<tr>
|
||||
<td absheight=5>
|
||||
<table cellspacing=0 cellpadding=0>
|
||||
<tr>
|
||||
<td abswidth=138 absheight=2 valign=middle align=center bgcolor="000000">
|
||||
<img src="file://rom/Images/Spacer.gif" width=1 height=1>
|
||||
<tr>
|
||||
<td abswidth=138 absheight=1 valign=top align=left>
|
||||
<tr>
|
||||
<td abswidth=138 absheight=2 valign=top align=left bgcolor="181818">
|
||||
<img src="file://rom/Images/Spacer.gif" width=1 height=1>
|
||||
</table>
|
||||
<!-- END SPAN -->
|
||||
<table border=0 bgcolor="#3C2F47">
|
||||
<tr>
|
||||
<td valign="top">
|
||||
<table border=0>
|
||||
<tr>
|
||||
<td colspan=3>
|
||||
<table bgcolor="#BBAEC8" border=0 cellspacing=0 cellpadding=0>
|
||||
<tr>
|
||||
<td background="images/proto3/HomeColumn3Header.gif" abswidth="6">
|
||||
<td abswidth=125 colspan=2 background="images/proto3/HomeColumn3Header.gif" valign="middle" absheight="26"><font size=2 color="#EEEEEE"><b>» Community «</b></font>
|
||||
<tr>
|
||||
<td colspan=3 height=7>
|
||||
|
||||
<tr>
|
||||
<td abswidth="6">
|
||||
<td href="wtv-chat:/home" height="18" valign="middle" bgcolor="#BBAEC8"><font color="#454C73">€ </font><font color="#000000">Chat</font>
|
||||
<tr>
|
||||
<td absheight="3">
|
||||
<tr>
|
||||
<td abswidth="6">
|
||||
<td href="wtv-news:/lobby" height="18" valign="middle" bgcolor="#BBAEC8"><font color="#454C73">€ </font><font color="#000000">Discuss</font>
|
||||
<td abswidth="15">
|
||||
<tr>
|
||||
<td absheight="3">
|
||||
<tr>
|
||||
<td abswidth="6">
|
||||
<td href="wtv-setup:/messenger" height="21" valign="middle" bgcolor="#BBAEC8"><font color="#454C73">€ </font><font color="#000000">Messenger</font>
|
||||
<td abswidth="15">
|
||||
<tr>
|
||||
<td absheight="5">
|
||||
</table>
|
||||
<tr>
|
||||
<td valign="top" colspan=3>
|
||||
<table bgcolor="#BBAEC8" border=0 cellspacing=0 cellpadding=0>
|
||||
<tr>
|
||||
<td background="images/proto3/HomeColumn3Header.gif" abswidth="6">
|
||||
<td abswidth=125 colspan=2 background="images/proto3/HomeColumn3Header.gif" valign="middle" absheight="26" valign="top"><font size=2 color="#EEEEEE"><b>» Account «</b></font>
|
||||
<tr>
|
||||
<td colspan=3 height=7>
|
||||
<tr>
|
||||
<td abswidth="6">
|
||||
<td href="client:relogin" height="21" valign="middle" bgcolor="#BBAEC8"><font color="#454C73">€ </font><font color="#000000">Relogin</font>
|
||||
<td abswidth="6">
|
||||
<tr>
|
||||
<td absheight="3">
|
||||
<tr>
|
||||
<td abswidth="6">
|
||||
<td href="wtv-setup:/serve-billing-overview" height="21" valign="middle" bgcolor="#BBAEC8"><font color="#454C73">€ </font><font color="#000000">Configure</font>
|
||||
<td abswidth="6">
|
||||
<tr>
|
||||
<td absheight="3">
|
||||
<tr>
|
||||
<td abswidth="6">
|
||||
<td href="wtv-setup:/edit-password" height="21" valign="middle" bgcolor="#BBAEC8"><font color="#454C73">€ </font><font color="#000000">Password</font>
|
||||
<td abswidth="6">
|
||||
<tr>
|
||||
<td absheight="3">
|
||||
<tr>
|
||||
<td abswidth="6">
|
||||
<td href="wtv-setup:/accounts" height="21" valign="middle" bgcolor="#BBAEC8"><font color="#454C73">€ </font><font color="#000000">Add User</font>
|
||||
<td abswidth="6">
|
||||
<tr>
|
||||
<td absheight="3">
|
||||
<tr>
|
||||
<td abswidth="6">
|
||||
`;
|
||||
data += `
|
||||
<!-- BEGIN SPAN -->
|
||||
<tr>
|
||||
<td absheight=25>
|
||||
<table cellspacing=0 cellpadding=0>
|
||||
<tr>
|
||||
<td height=2>
|
||||
<tr>
|
||||
<td abswidth=7>
|
||||
<td abswidth=125>
|
||||
|
||||
<table cellspacing=0 cellpadding=0 href="wtv-guide:/help?topic=Index&subtopic=Glossary">
|
||||
<tr>
|
||||
<td>
|
||||
<table cellspacing=0 cellpadding=0>
|
||||
<tr>
|
||||
<td>
|
||||
<shadow><font size=3 color=e7ce4a>Help</font> <font size=-2 color=e7ce4a><sup>(WIP)</sup></font></shadow>
|
||||
</table>
|
||||
</table>
|
||||
|
||||
<td abswidth=6>
|
||||
</table>
|
||||
|
||||
<!-- BEGIN SEPARATOR -->
|
||||
<tr>
|
||||
<td absheight=5>
|
||||
|
||||
<table cellspacing=0 cellpadding=0>
|
||||
<tr>
|
||||
<td abswidth=138 absheight=2 valign=middle align=center bgcolor="000000">
|
||||
<img src="file://rom/Images/Spacer.gif" width=1 height=1>
|
||||
<tr>
|
||||
<td abswidth=138 absheight=1 valign=top align=left>
|
||||
<tr>
|
||||
<td abswidth=138 absheight=2 valign=top align=left bgcolor="181818">
|
||||
<img src="file://rom/Images/Spacer.gif" width=1 height=1>
|
||||
</table>
|
||||
<!-- END SPAN -->
|
||||
|
||||
<!-- ADJUST ME FOR HOME TEXT HEIGHT -->
|
||||
<tr>
|
||||
<td absheight=28>
|
||||
|
||||
<tr>
|
||||
<td align=right>
|
||||
<img src="wtv-home:/images/HomeBanner_dark.gif" width=48 height=126>
|
||||
|
||||
<tr>
|
||||
<td absheight=5>
|
||||
|
||||
</table>
|
||||
</sidebar>
|
||||
|
||||
|
||||
<table cellspacing=0 cellpadding=0 width=100% height=383>
|
||||
<tr>
|
||||
<td rowspan=10 background="wtv-home:/images/BackgroundGradientEdge_dark.gif" width=6 height=100%>
|
||||
|
||||
<tr>
|
||||
<td valign=top absheight=113>
|
||||
<table cellspacing=0 cellpadding=0 width=100%>
|
||||
<tr>
|
||||
<!-- BEGIN ICON #1 -->
|
||||
<td width=9%>
|
||||
<td absheight=113 width=18%>
|
||||
<LINK REL=next HREF="wtv-mail:/listmail">
|
||||
<table cellspacing=0 cellpadding=0 border=0 href="wtv-mail:/listmail" selected nocolor width=100%>
|
||||
<tr>
|
||||
<td height=10>
|
||||
<tr>
|
||||
<td align=center>
|
||||
<img src="file://ROMCache/OpenMailbox${mailbox_gif_num}.gif" border=0 width=61 height=52>
|
||||
<tr>
|
||||
<td height=4>
|
||||
<tr>
|
||||
<td valign=bottom>
|
||||
<table cellspacing=0 cellpadding=0 width=100%>
|
||||
<tr>
|
||||
<td align=center>
|
||||
<font size=3 color=#36d5ff>Mail</font>
|
||||
</table>
|
||||
</table>
|
||||
|
||||
<!-- BEGIN ICON #2 -->
|
||||
<td width=6%>
|
||||
<td absheight=113 width=22%>
|
||||
<table cellspacing=0 cellpadding=0 border=0 href="wtv-favorite:/favorite" nocolor>
|
||||
<tr>
|
||||
<td height=12>
|
||||
<tr>
|
||||
<td align=center>
|
||||
<img src="file://ROMCache/TreasureChest1.gif" border=0 width=92 height=52>
|
||||
<tr>
|
||||
<td height=2>
|
||||
<tr>
|
||||
<td valign=bottom>
|
||||
<table cellspacing=0 cellpadding=0 width=100%>
|
||||
<tr>
|
||||
<td align=center>
|
||||
<font size=3 color=#36d5ff>Favorites</font>
|
||||
</table>
|
||||
</table>
|
||||
|
||||
<!-- BEGIN ICON #3 -->
|
||||
<td width=5%>
|
||||
<td absheight=113 width=19%>
|
||||
<table cellspacing=0 cellpadding=0 border=0 href="wtv-flashrom:/willie" nocolor>
|
||||
<tr>
|
||||
<td height=5>
|
||||
<tr>
|
||||
<td align=center>
|
||||
<img src="wtv-home:/images/rom.gif" border=0 width=68 height=59>
|
||||
<tr>
|
||||
<td height=2>
|
||||
<tr>
|
||||
<td valign=bottom>
|
||||
<table cellspacing=0 cellpadding=0 width=100%>
|
||||
<tr>
|
||||
<td align=center>
|
||||
<font size=3 color=#36d5ff>Flashroms</font>
|
||||
</table>
|
||||
</table>
|
||||
|
||||
<!-- BEGIN ICON #4 -->
|
||||
<td absheight=113 width=3%>
|
||||
<td absheight=113 width=20%>
|
||||
<table cellspacing=0 cellpadding=0 border=0 href="http://duckduckgo.com/lite/" nocolor>
|
||||
<tr>
|
||||
<td height=12>
|
||||
<tr>
|
||||
<td align=center>
|
||||
<img src="file://ROMCache/Binoculars0.gif" border=0 width=80 height=51>
|
||||
<tr>
|
||||
<td height=2>
|
||||
<tr>
|
||||
<td valign=bottom>
|
||||
<table cellspacing=0 cellpadding=0 width=100%>
|
||||
<tr>
|
||||
<td align=center>
|
||||
<font size=3 color=#36d5ff>Search</font>
|
||||
</table>
|
||||
</table>
|
||||
<td width=9%>
|
||||
</table>
|
||||
|
||||
<tr>
|
||||
<td valign=middle align=center>
|
||||
<!-- BEGIN MAIN SUB-CONTENT AREA -->
|
||||
<table cellspacing=0 cellpadding=0 width=480>
|
||||
<tr>
|
||||
<td abswidth=100% absheight=18 align=center>
|
||||
<font size="2"><b>Welcome to ${minisrv_config.config.service_name}`;
|
||||
if (session_data.getSessionData("registered")) data += ", " + session_data.getSessionData("subscriber_username") + "!";
|
||||
data += `</font></b>
|
||||
if (session_data.getSessionData("registered")) data += `<td href="wtv-tricks:/unregister" height="21" valign="middle" bgcolor="#BBAEC8"><font color="#454C73">€ </font><font color="#000000">Unregister</font>`;
|
||||
else data += `<td href="wtv-tricks:/register" height="21" valign="middle" bgcolor="#BBAEC8"><font color="#454C73">€ </font><font color="#000000">Register</font>`
|
||||
data += `
|
||||
<td abswidth="6">
|
||||
<tr>
|
||||
<td width=100% align=center absheight=2 bgcolor="000000">
|
||||
<tr>
|
||||
<td abswidth=100% absheight=16 valign=middle align=center>
|
||||
<font size="small"><b>Status</b>: ${cryptstatus} (${compstatus})</font>
|
||||
<tr>
|
||||
<td width=100% align=center absheight=2 bgcolor="000000">
|
||||
<tr>
|
||||
<td abswidth=100% absheight=150 valign=top align=left>
|
||||
<br>
|
||||
<h4> Main Menu</h4>
|
||||
<ul>
|
||||
<font size="2"><li><a href="wtv-admin:/admin">wtv-admin</a> <sup>new!</sup></li>
|
||||
`;
|
||||
if (session_data.hasCap("client-can-do-chat")) {
|
||||
data += "<li><a href=\"wtv-chat:/home\">IRC Chat Test</a></li>\n"
|
||||
}
|
||||
if (session_data.hasCap("client-has-disk")) {
|
||||
// only show disk stuff if client has disk
|
||||
data += "<li><a href=\"client:diskhax\">DiskHax</a> ~ <a href=\"client:vfathax\">VFatHax</a></li>\n";
|
||||
if (session_data.hasCap("client-can-do-macromedia-flash2")) {
|
||||
// only show demo if client can do flash2
|
||||
data += "<li>Old DealerDemo: <a href=\"wtv-disk:/sync?group=DealerDemo&diskmap=DealerDemo\">Download</a> ~ <a href=\"file://Disk/Demo/index.html\">Access</a></li>\n";
|
||||
}
|
||||
}
|
||||
data += `</ul></font>`;
|
||||
// for development
|
||||
if (fs.existsSync(service_vaults[0] + "/" + service_name + "/home.zefie.html")) {
|
||||
data += fs.readFileSync(service_vaults[0] + "/" + service_name + "/home.zefie.html", { 'encoding': 'utf8' });
|
||||
}
|
||||
data += `</table>
|
||||
<tr>
|
||||
<td width=100% absheight=28>
|
||||
<tr>
|
||||
<td width=100% align=center absheight=2 bgcolor="000000">
|
||||
<tr>
|
||||
<td width=100% align=center absheight=22>
|
||||
<font size="-4"><b>Connection Speed</b>: &rate;</font>
|
||||
<tr>
|
||||
<td width=100% align=center absheight=2 bgcolor="000000">
|
||||
<tr>
|
||||
<td width=100% align=right absheight=20>
|
||||
<font size="-4"><i>minisrv v${minisrv_config.version}${(minisrv_config.config.git_commit) ? ' git-' + minisrv_config.config.git_commit : ''}, hosted by ${minisrv_config.config.service_owner}</i></small></font> <br>
|
||||
<tr>
|
||||
<td width=100% align=center absheight=2 bgcolor="000000">
|
||||
<td absheight="3">
|
||||
|
||||
</table>
|
||||
</table>
|
||||
</body>
|
||||
</html>`
|
||||
}
|
||||
<td valign="top">
|
||||
<table border=0 width=100%>
|
||||
|
||||
|
||||
<tr>
|
||||
<td align="left" colspan=4>
|
||||
<table border=0 cellspacing=0 cellpadding=0 width="100%">
|
||||
<tr>
|
||||
<td background="images/proto3/HomeColumn3Header.gif" abswidth="6">
|
||||
<td colspan=2 background="images/proto3/HomeColumn3Header.gif" valign="middle" absheight="24"><font color="#EEEEEE"><spacer type=block height=3 width=100%><b> € Welcome to zefie's minisrv ${minisrv_version_string.split(" ")[3]}</b></font>
|
||||
<tr>
|
||||
<td absheight="6">
|
||||
<tr>
|
||||
<td valign="top" colspan=3 absheight=63>
|
||||
This server is operated by ${minisrv_config.config.service_owner}.
|
||||
</table>
|
||||
|
||||
<tr>
|
||||
<td align="left" colspan=4>
|
||||
<table border=0 cellspacing=0 cellpadding=0 width="100%">
|
||||
<tr>
|
||||
<td height=6> <tr>
|
||||
<td background="images/proto3/HomeColumn3Header.gif" abswidth="6">
|
||||
<td colspan=2 background="images/proto3/HomeColumn3Header.gif" valign="middle" absheight="24"><font color="#EEEEEE"><spacer type=block height=3 width=100%><b> € minisrv Latest Updates</b></font>
|
||||
<tr>
|
||||
<td absheight="6">
|
||||
<tr>
|
||||
<td valign="top" colspan=4 absheight=80 >
|
||||
• Added a <a href="wtv-tricks:/charmap">WebTV Character Map</a><br>
|
||||
• Redesigned homepage based on MattMan69's HackTV<br>
|
||||
• Added a new minisrv logo<br>
|
||||
</table>
|
||||
</table>
|
||||
|
||||
<td valign="top">
|
||||
|
||||
|
||||
<table border=0 width=160>
|
||||
<tr>
|
||||
<td valign="top" colspan=3>
|
||||
|
||||
|
||||
<table bgcolor="#BBAEC8" border=0 cellspacing=0 cellpadding=0>
|
||||
<tr>
|
||||
|
||||
<td background="images/proto3/HomeColumn3Header.gif" abswidth="6">
|
||||
|
||||
<td abswidth=125 colspan=2 background="images/proto3/HomeColumn3Header.gif" valign="middle" absheight="24" valign="top"><font size=2 color="#EEEEEE"><b>» Tools «</b></font>
|
||||
<tr>
|
||||
<td colspan=3 height=6>
|
||||
<tr>
|
||||
<td abswidth="6">
|
||||
<td href="wtv-tricks:/tricks" height="21" valign="middle" bgcolor="#BBAEC8"><font color="#454C73">€ </font><font color="#000000">WTV Tricks</font>
|
||||
<td abswidth="6">
|
||||
<tr>
|
||||
<td absheight="3">
|
||||
<tr>
|
||||
<td abswidth="6">
|
||||
<td href="${(wtvshared.isAdmin(session_data)) ? "wtv-admin:/admin" : notAdminAlert}" height="21" valign="middle" bgcolor="#BBAEC8"><font color="#454C73">€ </font><font color="#000000">WTV Admin</font>
|
||||
<td abswidth="6">
|
||||
<tr>
|
||||
<td absheight="3">
|
||||
<tr>
|
||||
<td abswidth="6">
|
||||
<td href="wtv-tricks:/blastbacklist?return_to=wtv-home:/home" height="21" valign="middle" bgcolor="#BBAEC8"><font color="#454C73">€ </font><font color="#000000">Clear Cache</font>
|
||||
<td abswidth="6">
|
||||
<tr>
|
||||
<td absheight="3">
|
||||
</table>
|
||||
<tr>
|
||||
<td valign="top" colspan=3>
|
||||
<table bgcolor="#BBAEC8" border=0 cellspacing=0 cellpadding=0>
|
||||
<tr>
|
||||
<td background="images/proto3/HomeColumn3Header.gif" abswidth="6">
|
||||
|
||||
<td abswidth=125 colspan=2 background="images/proto3/HomeColumn3Header.gif" valign="middle" absheight="24" valign="top"><font size=2 color="#EEEEEE"><b>» More Stuff «</b></font>
|
||||
<tr>
|
||||
<td colspan=3 height=7>
|
||||
|
||||
<tr>
|
||||
<td abswidth="6">
|
||||
<td href="wtv-tricks:/cSetup" height="21" valign="middle" bgcolor="#BBAEC8"><font color="#454C73">€ </font><font color="#000000">Switch<br> server</font>
|
||||
<td abswidth="6">
|
||||
<tr>
|
||||
<td absheight="5">
|
||||
<tr>
|
||||
<td abswidth="6">
|
||||
<td href="${ownMinisrv}" height="21" valign="middle" bgcolor="#BBAEC8"><font color="#454C73">€ </font><font color="#000000">Run your<br> own server</font>
|
||||
<td abswidth="6">
|
||||
<tr>
|
||||
<td absheight="5">
|
||||
<tr>
|
||||
<td abswidth="6">
|
||||
<td href="http://archive.midnightchannel.net/zefie/media/" height="21" valign="middle" bgcolor="#BBAEC8"><font color="#454C73">€ </font><font color="#000000">Midnight<br> Archives</font>
|
||||
<td abswidth="15">
|
||||
<tr>
|
||||
<td absheight="4">
|
||||
<tr>
|
||||
<td abswidth="6">
|
||||
<td href="${supportZefieAlert}" height="21" valign="middle" bgcolor="#BBAEC8"><font color="#454C73">€ </font><font color="#000000">Help zefie</font>
|
||||
<td abswidth="15">
|
||||
<tr>
|
||||
<td absheight="3">
|
||||
</table>
|
||||
</table>
|
||||
</table>
|
||||
`
|
||||
data += "</body>\n</html>";
|
||||
|
After Width: | Height: | Size: 227 B |
|
After Width: | Height: | Size: 205 B |
|
After Width: | Height: | Size: 169 B |
|
After Width: | Height: | Size: 374 B |
|
After Width: | Height: | Size: 442 B |
|
After Width: | Height: | Size: 284 B |
|
After Width: | Height: | Size: 647 B |
|
After Width: | Height: | Size: 655 B |
|
After Width: | Height: | Size: 40 B |
|
After Width: | Height: | Size: 2.3 KiB |
|
After Width: | Height: | Size: 4.9 KiB |
|
After Width: | Height: | Size: 2.7 KiB |
|
After Width: | Height: | Size: 340 B |
@@ -20,9 +20,14 @@ if (request_headers.query.sanitize) {
|
||||
if (data.indexOf("<html>") >= 0) {
|
||||
data = wtvshared.sanitizeSignature(data).replace("<html>", `<html><body bgcolor=${message_colors.bgcolor} text=${message_colors.text} link=${message_colors.link} vlink=${message_colors.vlink} vspace=0 hspace=0>`);
|
||||
} else {
|
||||
data = `<body bgcolor=${message_colors.bgcolor} text=${message_colors.text} link=${message_colors.link} vlink=${message_colors.vlink} vspace=0 hspace=0>\n${data}`;
|
||||
data = `<body bgcolor=${message_colors.bgcolor} text=${message_colors.text} link=${message_colors.link} vlink=${message_colors.vlink} vspace=0 hspace=0>\n${wtvshared.sanitizeSignature(data)}`;
|
||||
}
|
||||
if (request_headers.query.showdemotext) {
|
||||
data += `<br>
|
||||
<hr>This is a preview of your signature. The text below the line will not appear in your outgoing messages.
|
||||
It is provided to demonstrate what a message composed with this signature may look like.
|
||||
<a href="client:donothing">This is what a link looks like</a>`;
|
||||
}
|
||||
if (request_headers.query.demotext) data += "<br>" + request_headers.query.demotext;
|
||||
}
|
||||
if (!errpage) {
|
||||
headers = `200 OK
|
||||
|
||||
@@ -302,7 +302,7 @@ ${message_font_close}
|
||||
<td abswidth=5>
|
||||
<td abswidth=225 maxlines=1>
|
||||
${message_font_open}
|
||||
${(message.subject) ? message.subject : "(No Subject)"}
|
||||
${(message.subject) ? wtvshared.htmlEntitize(message.subject) : "(No Subject)"}
|
||||
${message_font_close}
|
||||
<td abswidth=5>
|
||||
<td abswidth=47 maxlines=1>
|
||||
|
||||
@@ -274,7 +274,7 @@ ${(message.subject) ? wtvshared.htmlEntitize(message.subject) : '(No subject)'}
|
||||
if (typeof message.body === "object" && message.body) {
|
||||
message.body = wtvshared.decodeBufferText(message.body);
|
||||
}
|
||||
message.body = message.body.replace(/\n/g, "<br><br>");
|
||||
if (message.body) message.body = message.body.replace(/\n/g, "<br><br>");
|
||||
data += `${(message.allow_html) ? message.body : wtvshared.htmlEntitize(message.body, true)}
|
||||
<br>
|
||||
<br>`;
|
||||
|
||||
@@ -6,6 +6,7 @@ var intro_seen = session_data.mailstore.checkMailIntroSeen();
|
||||
if (!intro_seen && !request_headers.query.intro_seen) {
|
||||
// user is trying to bypass the intro screen
|
||||
headers = "300 OK\nLocation: wtv-mail:/DiplomaMail?came-from=" + encodeURIComponent(request_headers.request_url);
|
||||
} else if (request_headers.query.clear == "true") {
|
||||
} else if (request_headers.query.clear == "true") {
|
||||
if (request_headers.Referer)
|
||||
gourl = request_headers.Referer.replace(/[\?\&]clear\=true/, '');
|
||||
@@ -62,8 +63,8 @@ Location: ${gourl}`;
|
||||
reply_message = session_data.mailstore.getMessageByID(request_headers.query.message_reply_id);
|
||||
if (reply_message) {
|
||||
msg_subject = "Re: " + reply_message.subject;
|
||||
to_addr = reply_message.to_addr;
|
||||
to_name = reply_message.to_name;
|
||||
to_addr = reply_message.from_addr;
|
||||
to_name = reply_message.from_name;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -125,7 +126,7 @@ Content-Type: audio/wav`;
|
||||
|
||||
var username = session_data.getSessionData("subscriber_username");
|
||||
var userdisplayname = wtvshared.htmlEntitize(session_data.getSessionData("subscriber_name"));
|
||||
var address = username + "@" + minisrv_config.config.domain_name
|
||||
var address = username + "@" + minisrv_config.config.service_name //minisrv_config.config.domain_name
|
||||
var notImplementedAlert = new clientShowAlert({
|
||||
'image': minisrv_config.config.service_logo,
|
||||
'message': "This feature is not available.",
|
||||
|
||||
@@ -252,7 +252,6 @@ ${page_start}-${page_end}
|
||||
<td height=6>
|
||||
</TABLE>`
|
||||
if (NGCount > 0) {
|
||||
|
||||
Object.keys(messages).forEach(function (k) {
|
||||
var message = messages[k].article;
|
||||
var has_relation = (messages[k].relation !== null) ? true : false;
|
||||
@@ -267,7 +266,7 @@ ${page_start}-${page_end}
|
||||
<tr>
|
||||
${(has_relation) ? `<td abswidth=20 rowspan=2 valign=top><font size="+2">•` : ''}
|
||||
<td abswidth=426 maxlines=1>
|
||||
<font color=1bb0f1>${(message.headers.SUBJECT) ? message.headers.SUBJECT : "(No Subject)"}
|
||||
<font color=1bb0f1>${(message.headers.SUBJECT) ? wtvshared.htmlEntitize(message.headers.SUBJECT) : "(No Subject)"}
|
||||
<tr>
|
||||
<td maxlines=1>
|
||||
<font size="-1" color=544f53><b>
|
||||
@@ -335,6 +334,7 @@ wtv-expire-all: wtv-news:/news?group=${group}&article=`;
|
||||
var message_body = message.text;
|
||||
var attachments = null;
|
||||
var signature_index = null;
|
||||
wtvnews.debug(message);
|
||||
if (message.attachments) attachments = message.attachments;
|
||||
if (attachments) {
|
||||
if (Object.keys(attachments).length > 0) {
|
||||
@@ -345,7 +345,7 @@ wtv-expire-all: wtv-news:/news?group=${group}&article=`;
|
||||
return false;
|
||||
}
|
||||
});
|
||||
attachments.splice(signature_index, 1);
|
||||
if (signature_index) attachments.splice(signature_index, 1);
|
||||
}
|
||||
}
|
||||
if (signature) message_colors = session_data.mailstore.getSignatureColors(signature);
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
var minisrv_service_file = true;
|
||||
session_data.data_store.wtvsec_login.PrepareTicket();
|
||||
|
||||
headers = `300 Moved
|
||||
Connection: Close
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
var minisrv_service_file = true;
|
||||
|
||||
|
||||
if (!request_headers.query.registering ||
|
||||
!request_headers.query.subscriber_name ||
|
||||
!request_headers.query.subscriber_username ||
|
||||
@@ -8,40 +9,52 @@ if (!request_headers.query.registering ||
|
||||
!session_data.session_store ||
|
||||
!session_data ||
|
||||
!socket.ssid
|
||||
) {
|
||||
) {
|
||||
var errpage = wtvshared.doErrorPage(400);
|
||||
headers = errpage[0];
|
||||
data = errpage[1];
|
||||
} else {
|
||||
session_data.setSessionData("subscriber_name", request_headers.query.subscriber_name);
|
||||
session_data.setSessionData("subscriber_username", request_headers.query.subscriber_username);
|
||||
session_data.setSessionData("subscriber_contact", request_headers.query.subscriber_contact);
|
||||
session_data.setSessionData("subscriber_contact_method", request_headers.query.subscriber_contact_method);
|
||||
session_data.setSessionData("subscriber_userid", 0);
|
||||
session_data.setSessionData("registered", true);
|
||||
var mailstore_exists = session_data.mailstore.mailstoreExists();
|
||||
var mailbox_exists = false;
|
||||
if (!mailstore_exists) mailstore_exists = session_data.mailstore.createMailstore();
|
||||
if (mailstore_exists) {
|
||||
if (!session_data.mailstore.mailboxExists(0)) {
|
||||
// mailbox does not yet exist, create it
|
||||
mailbox_exists = session_data.mailstore.createMailbox(0);
|
||||
}
|
||||
if (mailbox_exists) {
|
||||
// Just created Inbox for the first time, so create the welcome message
|
||||
session_data.mailstore.createWelcomeMessage();
|
||||
}
|
||||
}
|
||||
if (!session_data.saveSessionData(true, true)) {
|
||||
var errpage = wtvshared.doErrorPage(400);
|
||||
var errpage = null;
|
||||
const WTVRegister = require(classPath + "/WTVRegister.js")
|
||||
var wtvr = new WTVRegister(minisrv_config, SessionStore);
|
||||
if (!request_headers.query.subscriber_username) errpage = wtvshared.doErrorPage(400, "Please enter a username.");
|
||||
else if (request_headers.query.subscriber_username.length < minisrv_config.config.user_accounts.min_username_length) errpage = wtvshared.doErrorPage(400, "Please choose a username with <b>" + minisrv_config.config.user_accounts.min_username_length + "</b> or more characters.");
|
||||
else if (request_headers.query.subscriber_username.length > minisrv_config.config.user_accounts.max_username_length) errpage = wtvshared.doErrorPage(400, "Please choose a username with <b>" + minisrv_config.config.user_accounts.max_username_length + "</b> or less characters.");
|
||||
else if (!wtvr.checkUsernameSanity(request_headers.query.subscriber_username)) errpage = wtvshared.doErrorPage(400, "The username you have chosen contains invalid characters. Please choose a username with only <b>letters</b>, <b>numbers</b>, <b>_</b> or <b>-</b>. Also, please be sure your username begins with a letter.");
|
||||
else if (!wtvr.checkUsernameAvailable(request_headers.query.subscriber_username)) errpage = wtvshared.doErrorPage(400, "The username you have selected is already in use. Please select another username.");
|
||||
if (errpage) {
|
||||
headers = errpage[0];
|
||||
data = errpage[1];
|
||||
} else {
|
||||
session_data.setSessionData("subscriber_name", request_headers.query.subscriber_name);
|
||||
session_data.setSessionData("subscriber_username", request_headers.query.subscriber_username);
|
||||
session_data.setSessionData("subscriber_contact", request_headers.query.subscriber_contact);
|
||||
session_data.setSessionData("subscriber_contact_method", request_headers.query.subscriber_contact_method);
|
||||
session_data.setSessionData("subscriber_userid", 0);
|
||||
session_data.setSessionData("registered", true);
|
||||
var mailstore_exists = session_data.mailstore.mailstoreExists();
|
||||
var mailbox_exists = false;
|
||||
if (!mailstore_exists) mailstore_exists = session_data.mailstore.createMailstore();
|
||||
if (mailstore_exists) {
|
||||
if (!session_data.mailstore.mailboxExists(0)) {
|
||||
// mailbox does not yet exist, create it
|
||||
mailbox_exists = session_data.mailstore.createMailbox(0);
|
||||
}
|
||||
if (mailbox_exists) {
|
||||
// Just created Inbox for the first time, so create the welcome message
|
||||
session_data.mailstore.createWelcomeMessage();
|
||||
}
|
||||
}
|
||||
if (!session_data.saveSessionData(true, true)) {
|
||||
var errpage = wtvshared.doErrorPage(400);
|
||||
headers = errpage[0];
|
||||
data = errpage[1];
|
||||
} else {
|
||||
|
||||
headers = `200 OK
|
||||
headers = `200 OK
|
||||
Content-Type: text/html`;
|
||||
|
||||
data = `<html>
|
||||
data = `<html>
|
||||
<head>
|
||||
<title>
|
||||
Finished signing up
|
||||
@@ -110,5 +123,6 @@ connect to the Internet by choosing
|
||||
</body>
|
||||
</html>
|
||||
`;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,7 +1,6 @@
|
||||
var minisrv_service_file = true;
|
||||
var errpage = null;
|
||||
|
||||
const WTVRegister = require(classPath + "/WTVRegister.js")
|
||||
const wtvr = new WTVRegister(minisrv_config, SessionStore);
|
||||
|
||||
if (session_data.user_id != 0) errpage = wtvshared.doErrorPage(400, "You are not authorized to add users to this account.");
|
||||
|
||||
@@ -19,7 +19,9 @@ if (session_data.user_id != 0 && session_data.user_id != request_headers.query.u
|
||||
if (user_id != null) {
|
||||
headers = `200 OK
|
||||
Connection: Keep-Alive
|
||||
Content-Type: text/html`
|
||||
Content-Type: text/html
|
||||
wtv-expire-all: wtv-setup:/edit-user
|
||||
wtv-noback-all: wtv-setup:/edit-user`
|
||||
var userSession = null;
|
||||
if (session_data.user_id == request_headers.query.user_id) userSession = session_data;
|
||||
else {
|
||||
@@ -83,7 +85,7 @@ ${(user_id == 0) ? 'Subscriber' : 'User'} information
|
||||
<td>
|
||||
<td absheight=244 valign=top align=left>
|
||||
<form
|
||||
action="wtv-setup:/serve-billing-overview"
|
||||
action="client:goback"
|
||||
>
|
||||
<P>
|
||||
<table cellspacing=0 cellpadding=0 border=0>
|
||||
|
||||
@@ -117,7 +117,7 @@ ${(request_headers.query.preview) ? "<tr><td><td colspan=3><b>Signature Preview:
|
||||
<tr>
|
||||
<TD>
|
||||
<td colspan=3 valign=top align=left bgcolor="${(request_headers.query.preview) ? message_colors.bgcolor : "0D0D0D"}">
|
||||
${(request_headers.query.preview) ? `<embed src="wtv-mail:/get-signature?sanitize=true&demotext=${encodeURIComponent(`<hr>This is a preview of your signature. The text below the line will not appear in your outgoing messages. It is provided to demonstrate what a message composed with this signature may look like. <a href="client:donothing">This is what a link looks like</a>.`)}" height=40></embed><br><br>` : ''}
|
||||
${(request_headers.query.preview) ? `<embed src="wtv-mail:/get-signature?sanitize=true&showdemotext=true" height=40></embed><br><br>` : ''}
|
||||
<tr>
|
||||
<td>
|
||||
<td colspan=3 height=2 valign=top align=left>
|
||||
|
||||
@@ -83,7 +83,7 @@ setTimeout("clearAllLists();", 2*1000);
|
||||
<tr>
|
||||
<td width=5 height=26>
|
||||
<td width=93>
|
||||
<table width=93 cellspacing=0 cellpadding=0 href=wtv-guide:/help?topic=Messenger&subtopic=Index>
|
||||
<table width=93 cellspacing=0 cellpadding=0 href=wtv-guide:/help?topic=Index&subtopic=Glossary>
|
||||
<tr>
|
||||
<td>
|
||||
<table cellspacing=0 cellpadding=0>
|
||||
|
||||
@@ -26,7 +26,7 @@ function ShowMessengerPanel()
|
||||
<tr>
|
||||
<td abswidth=6>
|
||||
<td abswidth=92 absheight=76>
|
||||
<table absheight=76 cellspacing=0 cellpadding=0>
|
||||
<table href="wtv-home:/home" absheight=76 cellspacing=0 cellpadding=0>
|
||||
<tr>
|
||||
<td align=right>
|
||||
<img src="${minisrv_config.config.service_logo}" width=87 height=67>
|
||||
|
||||
@@ -76,31 +76,62 @@ Music
|
||||
if (canDoMuzac) {
|
||||
data += `<p>Turn on background music
|
||||
to have songs play continually in
|
||||
the background.
|
||||
<p>Remember to adjust the
|
||||
the background.<p>Remember to adjust the
|
||||
volume on your TV so you can
|
||||
hear the music.`;
|
||||
} else {
|
||||
data += `Your client reports it does
|
||||
not support background music.
|
||||
<p>However, you can still browse,
|
||||
and listen to the music in the foreground.`;
|
||||
}
|
||||
data += `
|
||||
hear the music.
|
||||
<TD WIDTH=20>
|
||||
<TD WIDTH=198 VALIGN=top ALIGN=left>
|
||||
<spacer type=block height=20 width=1>
|
||||
<form action="client:ConfirmPhoneSetup">
|
||||
<spacer type=block height=16 width=1>
|
||||
<form>
|
||||
<table cellspacing=0 cellpadding=0>
|
||||
<tr>
|
||||
<td valign=top>
|
||||
Background music<p>
|
||||
<input type=hidden name=autosubmit value=true autosubmit=onleave>
|
||||
<INPUT TYPE="checkbox" NAME="setup-play-bgm" VALUE="1"
|
||||
action="client:SetSetupValue" selected &wtv-muzac-on;${canDoMuzac ? '' : 'disabled'}>
|
||||
<td abswidth=4>
|
||||
<td valign=top>
|
||||
<font size=-1>Background<br>music</font>
|
||||
<tr><td absheight=10>
|
||||
<INPUT TYPE="hidden" NAME="current_volume" ID="current_volume" value="&vol;">
|
||||
|
||||
<tr><td absheight=38>
|
||||
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
BGM Volume
|
||||
<p>
|
||||
<INPUT TYPE="radio" ID="vol_soft" NAME="setup-bgm-volume" VALUE="soft" action="client:SetSetupValue"> Soft<br>
|
||||
<INPUT TYPE="radio" ID="vol_medium" NAME="setup-bgm-volume" VALUE="medium" action="client:SetSetupValue"> Medium<br>
|
||||
<INPUT TYPE="radio" ID="vol_loud" NAME="setup-bgm-volume" VALUE="loud" action="client:SetSetupValue"> Loud
|
||||
<script type="text/javascript">
|
||||
var volume=document.forms[0].current_volume.value
|
||||
var radio = null;
|
||||
if (volume == "soft") {
|
||||
radio = document.forms[0]['setup-bgm-volume'][0];
|
||||
} else if (volume == "medium") {
|
||||
radio = document.forms[0]['setup-bgm-volume'][1];
|
||||
} else if (volume == "loud") {
|
||||
radio = document.forms[0]['setup-bgm-volume'][2];
|
||||
}
|
||||
|
||||
if (radio) {
|
||||
radio.checked = true;
|
||||
}
|
||||
</script>
|
||||
</td>
|
||||
`;
|
||||
} else {
|
||||
data += `<p>Your client reports it does
|
||||
not support background music.
|
||||
<p>However, you can still browse,
|
||||
and listen to the music in the foreground.
|
||||
<TD WIDTH=20>
|
||||
<TD WIDTH=198 VALIGN=top ALIGN=left>
|
||||
<spacer type=block height=16 width=1>
|
||||
<form>
|
||||
<table cellspacing=0 cellpadding=0>
|
||||
`;
|
||||
}
|
||||
data += `
|
||||
<tr>
|
||||
<td valign=top>
|
||||
</table>
|
||||
|
||||
@@ -16,9 +16,17 @@ if (!errpage) {
|
||||
}
|
||||
|
||||
if (!errpage) {
|
||||
var wtvr = new WTVRegister(minisrv_config, SessionStore);
|
||||
|
||||
if (session_data.getNumberOfUserAccounts() > minisrv_config.config.user_accounts.max_users_per_account) errpage = wtvshared.doErrorPage(400, "You are not authorized to add more than " + minisrv_config.config.user_accounts.max_users_per_account + ` account${minisrv_config.config.user_accounts.max_users_per_account > 1 ? 's' : ''}.`);
|
||||
if (!request_headers.query.user_name) errpage = wtvshared.doErrorPage(400, "Please enter a username.");
|
||||
else if (request_headers.query.user_name.length < minisrv_config.config.user_accounts.min_username_length) errpage = wtvshared.doErrorPage(400, "Please choose a username with <b>" + minisrv_config.config.user_accounts.min_username_length + "</b> or more characters.");
|
||||
else if (request_headers.query.user_name.length > minisrv_config.config.user_accounts.max_username_length) errpage = wtvshared.doErrorPage(400, "Please choose a username with <b>" + minisrv_config.config.user_accounts.max_username_length + "</b> or less characters.");
|
||||
else if (!wtvr.checkUsernameSanity(request_headers.query.user_name)) errpage = wtvshared.doErrorPage(400, "The username you have chosen contains invalid characters. Please choose a username with only <b>letters</b>, <b>numbers</b>, <b>_</b> or <b>-</b>. Also, please be sure your username begins with a letter.");
|
||||
else if (!wtvr.checkUsernameAvailable(request_headers.query.user_name)) errpage = wtvshared.doErrorPage(400, "The username you have selected is already in use. Please select another username.");
|
||||
}
|
||||
|
||||
|
||||
if (errpage) {
|
||||
headers = errpage[0];
|
||||
data = errpage[1];
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
var minisrv_service_file = true;
|
||||
|
||||
const wtvbgm = new WTVBGMusic(minisrv_config, session_data);
|
||||
|
||||
if (request_headers.query && session_data) {
|
||||
|
||||
if (request_headers.request_url.indexOf('?') >= 0) {
|
||||
|
||||
211
zefie_wtvp_minisrv/ServiceVault/wtv-tricks/cSetup.js
Normal file
@@ -0,0 +1,211 @@
|
||||
var minisrv_service_file = true;
|
||||
|
||||
if (request_headers.query.machine && request_headers.query.port) {
|
||||
headers = `200 OK
|
||||
Content-Type: text/html
|
||||
Connection: close
|
||||
wtv-connection-close: true
|
||||
wtv-service: reset
|
||||
wtv-service: name=wtv-1800 host=${request_headers.query.machine} port=${request_headers.query.port} flags=0x00000004 connections=1
|
||||
wtv-boot-url: wtv-1800:/preregister
|
||||
`
|
||||
data = `<html>
|
||||
<head>
|
||||
<title>Connect Setup v2.2-minisrv</title>
|
||||
<DISPLAY noscroll allowoffline notvaudio nooptions switchtowebmode noreconnectalert>
|
||||
</head>
|
||||
<body bgcolor="#3C2F47" text="#cbcbcb" link="#aaaaaa"
|
||||
hspace="0" vspace="0" fontsize="large" noscroll hideoptions onload="load()">
|
||||
<h2>Connecting...</h2>
|
||||
Please wait while we connect you to ${request_headers.query.machine}:${request_headers.query.port} ...
|
||||
<script>
|
||||
function activ() {
|
||||
location.href = "client:activ";
|
||||
}
|
||||
|
||||
function load() {
|
||||
location.href = "client:hangup";
|
||||
setTimeout(activ, 1000);
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
`;
|
||||
|
||||
} else {
|
||||
|
||||
headers = `200 OK
|
||||
Content-Type: text/html`
|
||||
|
||||
data = `<html>
|
||||
<head>
|
||||
<title>Connect Setup v2.2-minisrv</title>
|
||||
<DISPLAY noscroll notvaudio switchtowebmode>
|
||||
</head>
|
||||
<body bgcolor="#3C2F47" text="#cbcbcb" link="#aaaaaa"
|
||||
hspace="0" vspace="0" fontsize="large" noscroll>
|
||||
|
||||
<table cellspacing="0" cellpadding="0" cellborder="0">
|
||||
<tr>
|
||||
<td width="104" height="80" valign="top" align="left"><spacer type="block" WIDTH="11" HEIGHT="11"><br>
|
||||
<spacer type="block" WIDTH="10" HEIGHT="1"> <a href="wtv-home:/home"><img src="${minisrv_config.config.service_logo}" width="87"
|
||||
height="67"></a>
|
||||
</td>
|
||||
<td width="456" height="80" valign="middle" align="center">
|
||||
<br><h2>
|
||||
Connection Setup v2.2-minisrv
|
||||
</h2>
|
||||
</td>
|
||||
</tr>
|
||||
<tr><td colspan=4><hr>
|
||||
<tr><td absheight=6>
|
||||
</table>
|
||||
|
||||
|
||||
|
||||
<script>
|
||||
|
||||
|
||||
function doConnect() {
|
||||
// if (document.connect.machine.value == "${minisrv_config.services['wtv-1800'].host}" && document.connect.port.value == "${minisrv_config.services['wtv-1800'].port}") {
|
||||
// alert("You are already here!");
|
||||
// } else {
|
||||
document.connect.submit();
|
||||
// }
|
||||
}
|
||||
|
||||
function setOther() {
|
||||
count = document.connect.preset.length;
|
||||
document.connect.preset.selectedIndex = count - 1;
|
||||
setTimeout(updateService,10);
|
||||
}
|
||||
function updateService() {
|
||||
srv = document.connect.preset[document.connect.preset.selectedIndex].value;
|
||||
switch (srv) {
|
||||
case "mattman69":
|
||||
document.connect.machine.value="74.76.120.18"
|
||||
document.connect.port.value="1615"
|
||||
document.message.msg.value="This is MattMan69's Public HackTV minisrv, all are welcome to connect and enjoy the wonders of WebTV. Offers a custom experience."
|
||||
break;
|
||||
case "zefie":
|
||||
document.connect.machine.value="51.222.164.146"
|
||||
document.connect.port.value="1615"
|
||||
document.message.msg.value="This is zefie's public minisrv, for those who want the vanilla minisrv experience."
|
||||
break;
|
||||
case "local":
|
||||
document.connect.machine.value="127.0.0.1"
|
||||
document.connect.port.value="1615"
|
||||
document.message.msg.value='Connect to your server via localhost. This option is for users running their own server, and connecting with the Viewer.'
|
||||
break;
|
||||
case "wni-prod":
|
||||
document.connect.machine.value="10.0.0.1"
|
||||
document.connect.port.value="1615"
|
||||
document.message.msg.value='Default WebTV Production IP/Port. Can be used to check your routing setup.'
|
||||
break;
|
||||
case "wni-int":
|
||||
document.connect.machine.value="192.168.11.8"
|
||||
document.connect.port.value="1615"
|
||||
document.message.msg.value='Default WebTV Internal IP/Port. Can be used to check your routing setup.'
|
||||
break;
|
||||
case "jarhead":
|
||||
document.message.msg.value="Jarhead\'s public minisrv, offers the most production-like WebTV service, to simulate how it was like back then."
|
||||
alert("Coming soon!")
|
||||
document.connect.preset.selectedIndex = document.connect.preset.selectedIndex - 1;
|
||||
setTimeout(updateService,10);
|
||||
case "other":
|
||||
document.message.msg.value="Your custom service."
|
||||
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<form name="connect" action="wtv-tricks:/cSetup">
|
||||
<table width=100% cellspacing=1 cellpadding=0>
|
||||
<tr>
|
||||
<td colspan=3>
|
||||
<font color=#4489a8>Presets:</font>
|
||||
</td>
|
||||
<td><spacer W=24 type=block>
|
||||
<select width="440" name="preset" onchange="updateService()" selected>
|
||||
<option value="mattman69" selected>MattMan69's HackTV minisrv</option>
|
||||
<option value="zefie">zefie's minisrv</option>
|
||||
<option value="jarhead">JarHead's WebTV Recreation Server</option>
|
||||
<option value="local">Your local minisrv</option>
|
||||
<option value="wni-prod">WebTV Production Default</option>
|
||||
<option value="wni-int">WebTV Internal Default</option>
|
||||
<option value="other">Other</option>
|
||||
</select>
|
||||
<tr><td absheight=6>
|
||||
</table>
|
||||
<hr>
|
||||
<table width=100% cellspacing=1 cellpadding=0>
|
||||
<tr>
|
||||
<td height=6>
|
||||
<tr>
|
||||
<td colspan=3>
|
||||
<font color=#4489a8>Service:</font>
|
||||
<tr>
|
||||
<td width=15></td>
|
||||
<td height=2>
|
||||
<tr>
|
||||
<td height=2>
|
||||
<tr>
|
||||
<td>
|
||||
<td>
|
||||
<input name=serviceType type=radio bgcolor=#444444 value=custom checked>
|
||||
<td>
|
||||
Custom:
|
||||
<td>
|
||||
Address:
|
||||
<input size=16 ASCIIONLY name=machine bgcolor=#444444 text=#cbcbcb cursor=#cc9933 value="74.76.120.18" onkeypress="setOther()">
|
||||
Port:
|
||||
<input size=5 ASCIIONLY NUMBERS name=port bgcolor=#444444 text=#cbcbcb cursor=#cc9933 value="1615" onkeypress="setOther()">
|
||||
</table>
|
||||
|
||||
<spacer type=block height="8">
|
||||
<hr>
|
||||
<table cellspacing=1 cellpadding=0>
|
||||
<tr>
|
||||
<td height=8>
|
||||
<tr>
|
||||
<td colspan=3>
|
||||
<font color=#4489a8>Description:</font><br><br>
|
||||
<tr>
|
||||
<td width=20>
|
||||
<td width=390 align=left valign=top>
|
||||
<form name=message>
|
||||
<textarea rows=4 size=46 text=#cbcbcb id=msg name=msg border="0" bgcolor=#3C2F47 value='This is the public HackTV minisrv, all are welcome to connect and enjoy the wonders of WebTV. Custom experience!' nohighlight noselect>
|
||||
</textarea>
|
||||
</form>
|
||||
<td>
|
||||
<td width=100% align=right valign=top>
|
||||
<form action="client:GoToPhoneSetup">
|
||||
<font color="#E7CE4A" size=-2><shadow>
|
||||
<input
|
||||
type=submit
|
||||
borderimage="file://ROM/tvimages/TVButtonBorder.bif"
|
||||
value="Phone Settings"
|
||||
name="Phone Settings"
|
||||
usestyle
|
||||
width=170>
|
||||
</shadow></font>
|
||||
</form>
|
||||
<spacer type=block height="60">
|
||||
<font color="#E7CE4A" size=-2><shadow>
|
||||
<input type=hidden name=useEncryption value=true checked>
|
||||
<input
|
||||
type=button
|
||||
borderimage="file://ROM/tvimages/TVButtonBorder.bif"
|
||||
value="Connect"
|
||||
name="Connect"
|
||||
onclick="doConnect()"
|
||||
usestyle
|
||||
width=170>
|
||||
</shadow></font>
|
||||
|
||||
|
||||
</table>
|
||||
</form>
|
||||
|
||||
</body>
|
||||
</html>`;
|
||||
}
|
||||
|
After Width: | Height: | Size: 132 B |
|
After Width: | Height: | Size: 84 B |
49
zefie_wtvp_minisrv/ServiceVault/wtv-tricks/charmap.js
Normal file
@@ -0,0 +1,49 @@
|
||||
var minisrv_service_file = true;
|
||||
|
||||
var num_per_line = 4
|
||||
var legend_every = 6;
|
||||
|
||||
function getLegend() {
|
||||
d = "<tr>\n";
|
||||
for (var i = 0; i < num_per_line; i++) {
|
||||
d += "<td><b><font color=44cc55>Code</font></b>\n<td><b><font color=44cc55>Char</font></b>\n";
|
||||
}
|
||||
d += "<tr>\n";
|
||||
return d;
|
||||
}
|
||||
|
||||
|
||||
headers = `200 OK
|
||||
Content-Type: text/html`;
|
||||
|
||||
data = `<html>
|
||||
<body>
|
||||
<display nosave nosend>
|
||||
<title>WebTV Character Map</title>
|
||||
<sidebar width=20%>
|
||||
<img src="wtv-tricks:/images/Favorites_bg2.jpg">
|
||||
</sidebar>
|
||||
<body bgcolor="#191919" text="#33bb44" link="36d5ff" vlink="36d5ff" vspace=0>
|
||||
<br>
|
||||
<br>
|
||||
<font color=44cc55><h1>WebTV Character Map</h1></font>
|
||||
<br>
|
||||
<table border=1>`;
|
||||
|
||||
|
||||
for (var i = 0; i <= 255; i++) {
|
||||
if (i % num_per_line === 0) {
|
||||
if (i % (num_per_line * legend_every) === 0) {
|
||||
data += getLegend();
|
||||
} else {
|
||||
data += "<tr>"
|
||||
}
|
||||
}
|
||||
data += "<td>&#" + i + ";\n";
|
||||
data += "<td>&#" + i + ";\n";
|
||||
}
|
||||
|
||||
data += `</table>
|
||||
</body>
|
||||
</html>
|
||||
`
|
||||
|
After Width: | Height: | Size: 22 KiB |