From 4e5adefb7b0f064fe2e479dec25d57ea83b4faba Mon Sep 17 00:00:00 2001 From: zefie Date: Sat, 4 May 2024 12:54:26 -0400 Subject: [PATCH 1/9] update ultra willies to new domain --- .../includes/ServiceVault/wtv-flashrom/willie.js | 4 ++-- zefie_wtvp_minisrv/includes/classes/WTVFlashrom.js | 10 +++++----- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/zefie_wtvp_minisrv/includes/ServiceVault/wtv-flashrom/willie.js b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-flashrom/willie.js index 3fce8e98..f58710a5 100644 --- a/zefie_wtvp_minisrv/includes/ServiceVault/wtv-flashrom/willie.js +++ b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-flashrom/willie.js @@ -19,8 +19,8 @@ if (!minisrv_config.services[service_name].use_zefie_server) { } var options = { - host: "wtv.zefie.com", - path: "/willie.php?minisrv=true&service_name="+escape(service_name)+"&pflash=" + session_data.get("wtv-client-rom-type") + proxy_query, + host: "roms.minisrv.dev", + path: "/?minisrv=true&service_name="+escape(service_name)+"&pflash=" + session_data.get("wtv-client-rom-type") + proxy_query, timeout: 5000, method: 'GET' } diff --git a/zefie_wtvp_minisrv/includes/classes/WTVFlashrom.js b/zefie_wtvp_minisrv/includes/classes/WTVFlashrom.js index 2e80509d..1734a3a9 100644 --- a/zefie_wtvp_minisrv/includes/classes/WTVFlashrom.js +++ b/zefie_wtvp_minisrv/includes/classes/WTVFlashrom.js @@ -142,10 +142,10 @@ class WTVFlashrom { if (!self.fs.existsSync(flashrom_file_path)) flashrom_file_path = null; }); if (this.use_zefie_server && !flashrom_file_path) { - // get flashrom files from archive.midnightchannel.net + // get flashrom files from roms.minisrv.dev var options = { - host: "archive.midnightchannel.net", - path: "/zefie/files/wtv-flashrom/" + request_path, + host: "roms.minisrv.dev", + path: "/" + request_path, timeout: 5000, method: 'GET' } @@ -164,13 +164,13 @@ class WTVFlashrom { }) res.on('end', function () { - if (self.minisrv_config.config.debug_flags.debug) console.log(` * Zefie's FlashROM Server HTTP Status: ${res.statusCode} ${res.statusMessage}`) + if (self.minisrv_config.config.debug_flags.debug) console.log(` * minisrv FlashROM Server HTTP Status: ${res.statusCode} ${res.statusMessage}`) if (res.statusCode == 200) { var data = Buffer.from(data_hex, 'hex'); } else if (res.statusCode == 206) { var data = self.getFlashromInfo(Buffer.from(data_hex, 'hex'), request_path); } else if (res.statusCode == 404) { - var errpage = self.wtvshared.doErrorPage(404, "The service could not find the requested ROM on zefie's server.") + var errpage = self.wtvshared.doErrorPage(404, "The service could not find the requested ROM on the minisrv FlashROM server.") headers = errpage[0]; var data = errpage[1]; } else { From 9f238be80663f93e0833fc912667c897f72bd2b4 Mon Sep 17 00:00:00 2001 From: zefie Date: Sat, 4 May 2024 13:38:09 -0400 Subject: [PATCH 2/9] fix SSID check, also make it optional --- zefie_wtvp_minisrv/app.js | 15 ++++++++++----- zefie_wtvp_minisrv/includes/config.json | 1 + 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/zefie_wtvp_minisrv/app.js b/zefie_wtvp_minisrv/app.js index 163f6019..61fa984e 100644 --- a/zefie_wtvp_minisrv/app.js +++ b/zefie_wtvp_minisrv/app.js @@ -1124,7 +1124,7 @@ async function sendToClient(socket, headers_obj, data = null) { headers_obj = headerStringToObj(headers_obj, true); } if (!socket_sessions[socket.id]) { - socket.destroy(); + if (socket.destroy) socket.destroy(); return; } if (!socket.res) { @@ -1471,10 +1471,15 @@ async function processRequest(socket, data_hex, skipSecure = false, encryptedReq if (!headers) return; if (headers["wtv-client-serial-number"] != null && socket.ssid == null) { - if (!wtvshared.checkSSID(headers["wtv-client-serial-number"])) { - // close socket for invalid ssid - cleanupSocket(socket) - return; + if (minisrv_config.config.require_valid_ssid) { + if (!wtvshared.checkSSID(headers["wtv-client-serial-number"])) { + // reject invalid SSIDs + var errpage = wtvshared.doErrorPage(400, "minisrv ran into a technical problem. Reason: Your SSID is not valid."); + headers = errpage[0]; + data = errpage[1]; + sendToClient(socket, headers, data); + return; + } } socket.ssid = wtvshared.makeSafeSSID(headers["wtv-client-serial-number"]); if (socket.ssid != null) { diff --git a/zefie_wtvp_minisrv/includes/config.json b/zefie_wtvp_minisrv/includes/config.json index b1cc656f..e7b7adea 100644 --- a/zefie_wtvp_minisrv/includes/config.json +++ b/zefie_wtvp_minisrv/includes/config.json @@ -47,6 +47,7 @@ "allow_guests": true, // Allow users to experience the server without registering "domain_name": "wtv.zefie.com", // For usenet and future stuff, no need to change just yet, "max_post_length": 20, // in megabytes + "require_valid_ssid": true, // require a valid SSID (with valid CRC) "user_accounts": { // user account settings "max_users_per_account": 6, // Max total users (including primary) per account "min_username_length": 5, // minimum username length From a07e9fb01c3af0c7574f21f2a4484ddfd7fb8d8f Mon Sep 17 00:00:00 2001 From: zefie Date: Sat, 4 May 2024 13:12:09 -0400 Subject: [PATCH 3/9] v0.9.48 --- zefie_wtvp_minisrv/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/zefie_wtvp_minisrv/package.json b/zefie_wtvp_minisrv/package.json index 3c87636e..1f3b573d 100644 --- a/zefie_wtvp_minisrv/package.json +++ b/zefie_wtvp_minisrv/package.json @@ -1,6 +1,6 @@ { "name": "zefie_wtvp_minisrv", - "version": "0.9.47", + "version": "0.9.48", "description": "WebTV Service (WTVP) Emulation Server", "main": "app.js", "homepage": "https://github.com/zefie/zefie_wtvp_minisrv", From 23808c51b605147c107d23f8543f4488e4b8987c Mon Sep 17 00:00:00 2001 From: zefie Date: Sat, 4 May 2024 17:50:52 -0400 Subject: [PATCH 4/9] fix braindead bf0app unauthorized --- zefie_wtvp_minisrv/includes/config.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/zefie_wtvp_minisrv/includes/config.json b/zefie_wtvp_minisrv/includes/config.json index e7b7adea..f6879f79 100644 --- a/zefie_wtvp_minisrv/includes/config.json +++ b/zefie_wtvp_minisrv/includes/config.json @@ -85,7 +85,7 @@ // urls the client can access without being "logged in" "wtv-1800:/preregister", "wtv-1800:/noflash", - "wtv-flashrom:/current-noflash", + "wtv-flashrom:/*", "wtv-head-waiter:/login", "wtv-head-waiter:/ValidateLogin", "wtv-head-waiter:/login-stage-two", From 543fa08b2a84284f184a20b368052c7cbefbf299 Mon Sep 17 00:00:00 2001 From: zefie Date: Sat, 4 May 2024 18:49:00 -0400 Subject: [PATCH 5/9] let DC and MSTV Sim through the SSID check for now. --- zefie_wtvp_minisrv/app.js | 16 +++++++++------- zefie_wtvp_minisrv/includes/config.json | 2 +- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/zefie_wtvp_minisrv/app.js b/zefie_wtvp_minisrv/app.js index 61fa984e..e7fc0cae 100644 --- a/zefie_wtvp_minisrv/app.js +++ b/zefie_wtvp_minisrv/app.js @@ -1471,17 +1471,19 @@ async function processRequest(socket, data_hex, skipSecure = false, encryptedReq if (!headers) return; if (headers["wtv-client-serial-number"] != null && socket.ssid == null) { + socket.ssid = wtvshared.makeSafeSSID(headers["wtv-client-serial-number"]); if (minisrv_config.config.require_valid_ssid) { if (!wtvshared.checkSSID(headers["wtv-client-serial-number"])) { - // reject invalid SSIDs - var errpage = wtvshared.doErrorPage(400, "minisrv ran into a technical problem. Reason: Your SSID is not valid."); - headers = errpage[0]; - data = errpage[1]; - sendToClient(socket, headers, data); - return; + if (socket.ssid.substring(0, 5) != "1SEGA" && socket.ssid.substring(0, 8) != "MSTVSIMU") { + // reject invalid SSIDs, but let Dreamcast and MSTV Sim through for now until we figure out their checksumming method. + var errpage = wtvshared.doErrorPage(400, "minisrv ran into a technical problem. Reason: Your SSID is not valid."); + headers = errpage[0]; + data = errpage[1]; + sendToClient(socket, headers, data); + return; + } } } - socket.ssid = wtvshared.makeSafeSSID(headers["wtv-client-serial-number"]); if (socket.ssid != null) { if (!ssid_sessions[socket.ssid]) { ssid_sessions[socket.ssid] = new WTVClientSessionData(minisrv_config, socket.ssid); diff --git a/zefie_wtvp_minisrv/includes/config.json b/zefie_wtvp_minisrv/includes/config.json index f6879f79..b79caba6 100644 --- a/zefie_wtvp_minisrv/includes/config.json +++ b/zefie_wtvp_minisrv/includes/config.json @@ -362,7 +362,7 @@ }, { "title": "RetroSite", - "url": "http://retrosite.ga/", + "url": "http://retrosite.org/", "image_type": "url", "image": "canned/retrosite.gif" }, From aa8a3f1f4d798db5f2587b9af6c111d74b36e6e6 Mon Sep 17 00:00:00 2001 From: zefie Date: Mon, 6 May 2024 09:59:43 -0400 Subject: [PATCH 6/9] change internal usenet port --- zefie_wtvp_minisrv/includes/config.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/zefie_wtvp_minisrv/includes/config.json b/zefie_wtvp_minisrv/includes/config.json index b79caba6..e881c498 100644 --- a/zefie_wtvp_minisrv/includes/config.json +++ b/zefie_wtvp_minisrv/includes/config.json @@ -127,7 +127,7 @@ "wtv-news": { // Usenet "port": 1605, - "local_nntp_port": 57319, // Port for internal NNTP + "local_nntp_port": 5730, // Port for internal NNTP "local_nntp_requires_auth": true, // Needs to be enabled for posting "modules": [ "WTVNews" From 7257d5f39e7b3d1b1f820094f50fd85df08cc639 Mon Sep 17 00:00:00 2001 From: zefie Date: Mon, 6 May 2024 10:02:42 -0400 Subject: [PATCH 7/9] disable valid ssid requirement by default for compatbility --- zefie_wtvp_minisrv/includes/config.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/zefie_wtvp_minisrv/includes/config.json b/zefie_wtvp_minisrv/includes/config.json index e881c498..c49420ae 100644 --- a/zefie_wtvp_minisrv/includes/config.json +++ b/zefie_wtvp_minisrv/includes/config.json @@ -47,7 +47,7 @@ "allow_guests": true, // Allow users to experience the server without registering "domain_name": "wtv.zefie.com", // For usenet and future stuff, no need to change just yet, "max_post_length": 20, // in megabytes - "require_valid_ssid": true, // require a valid SSID (with valid CRC) + "require_valid_ssid": false, // require a valid SSID (with valid CRC) "user_accounts": { // user account settings "max_users_per_account": 6, // Max total users (including primary) per account "min_username_length": 5, // minimum username length From 782fd4f4bae6367762d03d2fe729f7d7bfa86943 Mon Sep 17 00:00:00 2001 From: zefie Date: Mon, 6 May 2024 10:09:25 -0400 Subject: [PATCH 8/9] fix could not send non-service .js or .txt files --- zefie_wtvp_minisrv/includes/classes/WTVShared.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/zefie_wtvp_minisrv/includes/classes/WTVShared.js b/zefie_wtvp_minisrv/includes/classes/WTVShared.js index 7dae8119..c8b86bca 100644 --- a/zefie_wtvp_minisrv/includes/classes/WTVShared.js +++ b/zefie_wtvp_minisrv/includes/classes/WTVShared.js @@ -945,11 +945,11 @@ class WTVShared { }); lineReader.on('line', (line) => { - lineCount++; if (lineCount === lineNo) { lineReader.close(); callback(null, line); } + lineCount++; }); lineReader.on('close', () => { From f9e3b1b228a41e4051e8046dd2341edd109ba423 Mon Sep 17 00:00:00 2001 From: zefie Date: Mon, 6 May 2024 10:09:55 -0400 Subject: [PATCH 9/9] v0.9.49 --- zefie_wtvp_minisrv/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/zefie_wtvp_minisrv/package.json b/zefie_wtvp_minisrv/package.json index 1f3b573d..74d46dcc 100644 --- a/zefie_wtvp_minisrv/package.json +++ b/zefie_wtvp_minisrv/package.json @@ -1,6 +1,6 @@ { "name": "zefie_wtvp_minisrv", - "version": "0.9.48", + "version": "0.9.49", "description": "WebTV Service (WTVP) Emulation Server", "main": "app.js", "homepage": "https://github.com/zefie/zefie_wtvp_minisrv",