diff --git a/zefie_wtvp_minisrv/includes/ServiceVault/wtv-disk/content/DownloadScreen.tmpl.js b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-disk/content/DownloadScreen.tmpl.js index 98f2b633..85b9ba92 100644 --- a/zefie_wtvp_minisrv/includes/ServiceVault/wtv-disk/content/DownloadScreen.tmpl.js +++ b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-disk/content/DownloadScreen.tmpl.js @@ -1,27 +1,27 @@ -var minisrv_service_file = true; +const minisrv_service_file = true; //GET wtv-disk:/content/DownloadScreen.tmpl?diskmap=Demo&group=Demo headers = `200 OK Content-Type: text/html wtv-expire: wtv-disk:/content/DownloadScreen.tmpl` -var content_dir = "content/" -var diskmap_dir = content_dir + "diskmaps/"; -var diskmap = request_headers.query[wtvshared.getCaseInsensitiveKey("DiskMap", request_headers.query)]; -var diskmap_json_file = null; +const content_dir = "content/" +const diskmap_dir = content_dir + "diskmaps/"; +const diskmap = request_headers.query[wtvshared.getCaseInsensitiveKey("DiskMap", request_headers.query)]; +let diskmap_json_file = null; Object.keys(service_vaults).forEach(function (g) { if (diskmap_json_file != null) return; diskmap_json_file = service_vaults[g] + "/" + service_name + "/" + diskmap_dir + diskmap + ".json"; if (!fs.existsSync(diskmap_json_file)) diskmap_json_file = null; }); -var diskmap_data = JSON.parse(fs.readFileSync(diskmap_json_file).toString()); +let diskmap_data = JSON.parse(fs.readFileSync(diskmap_json_file).toString()); if (!diskmap_data[request_headers.query.group]) { throw ("Invalid diskmap data (group does not match)"); } diskmap_data = diskmap_data[request_headers.query.group]; -var message = request_headers.query.message || diskmap_data.message || "Retrieving files..."; -var main_message = request_headers.query.main_message || diskmap_data.main_message || "Your receiver is downloading files."; -var success_url = request_headers.query.success_url || diskmap_data.success_url || null; -var fail_url = request_headers.query.fail_url || diskmap_data.fail_url || null; +const message = request_headers.query.message || diskmap_data.message || "Retrieving files..."; +const main_message = request_headers.query.main_message || diskmap_data.main_message || "Your receiver is downloading files."; +let success_url = request_headers.query.success_url || diskmap_data.success_url || null; +let fail_url = request_headers.query.fail_url || diskmap_data.fail_url || null; if (success_url === null) success_url = new clientShowAlert({ 'image': this.minisrv_config.config.service_logo, diff --git a/zefie_wtvp_minisrv/includes/ServiceVault/wtv-disk/content/Downloads.tmpl.js b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-disk/content/Downloads.tmpl.js index fcb08074..5d444a56 100644 --- a/zefie_wtvp_minisrv/includes/ServiceVault/wtv-disk/content/Downloads.tmpl.js +++ b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-disk/content/Downloads.tmpl.js @@ -1,4 +1,4 @@ -var minisrv_service_file = true; +const minisrv_service_file = true; headers = `200 OK Content-Type: text/html`; diff --git a/zefie_wtvp_minisrv/includes/ServiceVault/wtv-disk/sync.js b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-disk/sync.js index a9e9a479..ea3c75a2 100644 --- a/zefie_wtvp_minisrv/includes/ServiceVault/wtv-disk/sync.js +++ b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-disk/sync.js @@ -1,18 +1,18 @@ -var minisrv_service_file = true; +const minisrv_service_file = true; -var diskmap = request_headers.query[wtvshared.getCaseInsensitiveKey("DiskMap", request_headers.query)]; -var wtvdl = new WTVDisk(minisrv_config, service_name); +const diskmap = request_headers.query[wtvshared.getCaseInsensitiveKey("DiskMap", request_headers.query)]; +const wtvdl = new WTVDisk(minisrv_config, service_name); -var force_update = (request_headers.query.force == "true") ? true : false; -var no_delete = (request_headers.query.dont_delete_files == "true") ? true : false; -var content_dir = "content/" -var diskmap_dir = content_dir + "diskmaps/"; +const force_update = (request_headers.query.force == "true") ? true : false; +const no_delete = (request_headers.query.dont_delete_files == "true") ? true : false; +const content_dir = "content/" +const diskmap_dir = content_dir + "diskmaps/"; if (request_headers['wtv-request-type'] == 'download') { function generateDownloadList(diskmap_group_name, update_list, diskmap_group_data) { wtvdl.reset(); - var files_to_send = 0; + let files_to_send = 0; Object.keys(update_list).forEach(function (k) { if (update_list[k].checksum_match && !force_update) return; if (!update_list[k].invalid && !force_update) return; @@ -65,7 +65,7 @@ if (request_headers['wtv-request-type'] == 'download') { if (update_list[k].checksum_match && !force_update) return; if (!update_list[k].invalid && !force_update) return; } - delete_file = update_list[k].file.replace(diskmap_group_data.base, "") + let delete_file = update_list[k].file.replace(diskmap_group_data.base, "") if (!diskmap_group_data.files[k].dont_extract_filename) { delete_file = delete_file.replace(".gz",""); } @@ -83,7 +83,7 @@ if (request_headers['wtv-request-type'] == 'download') { break; case "GET": - var get_url = service_name + ":/" + update_list[k].location + "?"; + let get_url = service_name + ":/" + update_list[k].location + "?"; if (update_list[k].compress === false) get_url += "dont_compress=true&"; if (update_list[k].type) get_url += "content_type=" + encodeURIComponent(update_list[k].type) + "&"; wtvdl.get(update_list[k].file.replace(diskmap_group_data.base, ""), update_list[k].file, get_url, diskmap_group_name, update_list[k].checksum, update_list[k].uncompressed_size || null, update_list[k].original_filename) @@ -116,33 +116,33 @@ if (request_headers['wtv-request-type'] == 'download') { wtvdl.deleteGroupUpdate(diskmap_group_name, diskmap_group_data.base); } } - var download_list = wtvdl.getDownloadList(); + const download_list = wtvdl.getDownloadList(); if (minisrv_config.config.show_diskmap) console.log(download_list); return download_list; } function processGroup(diskmap_primary_group, diskmap_group_data, diskmap_subgroup = null, version = 0) { // parse webtv post - var output_data = ''; - var post_data = []; - var client_group_data = []; + let output_data = ''; + let post_data = []; + let client_group_data = []; if (request_headers.post_data) { post_data = request_headers.post_data.toString(CryptoJS.enc.Latin1).split("\n"); client_group_data = wtvdl.getGroupDataFromClientPost(request_headers.post_data.toString(CryptoJS.enc.Latin1)); } - var post_data_current_directory = ''; - var post_data_current_file = false; - var post_data_current_group = ''; - var post_data_last_modified = false; - var post_data_content_length = false; - var post_data_current_group_state = false; - var post_data_fileinfo = []; - var entry_type = false; - var post_data_current_version = false; - var post_data_current_checksum = false; - var post_data_last_checkup_time = 0; + let post_data_current_directory = ''; + let post_data_current_file = false; + let post_data_current_group = ''; + let post_data_last_modified = false; + let post_data_content_length = false; + let post_data_current_group_state = false; + const post_data_fileinfo = []; + let entry_type = false; + let post_data_current_version = false; + let post_data_current_checksum = false; + let post_data_last_checkup_time = 0; Object.keys(post_data).forEach(function (k) { - if (post_data[k].substring(0, 7) == "file://") { + if (post_data[k].slice(0, 7) == "file://") { entry_type = "folder"; post_data_current_file = false; post_data_current_version = false; @@ -155,10 +155,10 @@ if (request_headers['wtv-request-type'] == 'download') { post_data_current_directory = post_data[k]; } else { if (post_data[k].indexOf(":") > 0) { - var post_data_line = post_data[k].split(": ") - var post_data_line_name = post_data_line[0]; + const post_data_line = post_data[k].split(": ") + const post_data_line_name = post_data_line[0]; post_data_line.shift(); - var post_data_line_data = post_data_line.join(": "); + const post_data_line_data = post_data_line.join(": "); switch (post_data_line_name.toLowerCase()) { case "last-modified": @@ -190,8 +190,8 @@ if (request_headers['wtv-request-type'] == 'download') { } if (post_data[k] == "" && entry_type) { - var post_data_current_path = ((entry_type == "file") ? (post_data_current_directory + post_data_current_file) : post_data_current_directory); - var index = post_data_current_path.replace(/[\:\/]/g, "_").toLowerCase() + "_" + post_data_current_group; + const post_data_current_path = ((entry_type == "file") ? (post_data_current_directory + post_data_current_file) : post_data_current_directory); + const index = post_data_current_path.replace(/[\:\/]/g, "_").toLowerCase() + "_" + post_data_current_group; if (index.match(/\/$/)) entry_type = "folder"; if (!post_data_fileinfo[index]) post_data_fileinfo[index] = {}; post_data_fileinfo[index].entry_type = entry_type; @@ -208,11 +208,11 @@ if (request_headers['wtv-request-type'] == 'download') { } } }); - var wtv_download_list = []; - var newest_file_epoch = version; + const wtv_download_list = []; + let newest_file_epoch = version; Object.keys(diskmap_group_data.files).forEach(function (k) { if (!diskmap_group_data.files[k].location) diskmap_group_data.files[k].location = wtvshared.makeSafePath(diskmap_group_data.location,diskmap_group_data.files[k].file.replace(diskmap_group_data.base, ""), true); - var diskmap_data_file = null; + let diskmap_data_file = null; Object.keys(service_vaults).forEach(function (g) { if (diskmap_data_file != null) return; diskmap_data_file = service_vaults[g] + "/" + service_name + "/" + diskmap_group_data.files[k].location; @@ -220,8 +220,8 @@ if (request_headers['wtv-request-type'] == 'download') { }); if (diskmap_data_file) { - var diskmap_file_stat = fs.lstatSync(diskmap_data_file); - var diskmap_file_data = Buffer.from(fs.readFileSync(diskmap_data_file, { + const diskmap_file_stat = fs.lstatSync(diskmap_data_file); + const diskmap_file_data = Buffer.from(fs.readFileSync(diskmap_data_file, { encoding: null, flags: 'r' })); @@ -232,15 +232,14 @@ if (request_headers['wtv-request-type'] == 'download') { // we need the checksum of the uncompressed data if (wtvshared.getFileExt(diskmap_data_file).toLowerCase() == "gz") { - var diskmap_data_filename = path.basename(diskmap_data_file); - var gunzipped = zlib.gunzipSync(diskmap_file_data); + const diskmap_data_filename = path.basename(diskmap_data_file); + const gunzipped = zlib.gunzipSync(diskmap_file_data); diskmap_group_data.files[k].checksum = CryptoJS.MD5(CryptoJS.lib.WordArray.create(gunzipped)).toString(CryptoJS.enc.Hex).toLowerCase(); - var gzip_fn_end = diskmap_file_data.indexOf("\0", 10); + const gzip_fn_end = diskmap_file_data.indexOf("\0", 10); if (!diskmap_group_data.files[k].dont_extract_filename) { diskmap_group_data.files[k].original_filename = diskmap_group_data.files[k].file.replace(diskmap_group_data.base,"").replace(diskmap_data_filename, diskmap_file_data.toString('utf8', 10, gzip_fn_end)); } diskmap_group_data.files[k].uncompressed_size = gunzipped.byteLength; - gunzipped = null; } else { diskmap_group_data.files[k].checksum = CryptoJS.MD5(CryptoJS.lib.WordArray.create(diskmap_file_data)).toString(CryptoJS.enc.Hex).toLowerCase(); } @@ -249,8 +248,6 @@ if (request_headers['wtv-request-type'] == 'download') { diskmap_group_data.files[k].invalid = true; wtv_download_list.push(diskmap_group_data.files[k]); - // Clean up file data from memory - diskmap_file_data = null; } }); // check to see if client says they have this version @@ -265,14 +262,14 @@ if (request_headers['wtv-request-type'] == 'download') { } }); }); - var diskmap_group_name = (diskmap_subgroup == null) ? diskmap_primary_group : diskmap_primary_group + "-" + diskmap_subgroup; + const diskmap_group_name = (diskmap_subgroup == null) ? diskmap_primary_group : diskmap_primary_group + "-" + diskmap_subgroup; diskmap_group_data.client_group_data = client_group_data[diskmap_group_name] || null; output_data = generateDownloadList(diskmap_group_name, wtv_download_list, diskmap_group_data); return output_data; } if (diskmap && request_headers.query.group) { - var diskmap_json_file = null; + let diskmap_json_file = null; Object.keys(service_vaults).forEach(function (g) { if (diskmap_json_file != null) return; diskmap_json_file = service_vaults[g] + "/" + service_name + "/" + diskmap_dir + diskmap + ".json"; @@ -282,8 +279,8 @@ if (request_headers['wtv-request-type'] == 'download') { if (diskmap_json_file != null) { try { // read diskmap - var json_stats = fs.lstatSync(diskmap_json_file); - var diskmap_data = JSON.parse(fs.readFileSync(diskmap_json_file).toString()); + const json_stats = fs.lstatSync(diskmap_json_file); + let diskmap_data = JSON.parse(fs.readFileSync(diskmap_json_file).toString()); if (!diskmap_data[request_headers.query.group]) { throw ("Invalid diskmap data (group does not match)"); } @@ -303,25 +300,25 @@ if (request_headers['wtv-request-type'] == 'download') { headers = "200 OK\nContent-Type: wtv/download-list"; } catch (e) { - var errpage = wtvshared.doErrorPage(400); + const errpage = wtvshared.doErrorPage(400); headers = errpage[0]; data = errpage[1]; console.error(" # " + service_name+":/sync error", e); } } else { - var errpage = wtvshared.doErrorPage(404, "The requested DiskMap does not exist."); + const errpage = wtvshared.doErrorPage(404, "The requested DiskMap does not exist."); headers = errpage[0]; data = errpage[1]; if (minisrv_config.config.debug_flags.debug) console.error(" # " + service_name +":/sync error", "could not find diskmap"); } } else { - var errpage = wtvshared.doErrorPage(400); + const errpage = wtvshared.doErrorPage(400); headers = errpage[0]; data = errpage[1]; if (minisrv_config.config.debug_flags.debug) console.error(" # " + service_name + ":/sync error", "missing query arguments"); } } else { - var queryString = Object.keys(request_headers.query) + const queryString = Object.keys(request_headers.query) .map(key => encodeURIComponent(key) + '=' + encodeURIComponent(request_headers.query[key])) .join('&'); headers = "302 Found\nLocation: wtv-disk:/content/DownloadScreen.tmpl" + (queryString ? ("?" + queryString) : ""); diff --git a/zefie_wtvp_minisrv/includes/ServiceVault/wtv-disk/userstore.js b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-disk/userstore.js index f257c06a..7a556bbd 100644 --- a/zefie_wtvp_minisrv/includes/ServiceVault/wtv-disk/userstore.js +++ b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-disk/userstore.js @@ -1,11 +1,11 @@ -var minisrv_service_file = true; +const minisrv_service_file = true; if (request_headers.post_data) { if (request_headers.query.partialPath || request_headers.query.path) { if (socket.ssid) { if (session_data) { if (session_data.isRegistered()) { - var result = session_data.storeUserStoreFile(request_headers.query.path || request_headers.query.partialPath, new Buffer.from(request_headers.post_data.toString(CryptoJS.enc.Hex), 'hex'), request_headers.query['last-modified-seconds'] || null, (request_headers.query.no_overwrite) ? false : true); + const result = session_data.storeUserStoreFile(request_headers.query.path || request_headers.query.partialPath, new Buffer.from(request_headers.post_data.toString(CryptoJS.enc.Hex), 'hex'), request_headers.query['last-modified-seconds'] || null, (request_headers.query.no_overwrite) ? false : true); if (result) { headers = "200 OK\n"; headers += "Content-Type: text/plain"; @@ -17,7 +17,7 @@ if (request_headers.post_data) { } if (!headers) { - var errpage = wtvshared.doErrorPage(400) + const errpage = wtvshared.doErrorPage(400) headers = errpage[0]; data = errpage[1]; } \ No newline at end of file diff --git a/zefie_wtvp_minisrv/includes/ServiceVault/wtv-flashrom/big-willie.js b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-flashrom/big-willie.js index b1367db7..54296d0a 100644 --- a/zefie_wtvp_minisrv/includes/ServiceVault/wtv-flashrom/big-willie.js +++ b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-flashrom/big-willie.js @@ -1,16 +1,17 @@ -var minisrv_service_file = true; -var request_is_async = true; +const minisrv_service_file = true; -var options = { +request_is_async = true; + +const options = { host: "flashrom.webtv.onl", port: 443, path: "/big-willie.html" }; -var data = ""; +let data = ""; console.log(" * Getting Big Willie Page"); -var req = https.request(options, function(res) { +const req = https.request(options, function(res) { res.setEncoding("utf8"); res.on("data", function (chunk) { data += chunk; @@ -24,12 +25,10 @@ var req = https.request(options, function(res) { res.on('error', function (e) { if (!minisrv_config.config.debug_flags.quiet) console.log(" * Upstream Big Willies HTTP Error:", e); - var errpage = wtvshared.doErrorPage(400, "A required service is not responding. Please try again in a few moments."); + const errpage = wtvshared.doErrorPage(400, "A required service is not responding. Please try again in a few moments."); headers = errpage[0]; data = errpage[1]; sendToClient(socket, headers, data); }); - - - +}); req.end(); \ No newline at end of file diff --git a/zefie_wtvp_minisrv/includes/ServiceVault/wtv-flashrom/content/content-serve.js b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-flashrom/content/content-serve.js index e39e6741..f1ac736e 100644 --- a/zefie_wtvp_minisrv/includes/ServiceVault/wtv-flashrom/content/content-serve.js +++ b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-flashrom/content/content-serve.js @@ -1,11 +1,10 @@ -var minisrv_service_file = true; +const minisrv_service_file = true; +request_is_async = true; -var request_is_async = true; - -var bf0app_update = false; -var request_path = request_headers.request_url.replace(service_name + ":/", ""); -var romtype = session_data.get("wtv-client-rom-type"); -var bootver = session_data.get("wtv-client-bootrom-version") +let bf0app_update = false; +const request_path = request_headers.request_url.replace(service_name + ":/", ""); +const romtype = session_data.get("wtv-client-rom-type"); +const bootver = session_data.get("wtv-client-bootrom-version") if ((romtype == "bf0app" || !romtype) && (bootver == "105" || !bootver)) { // assume old classic in flash mode, override user setting and send tellyscript diff --git a/zefie_wtvp_minisrv/includes/ServiceVault/wtv-flashrom/current-noflash.js b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-flashrom/current-noflash.js index 18589f31..f621026e 100644 --- a/zefie_wtvp_minisrv/includes/ServiceVault/wtv-flashrom/current-noflash.js +++ b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-flashrom/current-noflash.js @@ -1,4 +1,4 @@ -var minisrv_service_file = true; +const minisrv_service_file = true; request_is_async = true; @@ -7,11 +7,11 @@ request_is_async = true; // https://flashrom.webtv.onl/content/artemis-webtv-000/ // and put everything from 'content/' onwards, including the part000.rom filename // example is below -var default_build_to_send = minisrv_config.services[service_name].bf0app_default_rom || "content/artemis-webtv-000/build7181/daily-nondebug/bf0app-part000.rom"; +const default_build_to_send = minisrv_config.services[service_name].bf0app_default_rom || "content/artemis-webtv-000/build7181/daily-nondebug/bf0app-part000.rom"; -var request_path = ""; -var bf0app_update = true; +let request_path = ""; +let bf0app_update = true; if (request_headers.query.path) request_path = request_headers.query.path; else request_path = default_build_to_send; diff --git a/zefie_wtvp_minisrv/includes/ServiceVault/wtv-flashrom/get-by-path.js b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-flashrom/get-by-path.js index b9194f66..cc717105 100644 --- a/zefie_wtvp_minisrv/includes/ServiceVault/wtv-flashrom/get-by-path.js +++ b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-flashrom/get-by-path.js @@ -1,11 +1,11 @@ -var minisrv_service_file = true; +const minisrv_service_file = true; request_is_async = true; -var bf0app_update = false; -var request_path = request_headers.query.path; -var romtype = session_data.get("wtv-client-rom-type"); -var bootver = session_data.get("wtv-client-bootrom-version") +let bf0app_update = false; +const request_path = request_headers.query.path; +const romtype = session_data.get("wtv-client-rom-type"); +const bootver = session_data.get("wtv-client-bootrom-version"); if ((romtype == "bf0app" || !romtype) && (bootver == "105" || !bootver)) { // assume old classic in flash mode, override user setting and send tellyscript @@ -29,7 +29,7 @@ if (request_headers.query.raw || bf0app_update) { headers += "Content-type: text/html" data = ''; } else { - var errpage = wtvshared.doErrorPage(404) + const errpage = wtvshared.doErrorPage(404) headers = errpage[0]; data = errpage[1]; } diff --git a/zefie_wtvp_minisrv/includes/ServiceVault/wtv-flashrom/get-lc2-page.js b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-flashrom/get-lc2-page.js index dee0c093..bfb1279c 100644 --- a/zefie_wtvp_minisrv/includes/ServiceVault/wtv-flashrom/get-lc2-page.js +++ b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-flashrom/get-lc2-page.js @@ -1,9 +1,9 @@ -var minisrv_service_file = true; +const minisrv_service_file = true; request_is_async = true; if (!request_headers.query.path) { - var errpage = wtvshared.doErrorPage(400); + const errpage = wtvshared.doErrorPage(400); headers = errpage[0]; data = errpage[1]; } else { @@ -16,8 +16,8 @@ Location: ${service_name}:/lc2-download-complete?` data = ''; sendToClient(socket, headers, data); } else { - var wtvflashrom = new WTVFlashrom(minisrv_config, service_vaults, service_name, minisrv_config.services[service_name].use_zefie_server, false, (minisrv_config.services[service_name].debug ? false : true)); - var request_path = request_headers.query.path; + const wtvflashrom = new WTVFlashrom(minisrv_config, service_vaults, service_name, minisrv_config.services[service_name].use_zefie_server, false, (minisrv_config.services[service_name].debug ? false : true)); + const request_path = request_headers.query.path; // read flashrom header info into array using WTVFlashrom class wtvflashrom.getFlashromMeta(request_path, function (data, headers) { @@ -35,7 +35,7 @@ async function processLC2DownloadPage(flashrom_info, headers, numparts = null) { return false; } if (numparts != null) flashrom_info.part_count = parseInt(numparts); - if (!flashrom_info.part_count) flashrom_info.part_count = parseInt(flashrom_info.message.substring(flashrom_info.message.length - 4).replace(/\D/g, '')); + if (!flashrom_info.part_count) flashrom_info.part_count = parseInt(flashrom_info.message.slice(flashrom_info.message.length - 4).replace(/\D/g, '')); if (parseInt(flashrom_info.part_number) >= 0 && flashrom_info.rompath && flashrom_info.next_rompath) { if (!flashrom_info.message && flashrom_info.is_bootrom) { flashrom_info.message = "BootRom Part " + (flashrom_info.part_number + 1) + " of " + flashrom_info.part_count; @@ -190,7 +190,7 @@ ${flashrom_info.message} `; } else { - var errpage = wtvshared.doErrorPage(400) + const errpage = wtvshared.doErrorPage(400); headers = errpage[0]; headers += "\nminisrv-no-mail-count: true\nwtv-expire-all: wtv-flashrom:/get-lc2-page?"; data = errpage[1]; diff --git a/zefie_wtvp_minisrv/includes/ServiceVault/wtv-flashrom/initiate-lc2-download.js b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-flashrom/initiate-lc2-download.js index 78c0f43c..bec665f3 100644 --- a/zefie_wtvp_minisrv/includes/ServiceVault/wtv-flashrom/initiate-lc2-download.js +++ b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-flashrom/initiate-lc2-download.js @@ -1,8 +1,8 @@ -var minisrv_service_file = true; +const minisrv_service_file = true; if (request_headers.query.path) { -var url = service_name + ":/get-lc2-page?path=" + request_headers.query.path; -var romtype = session_data.get("wtv-client-rom-type"); + let url = service_name + ":/get-lc2-page?path=" + request_headers.query.path; + const romtype = session_data.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=" + encodeURIComponent(service_name + ":/" + request_headers.query.path); if (request_headers.query.numparts) url += encodeURIComponent("?numparts=" + request_headers.query.numparts); @@ -16,7 +16,7 @@ var romtype = session_data.get("wtv-client-rom-type"); headers += "Content-type: text/html"; data = ''; } else { - var errpage = wtvshared.doErrorPage(400) + const errpage = wtvshared.doErrorPage(400) headers = errpage[0]; data = errpage[1]; } \ No newline at end of file diff --git a/zefie_wtvp_minisrv/includes/ServiceVault/wtv-flashrom/lc2-download-complete.js b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-flashrom/lc2-download-complete.js index 98520248..3f09ae3e 100644 --- a/zefie_wtvp_minisrv/includes/ServiceVault/wtv-flashrom/lc2-download-complete.js +++ b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-flashrom/lc2-download-complete.js @@ -1,4 +1,4 @@ -var minisrv_service_file = true; +const minisrv_service_file = true; headers = `200 OK Content-type: text/html diff --git a/zefie_wtvp_minisrv/includes/ServiceVault/wtv-flashrom/lc2-download-failed.js b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-flashrom/lc2-download-failed.js index 8159c2a4..19cedd4a 100644 --- a/zefie_wtvp_minisrv/includes/ServiceVault/wtv-flashrom/lc2-download-failed.js +++ b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-flashrom/lc2-download-failed.js @@ -1,6 +1,6 @@ -var minisrv_service_file = true; +const minisrv_service_file = true; -var error = ''; +let error = ''; if (request_headers.query.error) { switch (request_headers.query.error) { case "1": @@ -34,9 +34,8 @@ if (request_headers.query.error) { } -var try_again_url = service_name + ":/willie"; -var try_again_url_path = '' -var try_again_url_start_time = parseInt(new Date().toUTCString()) / 1000; +const try_again_url = service_name + ":/willie"; +const try_again_url_start_time = parseInt(new Date().toUTCString()) / 1000; headers = `200 OK Content-type: text/html` diff --git a/zefie_wtvp_minisrv/includes/ServiceVault/wtv-flashrom/noflash.js b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-flashrom/noflash.js index bcfa0c22..e3f52f01 100644 --- a/zefie_wtvp_minisrv/includes/ServiceVault/wtv-flashrom/noflash.js +++ b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-flashrom/noflash.js @@ -1,4 +1,4 @@ -var minisrv_service_file = true; +const minisrv_service_file = true; request_is_async = true; @@ -7,18 +7,17 @@ request_is_async = true; // https://archive.midnightchannel.net/zefie/files/wtv-flashrom/content/artemis-webtv-000/ // and put everything from 'content/' onwards, including the part000.rom filename // example is below -var default_build_to_send = minisrv_config.services[service_name].bf0app_default_rom || "content/artemis-webtv-000/build7181/daily-nondebug/bf0app-part000.rom"; +const default_build_to_send = minisrv_config.services[service_name].bf0app_default_rom || "content/artemis-webtv-000/build7181/daily-nondebug/bf0app-part000.rom"; -var request_path = ""; -var bf0app_update = true; +let request_path = ""; +const bf0app_update = true; if (request_headers.query.path) request_path = request_headers.query.path; else request_path = default_build_to_send; if (session_data.get("wtv-client-rom-type") == "bf0app" && session_data.get("wtv-client-bootrom-version") == "105") { // assume old classic in flash mode, override user setting and send tellyscript // because it is required to proceed in flash mode - bf0app_update = true; session_data.set("bf0app_update", bf0app_update); } diff --git a/zefie_wtvp_minisrv/includes/ServiceVault/wtv-flashrom/willie.js b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-flashrom/willie.js index 4074feb3..eaa1ef77 100644 --- a/zefie_wtvp_minisrv/includes/ServiceVault/wtv-flashrom/willie.js +++ b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-flashrom/willie.js @@ -1,11 +1,11 @@ -var minisrv_service_file = true; +const minisrv_service_file = true; // willie is just a graphical frontend to a list of ROMs // the rest of the scripts should work if you manually link to a ROM, and actually have it. request_is_async = true; -var proxy_query = ''; +let proxy_query = ''; if (request_headers.query.flash) delete request_headers.query.flash; if (request_headers.query.vflash) delete request_headers.query.vflash; if (request_headers.query.pflash) delete request_headers.query.pflash; @@ -18,7 +18,7 @@ if (!minisrv_config.services[service_name].use_zefie_server) { proxy_query += "&minisrv_local_mode=true"; } -var options = { +const options = { host: "roms.minisrv.dev", path: "/?minisrv=true&service_name="+encodeURIComponent(service_name)+"&pflash=" + session_data.get("wtv-client-rom-type") + proxy_query, timeout: 5000, @@ -35,7 +35,7 @@ const req = https.request(options, function (res) { res.on('error', function (e) { if (!minisrv_config.config.debug_flags.quiet) console.log(" * Upstream Ultra Willies HTTP Error:", e); - var errpage = wtvshared.doErrorPage(400, "A required service is not responding. Please try again in a few moments."); + const errpage = wtvshared.doErrorPage(400, "A required service is not responding. Please try again in a few moments."); headers = errpage[0]; data = errpage[1]; sendToClient(socket, headers, data); diff --git a/zefie_wtvp_minisrv/includes/ServiceVault/wtv-guide/help.js b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-guide/help.js index ed368876..2e9d705a 100644 --- a/zefie_wtvp_minisrv/includes/ServiceVault/wtv-guide/help.js +++ b/zefie_wtvp_minisrv/includes/ServiceVault/wtv-guide/help.js @@ -1,4 +1,4 @@ -var minisrv_service_file = true; +const minisrv_service_file = true; data = wtvguide.generatePage(request_headers.query.topic || "Index", request_headers.query.subtopic || "Main", request_headers.query.page || null) @@ -7,7 +7,7 @@ if (data) { Connection: Keep-Alive Content-Type: text/html` } else { - err = wtvshared.doErrorPage(500); + const err = wtvshared.doErrorPage(500); console.log(" * wtv-guide error: no implementation for selected for topic/subtopic, or an error occured during generation") headers = err[0]; data = err[1]; diff --git a/zefie_wtvp_minisrv/includes/config.json b/zefie_wtvp_minisrv/includes/config.json index 0a113ce6..d64fdc7f 100644 --- a/zefie_wtvp_minisrv/includes/config.json +++ b/zefie_wtvp_minisrv/includes/config.json @@ -279,7 +279,10 @@ "debug": false, "use_zefie_server": true, // access zefie's repository of flashroms, local roms will still be used if they exist. Best left unchanged. "bf0app_default_rom": "content/artemis-webtv-000/build7377/internal-nondebug/bf0app-part000.rom", // Can change the default build for bf0app - "catchall_file_name": "content-serve.js" // catchall for ROM part files. Best left untouched + "catchall_file_name": "content-serve.js", // catchall for ROM part files. Best left untouched + "modules": [ + "WTVFlashrom" + ] }, "wtv-setup": { // wtv-setup diff --git a/zefie_wtvp_minisrv/test.js b/zefie_wtvp_minisrv/test.js index ba67a4d1..89dbcf59 100644 --- a/zefie_wtvp_minisrv/test.js +++ b/zefie_wtvp_minisrv/test.js @@ -152,6 +152,11 @@ function checkScopeErrors(file) { "session_data": "readonly", }; } + + if (serviceName === "wtv-guide") { + eslintConfig.globals["wtvguide"] = "readonly"; + } + if (service.modules) { for (const moduleName of service.modules) { eslintConfig.globals[moduleName] = "readonly";