From 9314705def20f15555b7ba9fba52197ce6b36f33 Mon Sep 17 00:00:00 2001 From: zefie Date: Wed, 18 Dec 2024 19:30:33 -0500 Subject: [PATCH] v0.9.54 combined merge from dev * initial (very incomplete) work on PC Services Admin (eg csops) * primitive account listing * add ban/unban/delete functionality * fix wtv-tricks theme * fix wtv-tricks theme (cSetup) * better tricks code * fix session_data.getTicketData() * speedtest and other tricks stuff * better protection against direct access to finished url * dependancies update (run `npm update`) * Bump path-to-regexp and express in /zefie_wtvp_minisrv (#29) Bumps [path-to-regexp](https://github.com/pillarjs/path-to-regexp) to 0.1.12 and updates ancestor dependency [express](https://github.com/expressjs/express). These dependencies need to be updated together. Updates `path-to-regexp` from 0.1.10 to 0.1.12 - [Release notes](https://github.com/pillarjs/path-to-regexp/releases) - [Changelog](https://github.com/pillarjs/path-to-regexp/blob/master/History.md) - [Commits](https://github.com/pillarjs/path-to-regexp/compare/v0.1.10...v0.1.12) Updates `express` from 4.21.1 to 4.21.2 - [Release notes](https://github.com/expressjs/express/releases) - [Changelog](https://github.com/expressjs/express/blob/4.21.2/History.md) - [Commits](https://github.com/expressjs/express/compare/4.21.1...4.21.2) --- updated-dependencies: - dependency-name: path-to-regexp dependency-type: indirect - dependency-name: express dependency-type: direct:production ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * fix up path functions * force version 1.2.1 of newsie due to breaking change * remove debug log print for usenet * fix account directory was broken due to previous changes * fix wtv-home:/home was hiding options bar * bump to 0.9.54 --------- Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- zefie_wtvp_minisrv/app.js | 16 +- .../ServiceDeps/wtv-tricks/benchmark.jpg | Bin 0 -> 180385 bytes .../includes/ServiceVault/SharedROMCache/h.js | 17 +- .../includes/ServiceVault/SharedROMCache/n.js | 2 +- .../ServiceVault/http_pc/admin/index.js | 181 +++++++++++++++ .../includes/ServiceVault/wtv-home/home.js | 7 +- .../wtv-tricks/benchmark-finished.js | 79 +++++++ .../ServiceVault/wtv-tricks/benchmark.js | 35 +++ .../ServiceVault/wtv-tricks/cSetup.js | 206 ++++-------------- .../wtv-tricks/cSetup/Pattern_Games.gif | Bin 132 -> 0 bytes .../wtv-tricks/cSetup/cSetupShadowLogo.gif | Bin 84 -> 0 bytes .../ServiceVault/wtv-tricks/charmap.js | 20 +- .../ServiceVault/wtv-tricks/htv-cSetup.js | 27 +++ .../includes/ServiceVault/wtv-tricks/info.js | 2 +- .../ServiceVault/wtv-tricks/tricks.js | 90 +++----- .../includes/classes/WTVClientSessionData.js | 2 +- .../includes/classes/WTVNews.js | 1 - .../includes/classes/WTVNewsServer.js | 10 +- .../includes/classes/WTVPCAdmin.js | 177 +++++++++++++++ zefie_wtvp_minisrv/includes/classes/WTVSec.js | 1 + .../includes/classes/WTVShared.js | 41 ++-- zefie_wtvp_minisrv/includes/config.json | 8 + zefie_wtvp_minisrv/package-lock.json | 102 +++++---- zefie_wtvp_minisrv/package.json | 6 +- zefie_wtvp_minisrv/user_config.example.json | 7 + 25 files changed, 713 insertions(+), 324 deletions(-) create mode 100644 zefie_wtvp_minisrv/includes/ServiceDeps/wtv-tricks/benchmark.jpg create mode 100644 zefie_wtvp_minisrv/includes/ServiceVault/http_pc/admin/index.js create mode 100644 zefie_wtvp_minisrv/includes/ServiceVault/wtv-tricks/benchmark-finished.js create mode 100644 zefie_wtvp_minisrv/includes/ServiceVault/wtv-tricks/benchmark.js delete mode 100644 zefie_wtvp_minisrv/includes/ServiceVault/wtv-tricks/cSetup/Pattern_Games.gif delete mode 100644 zefie_wtvp_minisrv/includes/ServiceVault/wtv-tricks/cSetup/cSetupShadowLogo.gif create mode 100644 zefie_wtvp_minisrv/includes/ServiceVault/wtv-tricks/htv-cSetup.js create mode 100644 zefie_wtvp_minisrv/includes/classes/WTVPCAdmin.js diff --git a/zefie_wtvp_minisrv/app.js b/zefie_wtvp_minisrv/app.js index df34cd34..fdab7442 100644 --- a/zefie_wtvp_minisrv/app.js +++ b/zefie_wtvp_minisrv/app.js @@ -1,9 +1,8 @@ 'use strict'; const path = require('path'); -var classPath = __dirname + path.sep + "includes" + path.sep + "classes" + path.sep; +var classPath = path.resolve(__dirname + path.sep + "includes" + path.sep + "classes" + path.sep) + path.sep; const { WTVShared, clientShowAlert } = require(classPath + "WTVShared.js"); const wtvshared = new WTVShared(); // creates minisrv_config -classPath = wtvshared.getAbsolutePath(classPath, __dirname); const fs = require('fs'); const tls = require('tls'); @@ -337,7 +336,7 @@ var runScriptInVM = function (script_data, user_contextObj = {}, privileged = fa "breakOnSigint": true }); } catch (e) { - console.error(e); + throw e; } // unload any loaded modules for this vm @@ -382,7 +381,7 @@ async function processPath(socket, service_vault_file_path, request_headers = ne } var privileged = false; if (minisrv_config.services[service_name]) privileged = (minisrv_config.services[service_name].privileged) ? true : false; - else if (pc_services) privileged = (minisrv_config.services['pc_services'].privileged) ? true : false; + else if (pc_services) privileged = (minisrv_config.services[pc_service_name].privileged) ? true : false; if (privileged) { updateFromVM.push(["ssid_sessions", "ssid_sessions"]); // global ssid_sessions object for privileged service scripts, such as wtv-setup, wtv-head-waiter, etc @@ -440,6 +439,7 @@ async function processPath(socket, service_vault_file_path, request_headers = ne contextObj.cwd = service_vault_file_path.substr(0, service_vault_file_path.lastIndexOf(path.sep)); } + if (file_exists && !is_dir) { // file exists, read it and return it service_vault_found = true; @@ -616,7 +616,7 @@ async function processPath(socket, service_vault_file_path, request_headers = ne headers = errpage[0]; data = errpage[1]; if (pc_services) { - if (minisrv_config.services[real_service_name].show_verbose_errors) + if (minisrv_config.services[pc_service_name].show_verbose_errors) data += "

The interpreter said:
" + e.stack + "
"; } console.error(" * Scripting error:", e); @@ -2043,7 +2043,7 @@ if (!minisrv_config) { var service_vaults = new Array(); if (minisrv_config.config.ServiceVaults) { Object.keys(minisrv_config.config.ServiceVaults).forEach(function (k) { - var service_vault = wtvshared.returnAbsolutePath(minisrv_config.config.ServiceVaults[k]); + var service_vault = wtvshared.getAbsolutePath(minisrv_config.config.ServiceVaults[k]); service_vaults.push(service_vault); console.log(" * Configured Service Vault at", service_vault, "with priority", (parseInt(k) + 1)); }) @@ -2054,7 +2054,7 @@ if (minisrv_config.config.ServiceVaults) { var service_deps = new Array(); if (minisrv_config.config.ServiceDeps) { Object.keys(minisrv_config.config.ServiceDeps).forEach(function (k) { - var service_dep = wtvshared.returnAbsolutePath(minisrv_config.config.ServiceDeps[k]); + var service_dep = wtvshared.getAbsolutePath(minisrv_config.config.ServiceDeps[k]); service_deps.push(service_dep); console.log(" * Configured Service Dependencies at", service_dep, "with priority", (parseInt(k) + 1)); }) @@ -2063,7 +2063,7 @@ if (minisrv_config.config.ServiceDeps) { } if (minisrv_config.config.SessionStore) { - var SessionStore = wtvshared.returnAbsolutePath(minisrv_config.config.SessionStore); + var SessionStore = wtvshared.getAbsolutePath(minisrv_config.config.SessionStore); console.log(" * Configured Session Storage at", SessionStore); } else { throw ("ERROR: No Session Storage Directory (SessionStore) defined!"); diff --git a/zefie_wtvp_minisrv/includes/ServiceDeps/wtv-tricks/benchmark.jpg b/zefie_wtvp_minisrv/includes/ServiceDeps/wtv-tricks/benchmark.jpg new file mode 100644 index 0000000000000000000000000000000000000000..255074bc26b07262006c5f6442a195ab5be11781 GIT binary patch literal 180385 zcmbrkc~DbX_cltmBhs{r0t({DAVZ+lFbdcXfFXu?ObCd8kc1GC8ARSjL1k>FM8hOP z2mt~@CI|#t#)gPUCLm!@MhOID3JQWB@BQ8SZq@zk*8R?@^T)2U&#ro&v-Vog+H3tB z`uR!bh^;lqTIQEuev$Fty=8uiWN!X<^nY~ycai_21^)Z-&wpf&9{gqPmp}LXa$e@w zqrdDq`peG_nKLpnzwG;;wPpVA>z7~m?A^Ejz(LtVa=Q~~M`V8eWzU{p_wL!ZZ|~mS z+3~yYW%eH3r*Q7l_5H^jeGi-uJ%0JGtdfHlZq&U~bQ<`oe&yc7MA<`1$|p{$XlQC( z)YbtS8X23In%%r*Wo>gCWb5qW>gMj@3H9?2xE~mVK!$}!L`FrEeNl>F@ZiTjXqr13%-Me?s-UI)|^~{UTh07Y_Ipp#Pan)uxXB79GNVr*fwKVgj|<@N>>Z-5FAO@{*1gI4O%Bi; zX-waQtg{xl-lE|op5~T5{!t&OdDC>p?1Z_IccHfLoMWD>lS|dd8G<(Z*zpSMYJ>|) z(feT;sqJ^S=x44>nod9N7}ocaL)D?R?J{KWY>$&eWSUp0(}P@YDDn4@7(0M9aK!8U z>&K^2XTI9irZYAkig5`Ce#-dH)s#2XGyn3LaF=vP>qVsBfS>-bDZVH%NB;&!+{1?b z+v@+8Gr?QinkVb*?9#xQXJYFLS)X%7W+s#I}DC}k>yr#ytX?3jiO=B7}_9o&U9zMD~6H6={&1^;dU92a3 z)mMj^OL8RYWVxQR%l+c~gy^n(z_vi=8pbXHU+PrtL^kzRI$sF6c=y4O>%M1%Lyl!7 z?1OE1htR2w9O=WH{HGV}ob2=SbfIt3N`I7i{giokxHYJW#6 z>#1v>NE_Y>qD72N?&h-}fR~R&71yPhD-H>icf~ZAecj`Mx(oR`2T@x$M4fu8JMXW3 z1)VsXXpBdcfBXDXX5XERi}%vOJ$m)mI{CLJ(~mbby>)T$d@h6Epm0GlEGu$q?<~qVGqRlT6JLGsE0Q_pz%yt{1rQdAvjKyKr^>5>*+q_H=Rm! zY%8!RG*+o0m|iR+g=sVM?v2|1UGW)W>sp{@T4{F$6tS}59yb?QlOd=dhAvq}X@n=} zj~&`Il?y)}eqGqOjP#+n|4`_@(;CE?7~8o1ZG0Ew<(5QL6nDB1xK+mdRvbI0UaNBf z_Ns^{K8%dG8Yfq%rvGNCI^k2+H5H8`UbPEbKV|j~;)O0LLHc?vf9w)}>-R6?{#hf} zjeqEooLnvyE*}q22sjzw*t3&0;552!0&GI~$_D{O7BDEKzNx8+TF+`y31*zPaChJ- zxvco{H0>p~8jLop>BT~bg`nybLa}djp`P4HE{Ifef|X~59+svTRjm9Yd~a64`?Tvc z;KTiZ1s`8j1I-P4Rrjh0JVeI!o@jVXwlfjF6!YGG6Y{D)&BKmNdOtH#>D2*x&DvHY zd#gWvS~euw99CI>@F5+3f}5R^Mz9|xsdid{NJ2@k!$Ys;I&8|N+(uWci&bZykaux* zeard`SK1l8^UZMU*L>Y3i_4K2{gVcgftq0<%DzlbT<4w8b`Miy$Ub}w?E87Rn#zV4 zdnW&sxr3j$I!B8R4o~%dy-N}Bu{!Ntv*5AJPW$A|qLnz5>ek^?kB2vuk9irDAP3zB z>ADlotJgInc*QQfsko_>HntBxT=ffq6Hyol=lzsHlRr^21Q8r%`=rc#jC@Dr@`w#a zBMn8g@*lhP7P4Jj4nd0XKw~!nHtHerA*>q_Um?EIe=neD%ONy;3=01#gX%|FzB-RM z>>IP48LH9xY7cbu3r=a7yAs)mlbu|vZa@Y} zI@w)*Ep@+peE#l5bYs~e|0Y;Ftg;)5xNy$iJY4Tsc23)CLXomCrHlo|QkI!BNpS z-4j17dEsySeO=(_Im~gOHWgm>GOhJC&CR)wVA?sS@jiV8@twSrz%kilNfwFB*Q+cOjPb%$^b98C% z3diS;l-fBYR*HN&bMF#eSGmqPBvadvk(J!zcOT1sd$uDRy6oHmjd}V*cKZp&n-fmu zzTsJF?TkS!i_r=m*UQBlN9O3>7H%|3LykRz##y^+tP<|f@yOH7MHE$8eU0-SRH9bk9@ql6M+Ubq<<(XlwUzQBqYoG@5g z`ylmThjN%O0fH~=e8*kXqn2mbFmjw5I0T**&k+Y|_ zW$pwYEmL}IC8z7pUBbqp;1@kXvA7MXyq~$2Qv=3)j5a!&w4Fv+D)7)_9IT3bD;ho9 zaCsCqg7`7iymYj{@m>2BX$0c#Jg?|2fPJLmAFlaN*0&?Gt1s7a4^zEdvXVwdwwcG@%oUf!BLkNI}4UveNa8HO2t zvLmYtyw;>`_5-==DM>NM%0AuLG;$2 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%0A>YxzhX*u6Jz7zK(Q!9x8mBka`e9N2va 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 z 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 literal 0 HcmV?d00001 diff --git a/zefie_wtvp_minisrv/includes/ServiceVault/SharedROMCache/h.js b/zefie_wtvp_minisrv/includes/ServiceVault/SharedROMCache/h.js index c933eda1..81f52f07 100644 --- a/zefie_wtvp_minisrv/includes/ServiceVault/SharedROMCache/h.js +++ b/zefie_wtvp_minisrv/includes/ServiceVault/SharedROMCache/h.js @@ -9,7 +9,7 @@ cch=rom+'Cache/' rch='/ROMCache/' thm=rch+'Themes/' thi=thm+'Images/' -thb=thm+'Borders/' +thb=rom+'Borders/' th=0 @@ -32,13 +32,13 @@ function gTC(type,itm){ case 1://dark bgclr='191919' tclr='42bd52' - bbif = rom + 'ButtonBorder2' + bbif = thb+'ButtonBorder2' break case 2://red bgclr='6e0005' tclr='f0f0f0' bclr='f0f0f0' - bbif = rom + 'ButtonBorder2' + bbif = thb+'ButtonBorder2' break case 3://basic bgclr='cccccc' @@ -59,7 +59,7 @@ function gTC(type,itm){ case 5://green bgclr='004422' tclr='f0f0f0' - bbif = rom + 'ButtonBorder2' + bbif = thb+'ButtonBorder2' break case 6://blue bgclr='002244' @@ -68,7 +68,7 @@ function gTC(type,itm){ vclr='0080ff' shimg='' gclr='004488' - bbif = rom + 'ButtonBorder2' + bbif = thb+'ButtonBorder2' break case 7://teal bgclr='008080' @@ -80,12 +80,12 @@ function gTC(type,itm){ bgclr='4a2766' lclr='aaaaaa' shimg='ShadowLogo8.gif' - bbif=rom+'ButtonBorder2' + bbif = thb+'ButtonBorder2' break case 9://brown bgclr='442200' tclr='e7ce4a' - bbif = rom + 'ButtonBorder2' + bbif = thb+'ButtonBorder2' break case 10://white bgclr='c9c9c9' @@ -98,7 +98,7 @@ function gTC(type,itm){ case 11://halloween bgclr='080808' tclr='c06000' - bbif = rom + 'ButtonBorder2' + bbif = thb+'ButtonBorder2' break }switch(type){ case 'bg':return bgclr @@ -187,6 +187,7 @@ function ta(r,s,n,b,c,x,u){ d.write(''); if(u){d.write('')} } + function as(bg,h,w,g,b,lc,rc,lo,ro,s){ if(s){ if(!lc){lc=gTC('t')} diff --git a/zefie_wtvp_minisrv/includes/ServiceVault/SharedROMCache/n.js b/zefie_wtvp_minisrv/includes/ServiceVault/SharedROMCache/n.js index 024bda21..f1cd2056 100644 --- a/zefie_wtvp_minisrv/includes/ServiceVault/SharedROMCache/n.js +++ b/zefie_wtvp_minisrv/includes/ServiceVault/SharedROMCache/n.js @@ -2,7 +2,7 @@ z_nv=null; z_th=new Array() z_th[0]='HackTV Light' z_th[1]='WebTV Dark' -z_th[2]='Avegee Red' +z_th[2]='Amy
Red' z_th[3]='Basic Web' z_th[4]='WinXP Tan' z_th[5]='Ryder Green' diff --git a/zefie_wtvp_minisrv/includes/ServiceVault/http_pc/admin/index.js b/zefie_wtvp_minisrv/includes/ServiceVault/http_pc/admin/index.js new file mode 100644 index 00000000..bbbee22d --- /dev/null +++ b/zefie_wtvp_minisrv/includes/ServiceVault/http_pc/admin/index.js @@ -0,0 +1,181 @@ +var minisrv_service_file = true; + +WTVPCAdmin = require(classPath + "/WTVPCAdmin.js") +var wtva = new WTVPCAdmin(minisrv_config, socket, service_name); +var auth = wtva.isAuthorized(); +if (auth === true) { + var password = null; + if (request_headers.authorization) { + var authheader = request_headers.authorization.split(' '); + console.log(request_headers) + + if (authheader[0] == "Basic") { + password = Buffer.from(authheader[1], 'base64').toString(); + password = password.split(':')[1]; + } + } + if (wtva.checkPassword(password)) { + headers = `200 OK +Content-Type: text/html` + + htmlhead = ` + +zefie minisrv v${minisrv_config.version} account administration + + +

+Welcome to the zefie minisrv v${minisrv_config.version} Account Administration +

+`; + data = htmlhead; + if (!request_headers.query.cmd) { + data += `Please select an option to get started: +
+ List all SSIDs and their Primary User
+

+ +`; + } + else if (request_headers.query.cmd == "list") { + data += `
`; + if (request_headers.query.msg) { + data += decodeURI(request_headers.query.msg) + "
"; + } + data += ``; + accounts = wtva.listRegisteredSSIDs(); + Object.keys(accounts).forEach(function (k) { + data += ``; + }); + data += `
${accounts[k][0]}${(accounts[k][1]['username'] === undefined) ? "Unregistered SSID" : accounts[k][1]['username'] }
`; + + } else if (request_headers.query.cmd == "ssid") { + var ssid = request_headers.query.ssid; + if (!ssid) { + redirectmsg = `An SSID is required for the ${request_headers.query.cmd} command.`; + } else { + data += "
"; + if (request_headers.query.msg) { + data += decodeURI(request_headers.query.msg) + "
"; + } + data += ` +` + data += `

Management for SSID: ${ssid}

`; + data += `
` + data += `` + if (wtva.isBanned(ssid)) { + data += `` + data += `` + } else { + data += `` + data += `` + } + data += "

"; + user_info = wtva.getAccountInfoBySSID(ssid.toLowerCase()); + if (user_info.account_users) { + if (user_info.account_users['subscriber']) { + data += ``; + if (Object.keys(user_info.account_users).length > 1) { + data += `` + } + data += "
Primary User:${user_info.account_users['subscriber'].subscriber_username}
Additional Users:`; + Object.keys(user_info.account_users).forEach(function (k) { + if (k == "subscriber") return; + data += user_info.account_users[k].subscriber_username + "
"; + }) + data += `

"; + } else { + data += "The user aborted registration, so this account has no users." + } + } else { + data += "The SSID does not exist in the SessionStore." + } + } + } else if (request_headers.query.cmd == "delete") { + redirectmsg = ""; + var ssid = request_headers.query.ssid; + if (ssid) { + var userAccount = wtva.getAccountBySSID(ssid); + userAccount.unregisterBox(); + redirectmsg = `All data for SSID ${ssid} has been deleted. Please note that this does not include Usenet posts made by this account.`; + } else { + redirectmsg = `An SSID is required for the ${request_headers.query.cmd} command.`; + } + headers = "302 OK\nLocation: /admin/?cmd=list&msg=" + encodeURI(redirectmsg); + } else if (request_headers.query.cmd == "ban") { + redirectmsg = ""; + var ssid = request_headers.query.ssid; + if (ssid) { + var fake_config = wtvshared.getUserConfig(); + if (!fake_config.config) fake_config.config = {}; + if (!fake_config.config.ssid_block_list) fake_config.config.ssid_block_list = []; + var entry_exists = false; + Object.keys(fake_config.config.ssid_block_list).forEach(function (k) { + if (fake_config.config.ssid_block_list[k] == ssid) { + redirectmsg = "The SSID was already banned."; + } + }); + if (!entry_exists) { + fake_config.config.ssid_block_list.push(ssid); + wtvshared.writeToUserConfig(fake_config); + reloadConfig(); + redirectmsg = "The SSID is now banned."; + } + } else { + redirectmsg = `An SSID is required for the ${request_headers.query.cmd} command.`; + } + headers = "302 OK\nLocation: /admin/?cmd=ssid&ssid=" + encodeURI(ssid) + "&msg=" + encodeURI(redirectmsg); + } else if (request_headers.query.cmd == "unban") { + redirectmsg = "The SSID was not banned, so it could not be unbanned."; + var ssid = request_headers.query.ssid; + if (ssid) { + var config_changed = false; + var fake_config = wtvshared.getUserConfig(); + if (!fake_config.config) fake_config.config = {}; + if (!fake_config.config.ssid_block_list) fake_config.config.ssid_block_list = []; + if (typeof request_headers.query.ssid === 'string') { + Object.keys(fake_config.config.ssid_block_list).forEach(function (k) { + if (fake_config.config.ssid_block_list[k] == request_headers.query.ssid) { + fake_config.config.ssid_block_list.splice(k, 1); + config_changed = true + } + }); + } else { + Object.keys(fake_config.config.ssid_block_list).forEach(function (k) { + Object.keys(request_headers.query.ssid).forEach(function (j) { + if (fake_config.config.ssid_block_list[k] == request_headers.query.ssid[j]) { + fake_config.config.ssid_block_list.splice(k, 1); + config_changed = true + } + }); + }); + } + if (config_changed) { + wtvshared.writeToUserConfig(fake_config); + minisrv_config = reloadConfig(); + redirectmsg = "The SSID is now unbanned."; + } + else { + redirectmsg = `An SSID is required for the ${request_headers.query.cmd} command.`; + } + } + headers = "302 OK\nLocation: /admin/?cmd=ssid&ssid=" + encodeURI(ssid) + "&msg=" + encodeURI(redirectmsg); + } + + } else { + var errpage = wtvshared.doErrorPage(401, "Please enter the administration password, you can leave the username blank."); + headers = errpage[0]; + headers += "\nWWW-Authenticate: Basic"; + data = errpage[1]; + } + } else { + var errpage = wtvshared.doErrorPage(403, auth); + headers = errpage[0]; + data = errpage[1]; + } diff --git a/zefie_wtvp_minisrv/includes/ServiceVault/wtv-home/home.js b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-home/home.js index 00062cc1..c4a6186a 100644 --- a/zefie_wtvp_minisrv/includes/ServiceVault/wtv-home/home.js +++ b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-home/home.js @@ -103,7 +103,7 @@ if (ssid_sessions[socket.ssid].get("wtv-used-8675309") || ssid_sessions[socket.s ${title}           `; } - data += ` + data += `
@@ -123,8 +123,7 @@ if (ssid_sessions[socket.ssid].get("wtv-used-8675309") || ssid_sessions[socket.s } else { data += ``; } -data += ` - +data += `
@@ -234,8 +233,6 @@ This server is operated by ${minisrv_config.config.service_owner}.
•  Redesigned home page, uses custom rom theme system.
•  Added Protoweb Support (Try it!)
-•  Added a WebTV Character Map
-•  Redesigned homepage based on MattMan69's HackTV
•  Added a new minisrv logo
diff --git a/zefie_wtvp_minisrv/includes/ServiceVault/wtv-tricks/benchmark-finished.js b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-tricks/benchmark-finished.js new file mode 100644 index 00000000..4d16216d --- /dev/null +++ b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-tricks/benchmark-finished.js @@ -0,0 +1,79 @@ +var minisrv_service_file = true; + + +headers = `200 OK +Connection: Keep-Alive +wtv-expire-all: wtv-tricks:/benchmark +Content-type: text/html` +data = ` + +`; +var 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()); + 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); + data += ` + + + + + + + + + + + +
+
POP Number: + + ☎ +
Connected at: + + &rate; +
Modem f/w: + + &modem; +
+
Image Size: + + ${image_size_kb} KBytes +
Start Time: + + ${new Date(start_time).toISOString().replace('T', ' ').substr(0, 19)} +
End Time: + + ${new Date(end_time).toISOString().replace('T', ' ').substr(0, 19)} +
Total Time: + + ${parseFloat(download_time / 1000).toFixed(1)} seconds +
Throughput: + + ${throughput} bytes/sec + +
+`; +} +data += ` +

+

+Re-Test + +Back to Tricks + +

+ + +`; diff --git a/zefie_wtvp_minisrv/includes/ServiceVault/wtv-tricks/benchmark.js b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-tricks/benchmark.js new file mode 100644 index 00000000..4526eccb --- /dev/null +++ b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-tricks/benchmark.js @@ -0,0 +1,35 @@ +var minisrv_service_file = true; + +headers = `200 OK +Connection: Keep-Alive +`; + +if (!request_headers.query.getimage) { + if (session_data.getTicketData("benchmark_starttime")) { + session_data.deleteTicketData("benchmark_endtime") + } + headers += `wtv-expire-all: wtv-tricks:/benchmark +Content-type: text/html` + data = ` + +Speedtest in progress... + + + + + +
+

Benchmark Image

+
+ + + +
+ +`; +} else { + var 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); +} \ No newline at end of file diff --git a/zefie_wtvp_minisrv/includes/ServiceVault/wtv-tricks/cSetup.js b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-tricks/cSetup.js index 75f07f79..c94cc656 100644 --- a/zefie_wtvp_minisrv/includes/ServiceVault/wtv-tricks/cSetup.js +++ b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-tricks/cSetup.js @@ -37,174 +37,42 @@ function load() { headers = `200 OK Content-Type: text/html` - data = ` - -Connect Setup v2.2-minisrv - - - - - - - - - -\n"; for (var i = 0; i < num_per_line; i++) { - d += "\n"; return d; @@ -16,18 +16,12 @@ function getLegend() { headers = `200 OK Content-Type: text/html`; -data = ` - - -WebTV Character Map - - - - -
-
-

WebTV Character Map

-
+data = ` + + +
+ +


- -
-

-  Connection Setup v2.2-minisrv -

-

-
+ data = ` + + +
+
+ + +
+
 Server:
+ +
+
+ Address:    +   Port:
- - - - - - - - -
-  Presets: - - -
-
-
- - - - - - - -
-
-  Service: -
-
-
- - - -  Custom:    - - Address: - -    Port: - -
- - -
- - - - -
-
-  Description:

-
- - - - - - -
-   -   - -
- -   - -   - - - -
- - - -`; +

+ +
+
 Info:

+
+
+
+ + +
+
+`; } \ No newline at end of file diff --git a/zefie_wtvp_minisrv/includes/ServiceVault/wtv-tricks/cSetup/Pattern_Games.gif b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-tricks/cSetup/Pattern_Games.gif deleted file mode 100644 index 07bffdd676d9fec9feccc16bcb019d186e106a4e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 132 zcmZ?wbhEHbG+<(7SjfZx1Y-OW|G_})(2x|2p@*j>%zR(vd|UGk$4KKeOyJXRjCQ;SkZz gv!|BbS@)fruiN?h>ThdgS6_d#?Kkg!Q3eKU0D*}+*#H0l diff --git a/zefie_wtvp_minisrv/includes/ServiceVault/wtv-tricks/cSetup/cSetupShadowLogo.gif b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-tricks/cSetup/cSetupShadowLogo.gif deleted file mode 100644 index b70846dacf591ac3e0274ed2249d881ee9200d78..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 84 zcmZ?wbhEHbWMc?mSjfx(1b%j*K^|fM|NmF~$->CRz|5cn5(UXKFsb(RuRQ&hfAO3x kx4Jjqllj5V@sOkHQ6$shQ`_EgAOGZY{af$zaz+Mg03aS7x&QzG diff --git a/zefie_wtvp_minisrv/includes/ServiceVault/wtv-tricks/charmap.js b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-tricks/charmap.js index 8651a768..44ac43fc 100644 --- a/zefie_wtvp_minisrv/includes/ServiceVault/wtv-tricks/charmap.js +++ b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-tricks/charmap.js @@ -6,7 +6,7 @@ var legend_every = 6; function getLegend() { d = "
Code\nChar\n"; + d += "Code\nChar\n"; } d += "
`; diff --git a/zefie_wtvp_minisrv/includes/ServiceVault/wtv-tricks/htv-cSetup.js b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-tricks/htv-cSetup.js new file mode 100644 index 00000000..cd35350b --- /dev/null +++ b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-tricks/htv-cSetup.js @@ -0,0 +1,27 @@ +function uI(ip,prt,dsc,ro){ + if(!ro){ro=false} + d.c.machine.value=ip + d.c.port.value=prt + d.i.msg.value=dsc + d.c.machine.readonly=ro + d.c.port.readonly=ro +} + +function uS(){switch(d.c.p[d.c.p.selectedIndex].value){ + case "htv":uI("71.244.121.234","1615","This is the public HackTV minisrv, all are welcome to connect and enjoy the wonders of WebTV. Custom experience, including updates to HackTV builds!",true) + break + case "htvb":uI("71.244.121.234","1415","This is the public HackTV minisrv backup, only available when the main HackTV server is down.",true) + break + case "zef": uI("38.175.202.142","1615","zefie's public minisrv, for those who want an experience close to the vanilla minisrv.",true) + break + case "mm69":uI("71.244.121.234","1515","MattMan's megasrv. It's the real deal, not minisrv! May be up from time to time.",true) + break + case "jar":uI("217.160.150.209","1615","WebTV Redialed aims to replicate the look and feel of the original production WebTV service.",true) + break + case "zlan":uI("192.168.11.8","1615","zefie's Desktop via LAN.",false) + break + case "zlan2":uI("192.168.11.95","1615","zefie's public minisrv via LAN.",false) + break + case "other":uI("","1615","Your custom service.",false) + break +}} diff --git a/zefie_wtvp_minisrv/includes/ServiceVault/wtv-tricks/info.js b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-tricks/info.js index 45315b3f..8941b56d 100644 --- a/zefie_wtvp_minisrv/includes/ServiceVault/wtv-tricks/info.js +++ b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-tricks/info.js @@ -31,7 +31,7 @@ Content-Type: text/html` data = ` -
  diff --git a/zefie_wtvp_minisrv/includes/ServiceVault/wtv-tricks/tricks.js b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-tricks/tricks.js index 1460ddf6..e3758010 100644 --- a/zefie_wtvp_minisrv/includes/ServiceVault/wtv-tricks/tricks.js +++ b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-tricks/tricks.js @@ -12,69 +12,51 @@ var notAdminAlert = new clientShowAlert({ headers = `200 OK Content-Type: text/html` +tricks = [ + ["wtv-tricks:/info", minisrv_config.config.service_name + " info"], + ["wtv-tricks:/themes", "Theme Switcher"], + ["wtv-cookie:list", "List Cookies"], + ["wtv-cookie:reset", "Clear Cookies"], + ["wtv-tricks:/bastblacklist?return_to=wtv-tricks%3A%2Ftricks", "Blast Blacklist"], + ["client:ResetNVAndPowerOff", "Blast NVRAM"], + ["wtv-tricks:/charmap", "Character Map"], + ["wtv-tricks:/cSetup", "Connect Setup"], + ["wtv-tricks:/benchmark", "Speed Test"], + ["", ""], + ["", ""], + ["", ""], + ["", ""], + ["", ""], + ["", ""], + ["", ""], +] +// add these at the bottom +tricks.push((session_data.getSessionData("registered")) ? ["wtv-tricks:/unregister", "Unregister This Box"] : ["wtv-tricks:/register", "Register This Box"]); // reg/unreg +tricks.push((wtvshared.isAdmin(session_data)) ? ["wtv-admin:/admin", minisrv_config.config.service_name + " Admin"] : [notAdminAlert, minisrv_config.config.service_name + " Admin"]); // wtv-admin data = ` -
 
- - - - - - - - - -
-
Info - -List Cookies -
-
Visit Ultra Willie's! - -Clear Cookies -
-
Blast Backlist - -Blast NVRAM -
-
Show Services - -`; -if (session_data.getSessionData("registered")) data += `Unregister This Box`; -else data += `Register This Box` +`; -data += ` - +for (i = 0; i < tricks.length; i += 2) { + data += ` - - - - - - -
${minisrv_config.config.service_name} Admin - - -
-
- - -
-
- - -
-
- - - - -
+
${(tricks[i][0] != "") ? `${tricks[i][1]}` : `  `} + +` + if (i + 1 < tricks.length) { + data += (tricks[i + 1][0] != "") ? `${tricks[i + 1][1]}` : `  ` + } else { + // require even number of tricks + data += "  " + } +} +data += `
`; diff --git a/zefie_wtvp_minisrv/includes/classes/WTVClientSessionData.js b/zefie_wtvp_minisrv/includes/classes/WTVClientSessionData.js index d91b261a..50e45306 100644 --- a/zefie_wtvp_minisrv/includes/classes/WTVClientSessionData.js +++ b/zefie_wtvp_minisrv/includes/classes/WTVClientSessionData.js @@ -193,7 +193,7 @@ class WTVClientSessionData { } getAccountStoreDirectory() { - return this.minisrv_config.config.SessionStore + this.path.sep + "accounts"; + return this.path.resolve(this.wtvshared.getAbsolutePath() + this.path.sep + this.minisrv_config.config.SessionStore + this.path.sep + "accounts"); } /** diff --git a/zefie_wtvp_minisrv/includes/classes/WTVNews.js b/zefie_wtvp_minisrv/includes/classes/WTVNews.js index 3cc4335f..e9a41f18 100644 --- a/zefie_wtvp_minisrv/includes/classes/WTVNews.js +++ b/zefie_wtvp_minisrv/includes/classes/WTVNews.js @@ -356,7 +356,6 @@ class WTVNews { var promises = []; for (var article in NGArticles) { if (article == "getCaseInsensitiveKey" || isNaN(article)) continue; - console.log(article); promises.push(new Promise((resolve, reject) => { this.getHeader(NGArticles[article]).then((data) => { if (data.article) messages.push(data.article) diff --git a/zefie_wtvp_minisrv/includes/classes/WTVNewsServer.js b/zefie_wtvp_minisrv/includes/classes/WTVNewsServer.js index 6ba693bc..531c2744 100644 --- a/zefie_wtvp_minisrv/includes/classes/WTVNewsServer.js +++ b/zefie_wtvp_minisrv/includes/classes/WTVNewsServer.js @@ -14,7 +14,7 @@ class WTVNewsServer { constructor(minisrv_config, local_server_port, using_auth = false, username = null, password = null, run_server = true) { this.minisrv_config = minisrv_config; const { WTVShared } = require("./WTVShared.js"); - this.wtvshared = new WTVShared(minisrv_config); + this.wtvshared = new WTVShared(this.minisrv_config); this.featuredGroups = minisrv_config.services['wtv-news'].featuredGroups; const nntp_server = require('nntp-server-zefie'); var nntp_statuses = require('nntp-server-zefie/lib/status'); @@ -23,7 +23,7 @@ class WTVNewsServer { this.password = password || null; this.using_auth = using_auth; this.scan_interval = minisrv_config.services['wtv-news'].groupMetaRefreshInterval || 86400; - this.data_path = this.wtvshared.getAbsolutePath(this.minisrv_config.config.SessionStore + '/minisrv_internal_nntp'); + this.data_path = this.wtvshared.getAbsolutePath(this.minisrv_config.config.SessionStore + this.path.sep + 'minisrv_internal_nntp'); this.createDataStore(); if (using_auth && (!username && !password)) { @@ -140,9 +140,9 @@ class WTVNewsServer { } var tls_options = { - ca: this.wtvshared.getServiceDep('wtv-news/localserver_ca.pem'), - key: this.wtvshared.getServiceDep('wtv-news/localserver_key.pem'), - cert: this.wtvshared.getServiceDep('wtv-news/localserver_cert.pem'), + ca: this.wtvshared.getServiceDep('wtv-news' + this.path.sep + 'localserver_ca.pem'), + key: this.wtvshared.getServiceDep('wtv-news' + this.path.sep + 'localserver_key.pem'), + cert: this.wtvshared.getServiceDep('wtv-news' + this.path.sep + 'localserver_cert.pem'), } this.local_server = new nntp_server({ requireAuth: using_auth, tls: tls_options, secure: true, allow_posting: true }); this.local_server.listen('nntps://127.0.0.1:' + local_server_port); diff --git a/zefie_wtvp_minisrv/includes/classes/WTVPCAdmin.js b/zefie_wtvp_minisrv/includes/classes/WTVPCAdmin.js new file mode 100644 index 00000000..c1705649 --- /dev/null +++ b/zefie_wtvp_minisrv/includes/classes/WTVPCAdmin.js @@ -0,0 +1,177 @@ +class WTVPCAdmin { + + fs = require('fs'); + path = require('path'); + minisrv_config = []; + wtvr = null; + wtvshared = null; + socket = null; + WTVClientSessionData = require("./WTVClientSessionData.js"); + service_name = "wtv-admin"; + + constructor(minisrv_config, socket, service_name) { + this.minisrv_config = minisrv_config; + var { WTVShared } = require("./WTVShared.js"); + var WTVRegister = require("./WTVRegister.js"); + this.socket = socket; + this.wtvr = new WTVRegister(minisrv_config); + this.clientAddress = socket.remoteAddress; + this.service_name = service_name; + } + + + ip2long(ip) { + var components; + + if (components = ip.match(/^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/)) { + var iplong = 0; + var power = 1; + for (var i = 4; i >= 1; i -= 1) { + iplong += power * parseInt(components[i]); + power *= 256; + } + return iplong; + } + else return -1; + } + + isInSubnet(ip, subnet) { + if (subnet.indexOf('/') == -1) { + var mask, base_ip, long_ip = this.ip2long(ip); + var mask2, base_ip2, long_ip2 = this.ip2long(ip); + return (long_ip == long_ip2); + } else { + var mask, base_ip, long_ip = this.ip2long(ip); + if ((mask = subnet.match(/^(.*?)\/(\d{1,2})$/)) && ((base_ip = this.ip2long(mask[1])) >= 0)) { + var freedom = Math.pow(2, 32 - parseInt(mask[2])); + return (long_ip > base_ip) && (long_ip < base_ip + freedom - 1); + } + } + return false; + } + + rejectConnection() { + var rejectReason; + rejectReason = this.clientAddress + " is not in the whitelist."; + console.log(" * Request from IP", this.clientAddress, "for PC Services Admin, but that IP is not authorized."); + return rejectReason; + } + + checkPassword(password) { + if (this.minisrv_config.config.pc_admin.password) { + return (password == this.minisrv_config.config.pc_admin.password); + } else { + // no password set + return true; + } + } + + isAuthorized(justchecking = false) { + var allowed_ip = false; + if (this.minisrv_config.config.pc_admin.ip_whitelist) { + var self = this; + Object.keys(this.minisrv_config.config.pc_admin.ip_whitelist).forEach(function (k) { + allowed_ip = self.isInSubnet(self.clientAddress, self.minisrv_config.config.pc_admin.ip_whitelist[k]); + }); + } + if (justchecking) { + return allowed_ip; + } else { + return allowed_ip ? true : this.rejectConnection(); + } + } + + listRegisteredSSIDs() { + var search_dir = this.minisrv_config.config.SessionStore + this.path.sep + "accounts"; + var self = this; + var out = []; + this.fs.readdirSync(search_dir).forEach(file => { + if (self.fs.lstatSync(search_dir + self.path.sep + file).isDirectory()) { + var user = self.getAccountInfoBySSID(file); + out.push([file,user]); + } + }); + return out; + } + + getAccountInfo(username, directory = null) { + var search_dir = this.minisrv_config.config.SessionStore + this.path.sep + "accounts"; + var account_data = null; + var self = this; + if (directory) search_dir = directory; + this.fs.readdirSync(search_dir).forEach(file => { + if (self.fs.lstatSync(search_dir + self.path.sep + file).isDirectory() && account_data === null) { + account_data = self.getAccountInfo(username, search_dir + self.path.sep + file); + } + if (account_data !== null) return; + if (!file.match(/.*\.json/ig)) return; + try { + var temp_session_data_file = self.fs.readFileSync(search_dir + self.path.sep + file, 'Utf8'); + var temp_session_data = JSON.parse(temp_session_data_file); + + if (temp_session_data.subscriber_username.toLowerCase() == username.toLowerCase()) { + account_data = [temp_session_data, (search_dir + self.path.sep + file).replace(this.minisrv_config.config.SessionStore + this.path.sep + "accounts", "").split(this.path.sep)[1]]; + } + } catch (e) { + console.error(" # Error parsing Session Data JSON", search_dir + self.path.sep + file, e); + } + }); + if (account_data !== null) { + if (account_data.ssid) return account_data; + var account_info = {}; + account_info.ssid = account_data[1]; + account_info.username = account_data[0].subscriber_username; + account_info.user_id = account_data[0].subscriber_userid; + var userSession = new this.WTVClientSessionData(this.minisrv_config, account_info.ssid); + userSession.user_id = 0; + account_info.account_users = userSession.listPrimaryAccountUsers(); + return account_info; + } + return null; + } + + getAccountInfoBySSID(ssid) { + var account_info = {}; + var userSession = new this.WTVClientSessionData(this.minisrv_config, ssid); + userSession.user_id = 0; + if (userSession.isRegistered(false)) { + account_info.ssid = ssid; + account_info.account_users = userSession.listPrimaryAccountUsers(); + if (account_info.account_users) { + if (account_info.account_users['subscriber']) { + account_info.username = account_info.account_users['subscriber'].subscriber_username; + } else { + account_info.username = account_info.account_users[0]; + } + } else { + account_info.username = account_info.account_users[0]; + } + + account_info.user_id = 0; + return account_info; + } + else return false; + } + + + getAccountBySSID(ssid) { + var userSession = new this.WTVClientSessionData(this.minisrv_config, ssid); + userSession.user_id = 0; + return userSession; + } + + isBanned(ssid) { + var self = this; + var isBanned = false; + if (this.minisrv_config.config.ssid_block_list) { + Object.keys(this.minisrv_config.config.ssid_block_list).forEach(function (k) { + if (self.minisrv_config.config.ssid_block_list[k] == ssid) { + isBanned = true; + } + }); + } + return isBanned; + } +} + +module.exports = WTVPCAdmin; diff --git a/zefie_wtvp_minisrv/includes/classes/WTVSec.js b/zefie_wtvp_minisrv/includes/classes/WTVSec.js index 390fa3b8..17407092 100644 --- a/zefie_wtvp_minisrv/includes/classes/WTVSec.js +++ b/zefie_wtvp_minisrv/includes/classes/WTVSec.js @@ -158,6 +158,7 @@ class WTVSec { getTicketData(key = null) { if (typeof (this.ticket_store) === 'session_store') return null; else if (key === null) return this.ticket_store; + else if (typeof this.ticket_store[key] !== 'undefined') return this.ticket_store[key]; else return null; } diff --git a/zefie_wtvp_minisrv/includes/classes/WTVShared.js b/zefie_wtvp_minisrv/includes/classes/WTVShared.js index a8128f67..bf58aab7 100644 --- a/zefie_wtvp_minisrv/includes/classes/WTVShared.js +++ b/zefie_wtvp_minisrv/includes/classes/WTVShared.js @@ -19,12 +19,14 @@ class WTVShared { debug = require('debug')('WTVShared') process = require('process'); shenanigans = null; + appdir = this.path.resolve(__dirname + this.path.sep + ".." + this.path.sep + ".."); minisrv_config = []; constructor(minisrv_config, quiet = false) { if (minisrv_config == null) this.minisrv_config = this.readMiniSrvConfig(true, !quiet); else this.minisrv_config = minisrv_config; + this.shenanigans = new WTVShenanigans(this.minisrv_config); if (!String.prototype.reverse) { @@ -370,7 +372,7 @@ class WTVShared { // Assuming this.path.sep is a slash (/ or \) and this.parentDirectory is set correctly if (!/^(?:[a-zA-Z]:)?[\\/]/.test(check_path)) { // It's a relative path - check_path = this.parentDirectory + this.path.sep + check_path; + check_path = this.path.resolve(this.parentDirectory + this.path.sep + check_path); } // Use the fixPathSlashes method to normalize the slashes return this.fixPathSlashes(check_path); @@ -398,8 +400,7 @@ class WTVShared { getUserConfig() { try { - var user_config_filename = this.getAbsolutePath("user_config.json", this.parentDirectory); - + var user_config_filename = this.getAbsolutePath("user_config.json", this.appdir); if (this.fs.lstatSync(user_config_filename)) { try { var minisrv_user_config = this.parseJSON(this.fs.readFileSync(user_config_filename)); @@ -885,26 +886,34 @@ class WTVShared { * @param {string} path * @param {string} directory Root directory */ - getAbsolutePath(path, directory = '') { - const pathModule = require('path'); + getAbsolutePath(path = '', directory = '.') { + if (directory[0] == "/") { + return this.path.resolve(directory + this.path.sep + path); + } try { + // start with our absolute path (of app.js) + const appdir = this.path.resolve(__dirname + this.path.sep + '..' + this.path.sep + '..') + + if (path == '' && directory == '.') { + return appdir; + } // If the directory is a valid directory, prepend it to the path + directory = this.path.resolve(appdir + this.path.sep + directory); + if (!path) { + return directory; + } if (directory && !path.startsWith(directory)) { - const fs = require('fs'); - if (fs.lstatSync(directory).isDirectory()) { - // Ensure directory has trailing separator - if (!directory.endsWith(pathModule.sep)) { - directory += pathModule.sep; - } - path = directory + path; + if (!directory.endsWith(this.path.sep)) { + directory += this.path.sep; } + path = directory + path; } } catch (e) { // If there's an error accessing the directory, log it or handle as needed console.error('Error resolving directory:', e); } // The path.resolve method will take care of normalizing slashes - return pathModule.resolve(path); + return this.path.resolve(path); } @@ -925,9 +934,9 @@ class WTVShared { * @return {string} path without gz, or unmodified path if it isnt a gz */ getFilePath(path) { - var path_split = path.split('/'); + var path_split = path.split(this.path.sep); path_split.pop(); - return path_split.join('/'); + return path_split.join(this.path.sep); } /** @@ -1198,4 +1207,4 @@ class clientShowAlert { } module.exports.WTVShared = WTVShared; -module.exports.clientShowAlert = clientShowAlert; \ No newline at end of file +module.exports.clientShowAlert = clientShowAlert; diff --git a/zefie_wtvp_minisrv/includes/config.json b/zefie_wtvp_minisrv/includes/config.json index e5bf4bf2..a4db1e15 100644 --- a/zefie_wtvp_minisrv/includes/config.json +++ b/zefie_wtvp_minisrv/includes/config.json @@ -62,6 +62,14 @@ "null" ] }, + "pc_admin": { + "enabled": true, + "ip_whitelist": [ + "192.168.1.0/24", + "127.0.0.1" + ], + "password": "MySeqRetKey1" // change this in user_config.json + }, "keys": { "initial_shared_key": "CC5rWmRUE0o=", // Used for the initial RC4 rolling key. Changing this is untested and unsupported. "user_data_key": "PNa$WN7gz}!T=t6X7^=|Ii##CEB~p\\EP" // Currently used to cipher user passwords in configs. Changing this while there are registered accounts will make it impossible to decrypt existing account passwords diff --git a/zefie_wtvp_minisrv/package-lock.json b/zefie_wtvp_minisrv/package-lock.json index dfcedcbf..bbece715 100644 --- a/zefie_wtvp_minisrv/package-lock.json +++ b/zefie_wtvp_minisrv/package-lock.json @@ -1,12 +1,12 @@ { "name": "zefie_wtvp_minisrv", - "version": "0.9.53", + "version": "0.9.54", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "zefie_wtvp_minisrv", - "version": "0.9.53", + "version": "0.9.54", "license": "GPL3", "dependencies": { "@mafintosh/vm2": "^3.9.2", @@ -14,12 +14,12 @@ "crypto-js": "^4.2.0", "easy-crc": "0.0.2", "endianness": "^8.0.2", - "express": "^4.21.1", + "express": "^4.21.2", "follow-redirects": "^1.15.6", "html-entities": "^2.5.2", "iconv-lite": "^0.6.3", "mime-types": "^2.1.35", - "newsie": "^1.2.1", + "newsie": "1.2.1", "nntp-server-zefie": "^3.1.0", "proxy-agent": "^6.4.0", "rc4-crypto": "^1.5.0", @@ -413,16 +413,15 @@ } }, "node_modules/call-bind": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", - "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.8.tgz", + "integrity": "sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==", "license": "MIT", "dependencies": { + "call-bind-apply-helpers": "^1.0.0", "es-define-property": "^1.0.0", - "es-errors": "^1.3.0", - "function-bind": "^1.1.2", "get-intrinsic": "^1.2.4", - "set-function-length": "^1.2.1" + "set-function-length": "^1.2.2" }, "engines": { "node": ">= 0.4" @@ -431,6 +430,19 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.0.tgz", + "integrity": "sha512-CCKAP2tkPau7D3GE8+V8R6sQubA9R5foIzGp+85EXCVSCivuxBNAWqcpn72PKYiIcqoViv/kcUDpaEIMBVi1lQ==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/callsites": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", @@ -552,9 +564,9 @@ } }, "node_modules/debug": { - "version": "4.3.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", - "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", + "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", "license": "MIT", "dependencies": { "ms": "^2.1.3" @@ -711,6 +723,20 @@ "url": "https://github.com/fb55/domutils?sponsor=1" } }, + "node_modules/dunder-proto": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.0.tgz", + "integrity": "sha512-9+Sj30DIu+4KvHqMfLUGLFYL2PkURSYMVXJyXe92nFRvlYq5hBjLEhblKB+vkd/WVlUYMWigiY07T91Fkk0+4A==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/easy-crc": { "version": "0.0.2", "resolved": "https://registry.npmjs.org/easy-crc/-/easy-crc-0.0.2.tgz", @@ -754,13 +780,10 @@ } }, "node_modules/es-define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", - "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", "license": "MIT", - "dependencies": { - "get-intrinsic": "^1.2.4" - }, "engines": { "node": ">= 0.4" } @@ -985,9 +1008,9 @@ } }, "node_modules/express": { - "version": "4.21.1", - "resolved": "https://registry.npmjs.org/express/-/express-4.21.1.tgz", - "integrity": "sha512-YSFlK1Ee0/GC8QaO91tHcDxJiE/X4FbpAyQWkxAvG6AXCuR65YzK8ua6D9hvi/TzUfZMpc+BwuM1IPw8fmQBiQ==", + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.21.2.tgz", + "integrity": "sha512-28HqgMZAmih1Czt9ny7qr6ek2qddF4FclbMzwhCREB6OFfH+rXAnuNCwo1/wFvrtbgsQDb4kSbX9de9lFbrXnA==", "license": "MIT", "dependencies": { "accepts": "~1.3.8", @@ -1009,7 +1032,7 @@ "methods": "~1.1.2", "on-finished": "2.4.1", "parseurl": "~1.3.3", - "path-to-regexp": "0.1.10", + "path-to-regexp": "0.1.12", "proxy-addr": "~2.0.7", "qs": "6.13.0", "range-parser": "~1.2.1", @@ -1024,6 +1047,10 @@ }, "engines": { "node": ">= 0.10.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" } }, "node_modules/express/node_modules/debug": { @@ -1296,13 +1323,10 @@ } }, "node_modules/gopd": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.1.0.tgz", - "integrity": "sha512-FQoVQnqcdk4hVM4JN1eromaun4iuS34oStkdlLENLdpULsuQcTyXj8w7ayhuUfPwEYZ1ZOooOTT6fdA9Vmx/RA==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", "license": "MIT", - "dependencies": { - "get-intrinsic": "^1.2.4" - }, "engines": { "node": ">= 0.4" }, @@ -1340,12 +1364,12 @@ } }, "node_modules/has-proto": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.1.0.tgz", - "integrity": "sha512-QLdzI9IIO1Jg7f9GT1gXpPpXArAn6cS31R1eEZqz08Gc+uQ8/XiqHWt17Fiw+2p6oTTIq5GXEpQkAlA88YRl/Q==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.2.0.tgz", + "integrity": "sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ==", "license": "MIT", "dependencies": { - "call-bind": "^1.0.7" + "dunder-proto": "^1.0.0" }, "engines": { "node": ">= 0.4" @@ -1812,9 +1836,9 @@ } }, "node_modules/newsie": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/newsie/-/newsie-1.2.2.tgz", - "integrity": "sha512-GghUsQLF/vndovSJf2w1QarRNEeCrIIIxgTK1cJJ0mIYYuiwzzAAG05RB7XXsGndEebqYQwscGpPUEKnYn7gHw==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/newsie/-/newsie-1.2.1.tgz", + "integrity": "sha512-41jhtKmlpSc27oIBkp681fm4aLURPT/AgeBvSRicxNPWDVeHLaq7tSvG/OsEXz7g41thgv9JMV1ZjYSABMiYVA==", "license": "AGPL-1.0", "engines": { "node": ">=8.9.0" @@ -2007,9 +2031,9 @@ } }, "node_modules/path-to-regexp": { - "version": "0.1.10", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.10.tgz", - "integrity": "sha512-7lf7qcQidTku0Gu3YDPc8DJ1q7OOucfa/BSsIwjuh56VU7katFvuM8hULfkwB3Fns/rsVF7PwPKVw1sl5KQS9w==", + "version": "0.1.12", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.12.tgz", + "integrity": "sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ==", "license": "MIT" }, "node_modules/picocolors": { diff --git a/zefie_wtvp_minisrv/package.json b/zefie_wtvp_minisrv/package.json index fcca053c..ccbbd10d 100644 --- a/zefie_wtvp_minisrv/package.json +++ b/zefie_wtvp_minisrv/package.json @@ -1,6 +1,6 @@ { "name": "zefie_wtvp_minisrv", - "version": "0.9.53", + "version": "0.9.54", "description": "WebTV Service (WTVP) Emulation Server", "main": "app.js", "homepage": "https://github.com/zefie/zefie_wtvp_minisrv", @@ -31,12 +31,12 @@ "crypto-js": "^4.2.0", "easy-crc": "0.0.2", "endianness": "^8.0.2", - "express": "^4.21.1", + "express": "^4.21.2", "follow-redirects": "^1.15.6", "html-entities": "^2.5.2", "iconv-lite": "^0.6.3", "mime-types": "^2.1.35", - "newsie": "^1.2.1", + "newsie": "1.2.1", "nntp-server-zefie": "^3.1.0", "proxy-agent": "^6.4.0", "rc4-crypto": "^1.5.0", diff --git a/zefie_wtvp_minisrv/user_config.example.json b/zefie_wtvp_minisrv/user_config.example.json index 652fad08..1da1ab4e 100644 --- a/zefie_wtvp_minisrv/user_config.example.json +++ b/zefie_wtvp_minisrv/user_config.example.json @@ -30,6 +30,13 @@ ] }, "hide_ssid_in_logs": true, + "pc_admin": { + "ip_whitelist": [ + "192.168.20.0/24", // your subnet + "127.0.0.1" + ], + "password": "MyEvEnMoReSeqRetKey1!11!" // change this + }, "verbosity": 2, "errorMessages": { "999": "My Custom Error Code Message",