From d5f41837c078cb014a018e22a88763d25059e88e Mon Sep 17 00:00:00 2001 From: zefie Date: Tue, 12 Aug 2025 19:03:04 -0400 Subject: [PATCH] fix/optimize wtv-tricks, wtvchat --- .../ServiceVault/wtv-tricks/access.js | 9 +++---- .../wtv-tricks/add-to-scrapbook.js | 10 ++++---- .../wtv-tricks/benchmark-finished.js | 23 +++++++++--------- .../ServiceVault/wtv-tricks/benchmark.js | 4 ++-- .../ServiceVault/wtv-tricks/blastbacklist.js | 4 ++-- .../ServiceVault/wtv-tricks/cSetup.js | 4 +--- .../ServiceVault/wtv-tricks/charmap.js | 12 +++++----- .../ServiceVault/wtv-tricks/go-offline.js | 4 ++-- .../includes/ServiceVault/wtv-tricks/home.js | 2 +- .../includes/ServiceVault/wtv-tricks/info.js | 24 ++++++++++++++++--- .../ServiceVault/wtv-tricks/register.js | 11 +++++---- .../ServiceVault/wtv-tricks/tricks.js | 10 ++++---- .../ServiceVault/wtv-tricks/unregister.js | 19 ++++++++------- .../wtv-tricks/view-scrapbook-image.js | 6 ++--- .../includes/ServiceVault/wtvchat/catchall.js | 16 ++++++------- 15 files changed, 87 insertions(+), 71 deletions(-) diff --git a/zefie_wtvp_minisrv/includes/ServiceVault/wtv-tricks/access.js b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-tricks/access.js index 309ababd..6202f724 100644 --- a/zefie_wtvp_minisrv/includes/ServiceVault/wtv-tricks/access.js +++ b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-tricks/access.js @@ -1,16 +1,17 @@ -var minisrv_service_file = true; +const minisrv_service_file = true; if (wtvshared.shenanigans.checkShenanigan(wtvshared.shenanigans.shenanigans.ENABLE_TRICKS_URLACCESS)) { // Allow URL access outside our trusted minisrv - 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" + let url; + if (request_headers.query.url) url = request_headers.query.url; + else url = "client:showalert?message=Please%20provide%20a%20%3Furl%3D%20with%20the%20url%20you%20would%20like%20to%20access.&buttonlabel1=Okay&buttonacction1=client:donothing" headers = `300 OK wtv-visit: ${url} Location: ${url} Content-type: text/html` } else { - var err = wtvshared.doErrorPage(403, "Access Denied"); + const err = wtvshared.doErrorPage(403, "Access Denied"); headers = err[0]; data = err[1]; } \ No newline at end of file diff --git a/zefie_wtvp_minisrv/includes/ServiceVault/wtv-tricks/add-to-scrapbook.js b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-tricks/add-to-scrapbook.js index ab928b75..f631300b 100644 --- a/zefie_wtvp_minisrv/includes/ServiceVault/wtv-tricks/add-to-scrapbook.js +++ b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-tricks/add-to-scrapbook.js @@ -1,16 +1,16 @@ -var minisrv_service_file = true; -var request_is_async = true; +const minisrv_service_file = true; +request_is_async = true; function handleError(reason) { - var errpage = wtvshared.doErrorPage(400, reason); + const errpage = wtvshared.doErrorPage(400, reason); sendToClient(socket, errpage[0], errpage[1]); } if (!request_headers.query.url && !request_headers.query.mediaPath) { handleError('No URL provided'); } else { - var mediaURL = request_headers.query.url || request_headers.query.mediaPath; - var targetURL = 'wtv-author:/scrapbook-add?mediaPath=' + encodeURIComponent(mediaURL); + const mediaURL = request_headers.query.url || request_headers.query.mediaPath; + const targetURL = 'wtv-author:/scrapbook-add?mediaPath=' + encodeURIComponent(mediaURL); sendToClient(socket, {'Status': 302, 'Location': targetURL, 'wtv-visit': targetURL}, ''); } \ No newline at end of file diff --git a/zefie_wtvp_minisrv/includes/ServiceVault/wtv-tricks/benchmark-finished.js b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-tricks/benchmark-finished.js index c8bb69bf..39c3ed08 100644 --- a/zefie_wtvp_minisrv/includes/ServiceVault/wtv-tricks/benchmark-finished.js +++ b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-tricks/benchmark-finished.js @@ -1,5 +1,4 @@ -var minisrv_service_file = true; - +const minisrv_service_file = true; headers = `200 OK Connection: Keep-Alive @@ -17,22 +16,22 @@ data = `

${minisrv_config.config.service_name} Tricks

`; -var start_time = parseInt(session_data.getTicketData("benchmark_starttime")); +const start_time = parseInt(session_data.getTicketData("benchmark_starttime")); if (isNaN(start_time)) { data += "Invalid data, please try your benchmark again"; } else { - var end_time = Math.floor(new Date().getTime()); + let end_time = Math.floor(new Date().getTime()); if (!session_data.getTicketData("benchmark_endtime")) { session_data.setTicketData("benchmark_endtime", end_time); } else { end_time = session_data.getTicketData("benchmark_endtime"); } - var download_time = end_time - start_time; - var image_filename = wtvshared.getServiceDep("/wtv-tricks/benchmark.jpg", true); - var image_size = fs.statSync(image_filename).size - var image_size_kb = parseFloat(image_size / 1024).toFixed(3); - var throughput = parseFloat((image_size / download_time) * 1024).toFixed(0); - var throughput_bps = parseInt(throughput * 8) + const download_time = end_time - start_time; + const image_filename = wtvshared.getServiceDep("/wtv-tricks/benchmark.jpg", true); + const image_size = fs.statSync(image_filename).size + const image_size_kb = parseFloat(image_size / 1024).toFixed(3); + const throughput = parseFloat((image_size / download_time) * 1024).toFixed(0); + const throughput_bps = parseInt(throughput * 8) data += ` @@ -58,11 +57,11 @@ if (isNaN(start_time)) { \n"; - for (var i = 0; i < num_per_line; i++) { + let d = "\n"; + for (let i = 0; i < num_per_line; i++) { d += "\n"; @@ -30,7 +30,7 @@ data = `
Start Time: - ${new Date(start_time).toISOString().replace('T', ' ').substr(0, 19)} + ${new Date(start_time).toISOString().replace('T', ' ').slice(0, 19)}
End Time: - ${new Date(end_time).toISOString().replace('T', ' ').substr(0, 19)} + ${new Date(end_time).toISOString().replace('T', ' ').slice(0, 19)}
Total Time: diff --git a/zefie_wtvp_minisrv/includes/ServiceVault/wtv-tricks/benchmark.js b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-tricks/benchmark.js index 4526eccb..daed7496 100644 --- a/zefie_wtvp_minisrv/includes/ServiceVault/wtv-tricks/benchmark.js +++ b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-tricks/benchmark.js @@ -1,4 +1,4 @@ -var minisrv_service_file = true; +const minisrv_service_file = true; headers = `200 OK Connection: Keep-Alive @@ -28,7 +28,7 @@ Content-type: text/html` `; } else { - var start_time = Math.floor(new Date().getTime()); + const start_time = Math.floor(new Date().getTime()); session_data.setTicketData("benchmark_starttime", start_time); headers += "wtv-expire-all: wtv-tricks:/benchmark\nContent-type: image/jpg" data = wtvshared.getServiceDep("/wtv-tricks/benchmark.jpg", false); diff --git a/zefie_wtvp_minisrv/includes/ServiceVault/wtv-tricks/blastbacklist.js b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-tricks/blastbacklist.js index 5489aaad..dacd62b8 100644 --- a/zefie_wtvp_minisrv/includes/ServiceVault/wtv-tricks/blastbacklist.js +++ b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-tricks/blastbacklist.js @@ -1,11 +1,11 @@ -var minisrv_service_file = true; +const minisrv_service_file = true; headers = `200 OK wtv-expire-all: wtv- wtv-expire-all: http Content-type: text/html` -var visit_url = null; +let visit_url = null; if (request_headers.Referer) visit_url = request_headers.Referer; else if (request_headers.query.return_to) visit_url = request_headers.query.return_to; diff --git a/zefie_wtvp_minisrv/includes/ServiceVault/wtv-tricks/cSetup.js b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-tricks/cSetup.js index 33db87ca..dc5701e8 100644 --- a/zefie_wtvp_minisrv/includes/ServiceVault/wtv-tricks/cSetup.js +++ b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-tricks/cSetup.js @@ -1,6 +1,4 @@ -var minisrv_service_file = true; - - +const minisrv_service_file = true; if (request_headers.query.machine && request_headers.query.port) { headers = `200 OK diff --git a/zefie_wtvp_minisrv/includes/ServiceVault/wtv-tricks/charmap.js b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-tricks/charmap.js index bdcf18d0..eb026ff9 100644 --- a/zefie_wtvp_minisrv/includes/ServiceVault/wtv-tricks/charmap.js +++ b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-tricks/charmap.js @@ -1,11 +1,11 @@ -var minisrv_service_file = true; +const minisrv_service_file = true; -var num_per_line = 4 -var legend_every = 6; +const num_per_line = 4 +const legend_every = 6; function getLegend() { - d = "
Code\nChar\n"; } d += "
`; -for (var i = 0; i <= 255; i++) { +for (let i = 0; i <= 255; i++) { if (i % num_per_line === 0) { if (i % (num_per_line * legend_every) === 0) { data += getLegend(); diff --git a/zefie_wtvp_minisrv/includes/ServiceVault/wtv-tricks/go-offline.js b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-tricks/go-offline.js index 07bc02ee..a9ea76ad 100644 --- a/zefie_wtvp_minisrv/includes/ServiceVault/wtv-tricks/go-offline.js +++ b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-tricks/go-offline.js @@ -1,4 +1,4 @@ -var minisrv_service_file = true; +const minisrv_service_file = true; headers = `200 OK wtv-noback-all: wtv- @@ -9,7 +9,7 @@ wtv-service: reset // HackTV Homepage is default -var url="file://Disk/Browser/Games/Games.html"; +let url="file://Disk/Browser/Games/Games.html"; if (request_headers.query.url) { url = request_headers.query.url; diff --git a/zefie_wtvp_minisrv/includes/ServiceVault/wtv-tricks/home.js b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-tricks/home.js index 6e76dff6..bbcdd238 100644 --- a/zefie_wtvp_minisrv/includes/ServiceVault/wtv-tricks/home.js +++ b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-tricks/home.js @@ -1,4 +1,4 @@ -var minisrv_service_file = true; +const minisrv_service_file = true; headers = `300 OK wtv-visit: wtv-home:/home diff --git a/zefie_wtvp_minisrv/includes/ServiceVault/wtv-tricks/info.js b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-tricks/info.js index c27d3afb..2daaff9f 100644 --- a/zefie_wtvp_minisrv/includes/ServiceVault/wtv-tricks/info.js +++ b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-tricks/info.js @@ -1,4 +1,4 @@ -var minisrv_service_file = true; +const minisrv_service_file = true; let client_caps = null; @@ -71,6 +71,7 @@ const boardRev = (sysConfigHex & 0xf00) >> 8; const boardRevB = (sysConfigHex & 0xf0) >> 4; // determine box ASIC type +let chip; switch (chipVersionStr >> 0x18) { case 1: chip = "FIDO1"; @@ -88,30 +89,37 @@ switch (chipVersionStr >> 0x18) { // ========================= LC2 SYSCONFIG DECODE START ========================= // determine box video type +let video; if ((sysConfigHex & 8) == 0) video = "NTSC"; else video = "PAL"; // determine box storage type +let storage; if ((sysConfigHex & 4) == 0) storage = "disk"; else storage = "flash"; // determine box CPU endianness +let endianness; if ((sysConfigHex & 0x80000) == 0) endianness = "little"; else endianness = "big"; // determine box CPU type +let cpu; if ((sysConfigHex & 0x100000) == 0) cpu = 5230; else cpu = 4640; // determine box CPU clock multiplier +let cpuMult; if ((sysConfigHex & 0x20000) == 0) cpuMult = 3; else cpuMult = 2; // determine smartcard 0 support +let sc0; if ((sysConfigHex & 0x400000) == 0) sc0 = "supported"; else sc0 = "not supported"; //determine smartcard 1 support +let sc1; if ((sysConfigHex & 0x200000) == 0) sc1 = "supported"; else sc1 = "not supported"; @@ -121,12 +129,13 @@ else sc1 = "not supported"; -Bruce Leak, Thursday, October 12, 1995 1:53:28 AM */ // determine box CPU output bufs +let outputBufs; if ((sysConfigHex & 0x2000) == 0) outputBufs = 100; else outputBufs = 50; // determine box SGRAM speed function getSGSpeed() { - let SGRAMand = sysConfigHex & 0xc00000; + const SGRAMand = sysConfigHex & 0xc00000; if (SGRAMand == 0x400000) return 66; else if (0x400000 < SGRAMand) if (SGRAMand == 0x800000) return 77; @@ -135,16 +144,18 @@ function getSGSpeed() { } // determine box audio chip type +let audio; if ((sysConfigHex & 0xc0000) == 0xc0000) audio = "AKM4310/4309"; else audio = "Unknown"; // determine box audio clock source +let audioClk; if ((sysConfigHex & 0x20000) == 0) audioClk = "SPOT"; else audioClk = "External"; // determine box video chip function getVideoChip() { - let videoChipAnd = sysConfigHex & 0x600; + const videoChipAnd = sysConfigHex & 0x600; if (videoChipAnd == 0x200) return "Bt851"; else if (videoChipAnd < 0x201 && videoChipAnd !== 0) return "Unknown"; @@ -153,14 +164,17 @@ function getVideoChip() { } // determine box video type +let videoB; if ((sysConfigHex & 0x800) == 0) videoB = "PAL"; else videoB = "NTSC"; // determine box video clock source +let videoClk; if ((sysConfigHex & 0x10000) == 0) videoClk = "External"; else videoClk = "SPOT"; // determine box board type +let boardTypeB; switch (sysConfigHex & 0xc) { case 8: boardTypeB = "Trial"; @@ -173,18 +187,22 @@ switch (sysConfigHex & 0xc) { } // determine bank 0 type +let bank0Type; if (sysConfigHex < 0) bank0Type = "Mask"; else bank0Type = "Flash"; // determine bank 0 mode +let bank0Mode; if ((sysConfigHex & 0x40000000) == 0) bank0Mode = "Normal"; else bank0Mode = "PageMode"; // determine bank 1 type +let bank1Type; if ((sysConfigHex & 0x8000000) == 0) bank1Type = "Flash"; else bank1Type = "Mask"; // determine bank 1 mode +let bank1Mode; if ((sysConfigHex & 0x40000000) == 0) bank1Mode = "Normal"; else bank1Mode = "PageMode"; diff --git a/zefie_wtvp_minisrv/includes/ServiceVault/wtv-tricks/register.js b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-tricks/register.js index b149a7f4..27a80d00 100644 --- a/zefie_wtvp_minisrv/includes/ServiceVault/wtv-tricks/register.js +++ b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-tricks/register.js @@ -1,11 +1,12 @@ -var minisrv_service_file = true; +const minisrv_service_file = true; +let redirect, message; headers = `200 OK Content-Type: text/html`; if (session_data.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."; + redirect = [10, "client:goback?"]; + 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- @@ -13,8 +14,8 @@ 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.

"; + redirect = [3, "client:relog?"]; + message = "You will now be be redirected to registration.

"; message += `Click here if you are not automatically redirected.`; } else { message = `Are you ready to register your box with ${minisrv_config.config.service_name}? diff --git a/zefie_wtvp_minisrv/includes/ServiceVault/wtv-tricks/tricks.js b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-tricks/tricks.js index 3af8c8bb..1d47b8b9 100644 --- a/zefie_wtvp_minisrv/includes/ServiceVault/wtv-tricks/tricks.js +++ b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-tricks/tricks.js @@ -1,7 +1,5 @@ -var minisrv_service_file = true; - - -var notAdminAlert = new clientShowAlert({ +const minisrv_service_file = true; +const notAdminAlert = new clientShowAlert({ 'image': minisrv_config.config.service_logo, 'message': "Sorry, you are not configured as an admin on this server.

If you are the server operator, please
see user_config.example.json
for an example on how to configure yourself as an administrator.", 'buttonlabel1': "Ugh, fine.", @@ -12,7 +10,7 @@ var notAdminAlert = new clientShowAlert({ headers = `200 OK Content-Type: text/html` -tricks = [ +const tricks = [ ["wtv-tricks:/info", minisrv_config.config.service_name + " info"], ["wtv-cookie:list", "List Cookies"], ["wtv-cookie:reset", "Clear Cookies"], @@ -45,7 +43,7 @@ data = `
 
 `; -for (i = 0; i < tricks.length; i += 2) { +for (let i = 0; i < tricks.length; i += 2) { data += ` diff --git a/zefie_wtvp_minisrv/includes/ServiceVault/wtv-tricks/unregister.js b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-tricks/unregister.js index f5776b92..2c3f7d31 100644 --- a/zefie_wtvp_minisrv/includes/ServiceVault/wtv-tricks/unregister.js +++ b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-tricks/unregister.js @@ -1,4 +1,5 @@ -var minisrv_service_file = true; +const minisrv_service_file = true; +let redirect, message; headers = `200 OK Content-Type: text/html`; @@ -6,23 +7,23 @@ Content-Type: text/html`; if (!session_data.getSessionData("registered")) { headers += "\nwtv-noback-all: wtv-"; headers += "\nwtv-expire-all: wtv-"; - var redirect = [5, "client:relogin?"]; - var message = "Error: Your box is not registered. You are accessing " + minisrv_config.config.service_name + " in Guest Mode. There is nothing to delete!"; + redirect = [5, "client:relogin?"]; + 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 (session_data.user_id !== 0) { headers += "\nwtv-noback-all: wtv-"; headers += "\nwtv-expire-all: wtv-"; - var redirect = [5, "client:relogin?"]; - var message = "Error: You must be the primary user to unregister this box."; + redirect = [5, "client:relogin?"]; + message = "Error: You must be the primary user to unregister this box."; } else if (request_headers.query.confirm_unregister) { if (session_data.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.

"; + redirect = [3, "client:relog?"]; + message = "Your account data has been successfully removed. You will now be be redirected to registration.

"; message += `Click here if you are not automatically redirected.`; } 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."; + redirect = [10, "client:goback?"]; + 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.

Returning from whence you came...

"; message += `Click here if you are not automatically redirected.`; } diff --git a/zefie_wtvp_minisrv/includes/ServiceVault/wtv-tricks/view-scrapbook-image.js b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-tricks/view-scrapbook-image.js index 087ac9aa..d4318367 100644 --- a/zefie_wtvp_minisrv/includes/ServiceVault/wtv-tricks/view-scrapbook-image.js +++ b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-tricks/view-scrapbook-image.js @@ -1,8 +1,8 @@ -var minisrv_service_file = true; -var request_is_async = true; +const minisrv_service_file = true; +request_is_async = true; function handleError(reason) { - var errpage = wtvshared.doErrorPage(400, reason); + const errpage = wtvshared.doErrorPage(400, reason); sendToClient(socket, errpage[0], errpage[1]); } diff --git a/zefie_wtvp_minisrv/includes/ServiceVault/wtvchat/catchall.js b/zefie_wtvp_minisrv/includes/ServiceVault/wtvchat/catchall.js index 78a3b8b1..6201aac8 100644 --- a/zefie_wtvp_minisrv/includes/ServiceVault/wtvchat/catchall.js +++ b/zefie_wtvp_minisrv/includes/ServiceVault/wtvchat/catchall.js @@ -1,21 +1,21 @@ -var minisrv_service_file = true; +const minisrv_service_file = true; -var urldata = request_headers.request_url.split(":"); +let urldata = request_headers.request_url.split(":"); delete urldata[0]; -urldata = urldata.join(":").substring(1); +urldata = urldata.join(":").slice(1); console.log(urldata); -while (urldata.substring(0, 1) == "/") urldata = urldata.substring(1); +while (urldata.slice(0, 1) == "/") urldata = urldata.slice(1); -var server = urldata.split('/')[0]; -var port = 6667; +let server = urldata.split('/')[0]; +let port = 6667; if (server.indexOf(":") > 0) { port = server.split(":")[1]; server = server.split(":")[0]; } -channel = urldata.split('/')[1] +const channel = urldata.split('/')[1] -var dest_url = "wtv-chat:/MakeChatPage?host=" + server + "&port=" + port + "&channel=" + channel; +const dest_url = "wtv-chat:/MakeChatPage?host=" + server + "&port=" + port + "&channel=" + channel; headers = `300 Moved Location: ${dest_url}`