diff --git a/ServiceFlags.txt b/ServiceFlags.txt new file mode 100644 index 00000000..88f316d9 --- /dev/null +++ b/ServiceFlags.txt @@ -0,0 +1,16 @@ +wtv service flags: +DontEncryptRequests (Do not encrypt requests from client -> server) +UseHTTP (Instead of WTVP) +WideOpen (Allow untrusted links to this service) +UseServiceCookies (Pass service cookie to this service) +NoMeter (Dont meter this service) + +0x00000001 = DontEncryptRequests +0x00000002 = UseHTTP (untested) +0x00000004 = WideOpen +0x00000007 = DontEncryptRequests + WideOpen + UseHTTP +0x00000010 = UseServiceCookies +0x00000040 = NoMeter + +Note: +Service Cookies and Metering are not implemented in minisrv. \ No newline at end of file diff --git a/zefie_wtvp_minisrv/ServiceDeps/premade_tellyscripts/bf0app/bf0app_production_braindead.tok b/zefie_wtvp_minisrv/ServiceDeps/premade_tellyscripts/bf0app/bf0app_production_braindead.tok new file mode 100644 index 00000000..e1410f42 Binary files /dev/null and b/zefie_wtvp_minisrv/ServiceDeps/premade_tellyscripts/bf0app/bf0app_production_braindead.tok differ diff --git a/zefie_wtvp_minisrv/ServiceVault/wtv-1800/finish-prereg.js b/zefie_wtvp_minisrv/ServiceVault/wtv-1800/finish-prereg.js deleted file mode 100644 index b7e3f32c..00000000 --- a/zefie_wtvp_minisrv/ServiceVault/wtv-1800/finish-prereg.js +++ /dev/null @@ -1,78 +0,0 @@ -if (socket.ssid != null) { - if (!ssid_sessions[socket.ssid].data_store.wtvsec_login) { - ssid_sessions[socket.ssid].data_store.wtvsec_login = new WTVSec(); - ssid_sessions[socket.ssid].data_store.wtvsec_login.IssueChallenge(); - ssid_sessions[socket.ssid].data_store.wtvsec_login.set_incarnation(request_headers["wtv-incarnation"]); - } -} else { - console.log(" * Something bad happened (we don't know the client ssid???)"); - var errpage = doErrorCode(400) - headers = errpage[0]; - data = errpage[1]; -} - -if (ssid_sessions[socket.ssid].data_store.wtvsec_login) { - var prereg_contype = "text/html"; - - if (request_headers.query.relogin) { // relogin - ssid_sessions[socket.ssid].data_store.wtvsec_login.ticket_b64 = null; // clear old ticket - } - - // if relogin and wtv-script-id != 0, skip tellyscript - var romtype, file_path = null; - var send_tellyscript = true; - var wtv_script_id = parseInt(ssid_sessions[socket.ssid].get("wtv-script-id")); - if (request_headers.query.relogin && wtv_script_id != 0) send_tellyscript = false; - if (send_tellyscript && minisrv_config.services[service_name].send_tellyscripts) { - 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) - if (send_telly_to_ssid) romtype = ssid_sessions[socket.ssid].get("wtv-client-rom-type"); - } else { - romtype = ssid_sessions[socket.ssid].get("wtv-client-rom-type"); - } - } - - switch (romtype) { - case "US-LC2-disk-0MB-8MB": - prereg_contype = "text/tellyscript"; - // if wtv-open-access: true then client expects OpenISP - if (ssid_sessions[socket.ssid].get("wtv-open-access") == "true") var file_path = __dirname + "/ServiceDeps/premade_tellyscripts/LC2/LC2_OISP_5555732_56k.tok"; - else var file_path = __dirname + "/ServiceDeps/premade_tellyscripts/LC2/LC2_WTV_18006138199_56k.tok"; - break; - - default: - data = ''; - break; - } - - headers = `200 OK -Connection: Keep-Alive -wtv-initial-key: ` + ssid_sessions[socket.ssid].data_store.wtvsec_login.challenge_key.toString(CryptoJS.enc.Base64) + ` -Content-Type: `+ prereg_contype + ` -wtv-service: reset -` + getServiceString('wtv-1800') + ` -` + getServiceString('wtv-star') + ` -` + getServiceString('wtv-head-waiter') + ` -` + getServiceString('wtv-flashrom') + ` -wtv-boot-url: wtv-1800:/preregister?relogin=true -wtv-visit: wtv-head-waiter:/login? -wtv-client-time-zone: GMT -0000 -wtv-client-time-dst-rule: GMT -wtv-client-date: `+ strftime("%a, %d %b %Y %H:%M:%S", new Date(new Date().toUTCString())) + ` GMT`; - - if (file_path) { - request_is_async = true; - fs.readFile(file_path, null, function (err, file_read_data) { - if (err) { - var errmsg = doErrorCode(400); - headers = errmsg[0]; - file_read_data = errmsg[1] + "\n" + err.toString(); - } - sendToClient(socket, headers, file_read_data); - }); - } -} else { - var errpage = doErrorCode(400); - headers = errpage[0]; - data = errpage[1]; -} \ No newline at end of file diff --git a/zefie_wtvp_minisrv/ServiceVault/wtv-1800/noflash.js.meh b/zefie_wtvp_minisrv/ServiceVault/wtv-1800/noflash.js.meh new file mode 100644 index 00000000..89b09d45 --- /dev/null +++ b/zefie_wtvp_minisrv/ServiceVault/wtv-1800/noflash.js.meh @@ -0,0 +1,49 @@ +if (socket.ssid != null && !ssid_sessions[socket.ssid].get("wtvsec_login")) { + var wtvsec_login = new WTVSec(); + wtvsec_login.IssueChallenge(); + wtvsec_login.set_incarnation(request_headers["wtv-incarnation"]); + ssid_sessions[socket.ssid].set("wtvsec_login", wtvsec_login); +} else if (socket.ssid != null) { + var wtvsec_login = ssid_sessions[socket.ssid].get("wtvsec_login"); +} + +if (wtvsec_login) { + + +headers = `200 OK +Connection: Keep-Alive +wtv-initial-key: ` + wtvsec_login.challenge_key.toString(CryptoJS.enc.Base64) + ` +Content-Type: text/tellyscript +wtv-service: reset +` + getServiceString('wtv-head-waiter') + ` +` + getServiceString('wtv-star') + ` +` + getServiceString('wtv-flashrom') + ` +wtv-boot-url: wtv-head-waiter:/login? +wtv-visit: wtv-head-waiter:/login? +wtv-client-time-zone: GMT -0000 +wtv-client-time-dst-rule: GMT +wtv-client-date: `+ strftime("%a, %d %b %Y %H:%M:%S", new Date(new Date().toUTCString())) + ` GMT`; + + var file_path = __dirname + "/ServiceDeps/premade_tellyscripts/bf0app/bf0app_production_braindead"; + //var file_path = __dirname + "/ServiceDeps/premade_tellyscripts/LC2/LC2_OISP_5555732_56k.tok"; + + if (file_path) { + request_is_async = true; + fs.readFile(file_path, null, function (err, file_read_data) { + if (err) { + + headers=`500 Some error occurred...` + } + sendToClient(socket, headers, file_read_data); + }); + + + + + } +} else { + console.log(" * Something bad happened (we don't know the client ssid???)"); + headers=`500 missing ssid` +} + + diff --git a/zefie_wtvp_minisrv/ServiceVault/wtv-1800/offer-open-isp-suggest.js b/zefie_wtvp_minisrv/ServiceVault/wtv-1800/offer-open-isp-suggest.js new file mode 100644 index 00000000..2885e20f --- /dev/null +++ b/zefie_wtvp_minisrv/ServiceVault/wtv-1800/offer-open-isp-suggest.js @@ -0,0 +1,14 @@ +var gourl = "wtv-1800:/finish-prereg?"; +if (request_headers.query.relogin) gourl += "relogin=true"; + + +if (request_headers["wtv-ticket"]) { + gourl = "wtv-head-waiter:/login-stage-two?"; +} + +headers = `200 OK +Connection: Keep-Alive +wtv-expire-all: wtv- +wtv-open-isp-disabled: false +wtv-visit: `+ gourl + ` +Content-type: text/html`; diff --git a/zefie_wtvp_minisrv/ServiceVault/wtv-1800/preregister.js b/zefie_wtvp_minisrv/ServiceVault/wtv-1800/preregister.js index ebb0d9a6..80cb0b13 100644 --- a/zefie_wtvp_minisrv/ServiceVault/wtv-1800/preregister.js +++ b/zefie_wtvp_minisrv/ServiceVault/wtv-1800/preregister.js @@ -1,10 +1,6 @@ -var gourl = "wtv-1800:/finish-prereg?"; +var gourl = "wtv-head-waiter:/login?"; if (request_headers.query.relogin) gourl += "relogin=true"; - - -if (request_headers["wtv-ticket"]) { - gourl = "wtv-head-waiter:/login-stage-two?"; -} +var send_initial_key = true; if (socket.ssid) { if (ssid_sessions[socket.ssid].data_store) { @@ -19,17 +15,132 @@ if (socket.ssid) { } } }); - if (i > 0 && zdebug) console.log(" # Closed", i, "previous sockets for", socket.ssid); + if (i > 0 && zdebug) console.log(" # Closed", i, "previous sockets for", filterSSID(socket.ssid)); } } if (ssid_sessions[socket.ssid].data_store.wtvsec_login) { delete ssid_sessions[socket.ssid].data_store.wtvsec_login; } + + ssid_sessions[socket.ssid].data_store.wtvsec_login = new WTVSec(); + ssid_sessions[socket.ssid].data_store.wtvsec_login.IssueChallenge(); + ssid_sessions[socket.ssid].data_store.wtvsec_login.set_incarnation(request_headers["wtv-incarnation"]); +} else { + console.log(" * Something bad happened (we don't know the client ssid???)"); + var errpage = doErrorCode(400) + headers = errpage[0]; + data = errpage[1]; } -headers = `200 OK -Connection: Keep-Alive -wtv-expire-all: wtv- -wtv-open-isp-disabled: false -wtv-visit: `+ gourl + ` -Content-type: text/html`; +if (ssid_sessions[socket.ssid].data_store.wtvsec_login) { + var prereg_contype = "text/html"; + + if (request_headers.query.relogin) { // relogin + ssid_sessions[socket.ssid].data_store.wtvsec_login.ticket_b64 = null; // clear old ticket + } + + // if relogin and wtv-script-id != 0, skip tellyscript + var file_path = null; + var bf0app_update = false; + var romtype = ssid_sessions[socket.ssid].get("wtv-client-rom-type"); + var send_tellyscripts = (minisrv_config.services[service_name].send_tellyscripts && !request_headers.query.relogin); + var wtv_script_id = parseInt(ssid_sessions[socket.ssid].get("wtv-script-id")); + var bootrom = ssid_sessions[socket.ssid].get("wtv-client-bootrom-version"); + if (request_headers.query.relogin && wtv_script_id != 0) send_tellyscript = false; + if (send_tellyscripts) { + 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) + if (send_telly_to_ssid) { + romtype = ssid_sessions[socket.ssid].get("wtv-client-rom-type"); + } + } else { + romtype = ssid_sessions[socket.ssid].get("wtv-client-rom-type"); + } + + switch (romtype) { + case "US-LC2-disk-0MB-8MB": + prereg_contype = "text/tellyscript"; + // if wtv-open-access: true then client expects OpenISP + if (ssid_sessions[socket.ssid].get("wtv-open-access") == "true") var file_path = __dirname + "/ServiceDeps/premade_tellyscripts/LC2/LC2_OISP_5555732_56k.tok"; + else var file_path = __dirname + "/ServiceDeps/premade_tellyscripts/LC2/lc2_production_normal.tok"; + break; + + case "US-LC2-disk-0MB-8MB-softmodem-CPU5230": + prereg_contype = "text/tellyscript"; + // if wtv-open-access: true then client expects OpenISP + if (ssid_sessions[socket.ssid].get("wtv-open-access") == "true") var file_path = __dirname + "/ServiceDeps/premade_tellyscripts/DERBY/derby_production_normal.tok"; + else var file_path = __dirname + "/ServiceDeps/premade_tellyscripts/DERBY/derby_production_normal.tok"; + break; + + case "US-WEBSTAR-disk-0MB-16MB-softmodem-CPU5230": + prereg_contype = "text/tellyscript"; + // if wtv-open-access: true then client expects OpenISP + if (ssid_sessions[socket.ssid].get("wtv-open-access") == "true") var file_path = __dirname + "/ServiceDeps/premade_tellyscripts/WEBSTAR/dishplayer_production_normal.tok"; + else var file_path = __dirname + "/ServiceDeps/premade_tellyscripts/WEBSTAR/dishplayer_production_normal.tok"; + break; + + case "JP-Fiji": + prereg_contype = "text/tellyscript"; + // if wtv-open-access: true then client expects OpenISP + if (ssid_sessions[socket.ssid].get("wtv-open-access") == "true") var file_path = __dirname + "/ServiceDeps/premade_tellyscripts/DC/dc_production_normal.tok"; + else var file_path = __dirname + "/ServiceDeps/premade_tellyscripts/DC/dc_production_normal.tok"; + break; + + case "bf0app": + prereg_contype = "text/tellyscript"; + // if wtv-open-access: true then client expects OpenISP + if (ssid_sessions[socket.ssid].get("wtv-open-access") == "true") var file_path = __dirname + "/ServiceDeps/premade_tellyscripts/BF0APP/bf0app_production_braindead.tok"; + else var file_path = __dirname + "/ServiceDeps/premade_tellyscripts/BF0APP/bf0app_production_braindead.tok"; + break; + + default: + data = ''; + break; + } + } + + if (!request_headers['wtv-client-rom-type'] && bootrom == "105") { + // assume old classic in flash mode, override user setting and send tellyscript + // because it is required to proceed in flash mode + prereg_contype = "text/tellyscript"; + var file_path = __dirname + "/ServiceDeps/premade_tellyscripts/bf0app/bf0app_production_braindead.tok"; + bf0app_update = true; + } + + if (request_headers["wtv-ticket"]) { + gourl = "wtv-head-waiter:/login-stage-two?relogin=true"; + send_initial_key = false; + } + + headers = "200 OK\n" + headers += "Connection: Keep-Alive\n"; + if (send_initial_key) headers += "wtv-initial-key: " + ssid_sessions[socket.ssid].data_store.wtvsec_login.challenge_key.toString(CryptoJS.enc.Base64) + "\n"; + headers += "Content-Type: " + prereg_contype + "\n"; + headers += "wtv-service: reset\n"; + headers += getServiceString('wtv-1800') + "\n"; + headers += getServiceString('wtv-star') + "\n"; + if (!bf0app_update) headers += getServiceString('wtv-head-waiter') + "\n"; + headers += getServiceString('wtv-flashrom') + "\n"; + if (!bf0app_update) headers += "wtv-boot-url: wtv-1800:/preregister?relogin=true\n" + if (!bf0app_update) headers += "wtv-open-isp-disabled: false\n"; + if (!bf0app_update) headers += "wtv-visit: "+gourl+"\n"; + if (!bf0app_update) headers += "wtv-client-time-zone: GMT -0000\n"; + if (!bf0app_update) headers += "wtv-client-time-dst-rule: GMT\n" + if (!bf0app_update) headers += "wtv-client-date: " + strftime("%a, %d %b %Y %H:%M:%S", new Date(new Date().toUTCString())) + " GMT"; + + if (file_path) { + request_is_async = true; + fs.readFile(file_path, null, function (err, file_read_data) { + if (err) { + var errmsg = doErrorCode(400); + headers = errmsg[0]; + file_read_data = errmsg[1] + "\n" + err.toString(); + } + sendToClient(socket, headers, file_read_data); + }); + } +} else { + var errpage = doErrorCode(400); + headers = errpage[0]; + data = errpage[1]; +} \ No newline at end of file diff --git a/zefie_wtvp_minisrv/ServiceVault/wtv-flashrom/get-by-path.js b/zefie_wtvp_minisrv/ServiceVault/wtv-flashrom/get-by-path.js index fcc973e9..004221d5 100644 --- a/zefie_wtvp_minisrv/ServiceVault/wtv-flashrom/get-by-path.js +++ b/zefie_wtvp_minisrv/ServiceVault/wtv-flashrom/get-by-path.js @@ -22,8 +22,9 @@ function doLocalFlashROM(flashrom_file_path) { } } +var romtype = ssid_sessions[socket.ssid].get("wtv-client-rom-type"); -if (request_headers.query.raw) { +if (request_headers.query.raw || romtype == "bf0app") { if ((/\.brom$/).test(request_path)) headers += "Content-Type: binary/x-wtv-bootrom"; // maybe? else headers += "Content-Type: binary/x-wtv-flashblock"; var flashrom_file_path = null; diff --git a/zefie_wtvp_minisrv/ServiceVault/wtv-flashrom/initiate-lc2-download.js b/zefie_wtvp_minisrv/ServiceVault/wtv-flashrom/initiate-lc2-download.js index dcc51996..8ba45429 100644 --- a/zefie_wtvp_minisrv/ServiceVault/wtv-flashrom/initiate-lc2-download.js +++ b/zefie_wtvp_minisrv/ServiceVault/wtv-flashrom/initiate-lc2-download.js @@ -1,7 +1,12 @@ if (request_headers.query.path) { +var url = "wtv-flashrom:/get-lc2-page?path=" + request_headers.query.path; +var romtype = ssid_sessions[socket.ssid].get("wtv-client-rom-type"); +if (romtype == "bf0app") { + url = "client:updateflash?ipaddr="+minisrv_config.services[service_name].host+"&port="+minisrv_config.services[service_name].port+"&path=" + request_headers.query.path; +} headers = "300 OK\n"; - headers += "wtv-visit: wtv-flashrom:/get-lc2-page?path=" + request_headers.query.path + "\n"; - headers += "Location: wtv-flashrom:/get-lc2-page?path=" + request_headers.query.path + "\n"; + headers += "wtv-visit: " + url + "\n"; + headers += "Location: " + url + "\n"; headers += "Content-type: text/html"; data = ''; } else { diff --git a/zefie_wtvp_minisrv/ServiceVault/wtv-star/ROMCache/MSNLogo.gif b/zefie_wtvp_minisrv/ServiceVault/wtv-star/ROMCache/MSNLogo.gif deleted file mode 100644 index 59b3829d..00000000 Binary files a/zefie_wtvp_minisrv/ServiceVault/wtv-star/ROMCache/MSNLogo.gif and /dev/null differ diff --git a/zefie_wtvp_minisrv/ServiceVault/wtv-star/ROMCache/splash_logo_msn.gif b/zefie_wtvp_minisrv/ServiceVault/wtv-star/ROMCache/splash_logo_msn.gif deleted file mode 100644 index e69ad2a0..00000000 Binary files a/zefie_wtvp_minisrv/ServiceVault/wtv-star/ROMCache/splash_logo_msn.gif and /dev/null differ diff --git a/zefie_wtvp_minisrv/ServiceVault/wtv-tricks/info.js b/zefie_wtvp_minisrv/ServiceVault/wtv-tricks/info.js index 9afbc6b1..00bf7b82 100644 --- a/zefie_wtvp_minisrv/ServiceVault/wtv-tricks/info.js +++ b/zefie_wtvp_minisrv/ServiceVault/wtv-tricks/info.js @@ -2,8 +2,8 @@ var client_caps = null; if (socket.ssid != null) { - if (ssid_sessions[socket.ssid].data_store.capabilities) { - client_caps = ssid_sessions[socket.ssid].data_store.capabilities; + if (ssid_sessions[socket.ssid].capabilities) { + client_caps = ssid_sessions[socket.ssid].capabilities; } } if (client_caps) { diff --git a/zefie_wtvp_minisrv/app.js b/zefie_wtvp_minisrv/app.js index 734a1e4f..e3691b90 100644 --- a/zefie_wtvp_minisrv/app.js +++ b/zefie_wtvp_minisrv/app.js @@ -196,6 +196,8 @@ function filterSSID(obj) { if (typeof (obj) == "string") { if (obj.substr(0, 8) == "MSTVSIMU") { return obj.substr(0, 10) + ('*').repeat(10) + obj.substr(20); + } else if (obj.substr(0, 5) == "1SEGA") { + return obj.substr(0, 6) + ('*').repeat(6) + obj.substr(13); } else { return obj.substr(0, 6) + ('*').repeat(9); } @@ -204,6 +206,8 @@ function filterSSID(obj) { var ssid = obj["wtv-client-serial-number"]; if (ssid.substr(0, 8) == "MSTVSIMU") { obj["wtv-client-serial-number"] = ssid.substr(0, 10) + ('*').repeat(10) + ssid.substr(20); + } else if (ssid.substr(0, 5) == "1SEGA") { + obj["wtv-client-serial-number"] = ssid.substr(0, 6) + ('*').repeat(6) + ssid.substr(13); } else { obj["wtv-client-serial-number"] = ssid.substr(0, 6) + ('*').repeat(9); } @@ -490,9 +494,9 @@ async function sendToClient(socket, headers_obj, data) { } else { if (k.indexOf('_') >= 0) { var j = k.split('_')[0]; - headers += j + ": " + headers_obj[k] + "\n"; + headers += j + ": " + headers_obj[k] + "\r\n"; } else { - headers += k + ": " + headers_obj[k] + "\n"; + headers += k + ": " + headers_obj[k] + "\r\n"; } } }); @@ -501,17 +505,17 @@ async function sendToClient(socket, headers_obj, data) { // send to client var toClient = null; if (typeof data == 'string') { - toClient = headers + "\n" + data; + toClient = headers + "\r\n" + data; socket.write(toClient); } else if (typeof data == 'object') { if (zquiet) var verbosity_mod = (headers_obj["wtv-encrypted"] == 'true') ? " encrypted response" : ""; if (socket_sessions[socket.id].secure_headers == true) { // encrypt headers if (zquiet)verbosity_mod += " with encrypted headers"; - var enc_headers = socket_sessions[socket.id].wtvsec.Encrypt(1, headers + "\n"); + var enc_headers = socket_sessions[socket.id].wtvsec.Encrypt(1, headers + "\r\n"); socket.write(new Uint8Array(concatArrayBuffer(enc_headers, data))); } else { - socket.write(new Uint8Array(concatArrayBuffer(Buffer.from(headers + "\n"), data))); + socket.write(new Uint8Array(concatArrayBuffer(Buffer.from(headers + "\r\n"), data))); } if (zquiet) console.log(" * Sent" + verbosity_mod + " " + headers_obj.http_response + " to client (Content-Type:", headers_obj['Content-Type'], "~", headers_obj['Content-Length'], "bytes)"); } @@ -1217,11 +1221,11 @@ Object.keys(minisrv_config.services).forEach(function (k) { minisrv_config.services[k].toString = function () { var outstr = "wtv-service: name=" + this.name + " host=" + this.host + " port=" + this.port; if (this.flags) outstr += " flags=" + this.flags; - if (this.connections) outstr += " flags=" + this.connections; + if (this.connections) outstr += " connections=" + this.connections; if (k == "wtv-star") { outstr += "\nwtv-service: name=wtv-* host=" + this.host + " port=" + this.port; if (this.flags) outstr += " flags=" + this.flags; - if (this.connections) outstr += " flags=" + this.connections; + if (this.connections) outstr += " connections=" + this.connections; } return outstr; } diff --git a/zefie_wtvp_minisrv/config.json b/zefie_wtvp_minisrv/config.json index 898e651a..4c69fe7a 100644 --- a/zefie_wtvp_minisrv/config.json +++ b/zefie_wtvp_minisrv/config.json @@ -5,11 +5,11 @@ "UserServiceVault", "ServiceVault" ], - "service_name": "MSNTV", - "service_logo": "MSNLogo.gif", - "service_splash_logo": "splash_logo_msn.gif", + "service_name": "WebTV", + "service_logo": "WebTVLogoJewel.gif", + "service_splash_logo": "file://ROM/images/SplashLogo1.gif", "hide_ssid_in_logs": true, - "post_percentages": [ 0, 25, 50, 100], + "post_percentages": [ 0, 25, 50, 100 ], "verbosity": 2, "error_log_file": "errors.log" }, @@ -17,6 +17,7 @@ "wtv-1800": { "port": 1615, "connections": 1, + "flags": "0x00000004", "send_tellyscripts": false }, "wtv-star": { @@ -25,12 +26,10 @@ }, "wtv-head-waiter": { "port": 1601, - "flags": "0x00000001", "connections": 1 }, "wtv-update": { - "port": 1619, - "flags": "0x04", + "port": 1635, "connections": 3 }, "wtv-log": { @@ -39,8 +38,7 @@ "write_logs_to_disk": false }, "wtv-home": { - "port": 1612, - "flags": "0x00000010" + "port": 1612 }, "wtv-tricks": { "port": 1602, @@ -53,7 +51,6 @@ }, "wtv-music": { "port": 1656, - "flags": "0x04", "connections": 3 }, "wtv-setup": { @@ -63,8 +60,7 @@ }, "wtv-chat": { "port": 1630, - "connections": 3, - "flags": "0x00000010" + "connections": 3 }, "http": { "port": 1650, diff --git a/zefie_wtvp_minisrv/package.json b/zefie_wtvp_minisrv/package.json index 1f2fd2a6..2feae443 100644 --- a/zefie_wtvp_minisrv/package.json +++ b/zefie_wtvp_minisrv/package.json @@ -1,6 +1,6 @@ { "name": "zefie_wtvp_minisrv", - "version": "0.9.7", + "version": "0.9.8", "description": "WebTV Service (WTVP) Emulation Server", "main": "app.js", "homepage": "https://github.com/zefie/zefie_wtvp_minisrv", diff --git a/zefie_wtvp_minisrv/zefie_wtvp_minisrv.njsproj b/zefie_wtvp_minisrv/zefie_wtvp_minisrv.njsproj index 96f24d9f..b40cd310 100644 --- a/zefie_wtvp_minisrv/zefie_wtvp_minisrv.njsproj +++ b/zefie_wtvp_minisrv/zefie_wtvp_minisrv.njsproj @@ -200,7 +200,6 @@ -