- convert post_data to query if valid query data
 - wtv-register system
 - Store Session data as JSON flat file
 - wtv-cookie support
 - spent way too much time on a page no one will read
 - move filterSSID to WTVClientSessionData
 - disable compression until fixed
 - do not delete WTVSec on last socket, instead recreate on prereg
 - set 'wtv-bypass-proxy' to false
 - rework header whitelist system for HTTP(s) proxy
 - clean up SSID session data only if client is not seen for 3 minutes
 - add shouldWeCompress() function
 - add additional headers to wtv-setup:/get
 - add initial blank wtv-music:/get-playlist
 - update: WTVClientCapabilities: add unknown bits instead of logging error
 - update: fix flashrom system
 - update: webone example config
 - update: app.js: more 'binary block' exclusions
 - update: fix tellyscript folder name for case-sensitive filesystems
 - add Lzpf compression
This commit is contained in:
zefie
2021-08-06 00:05:58 -04:00
parent b4a04d49cd
commit 622afce5c7
45 changed files with 2424 additions and 206 deletions

View File

@@ -1,7 +1,6 @@
const WTVFlashrom = require("./WTVFlashrom.js");
var wtvflashrom;
var flashrom_info;
request_is_async = true;
if (!request_headers.query.path) {
@@ -12,19 +11,18 @@ if (!request_headers.query.path) {
var wtvflashrom = new WTVFlashrom(service_vaults, service_name, minisrv_config.services[service_name].use_zefie_server);
var request_path = unescape(request_headers.query.path);
// read 512 bytes of rom
flashrom_info = wtvflashrom.getFlashRom(request_path, function (data, headers = null) {
// read flashrom header info into array using WTVFlashrom class
wtvflashrom.getFlashromMeta(request_path, function (data) {
processLC2DownloadPage(request_headers.query.path, data, (request_headers.query.numparts || null));
}, 512);
});
}
async function processLC2DownloadPage(path, flashrom_info, numparts = null) {
var flashrom_numparts = null;
if (numparts != null) flashrom_numparts = parseInt(numparts);
if (!flashrom_numparts) flashrom_numparts = parseInt(flashrom_info.message.substring(flashrom_info.message.length - 4).replace(/\D/g, ''));
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.is_last_part) {
flashrom_info.next_rompath = flashrom_info.next_rompath.replace("get-by-path", "get-lc2-page").replace("&raw=true", "&numparts=" + parseInt(flashrom_numparts));
flashrom_info.next_rompath = flashrom_info.next_rompath.replace("get-by-path", "get-lc2-page").replace("&raw=true", "&numparts=" + flashrom_info.part_count);
}
if (!flashrom_info.part_number || !flashrom_info.is_last_part || !flashrom_info.rompath || !flashrom_info.next_rompath || !flashrom_info.is_bootrom) {
@@ -99,8 +97,8 @@ blockurl="${flashrom_info.rompath}"
lastblock="${flashrom_info.is_last_part}"
curblock="` + (flashrom_info.part_number + 1) + `"
`
if (flashrom_numparts) {
data += `totalblocks="${flashrom_numparts}"`;
if (flashrom_info.part_count) {
data += `totalblocks="${flashrom_info.part_count}"`;
}
data += `>
<font size="-1" color="#D6DFD0">