- numerous bug fixes - wtv-mail system - user account updates - viewergen alpha (experimental webtv viewer patcher on pc_service) - implement wtv-favorites with huge help from @JarHead4 - add wtv-ticket store api - Bump vm2 from 3.9.5 to 3.9.7 in /zefie_wtvp_minisrv - fix bf0app default rom - Add wtv-1800 service to wtv-1800:/noflash - handle webtvism: - allow get/post variables to be the same name multiple times - rather than overwrite, the server will now change the variable from a string to an array. - Rewrite script processing a bit - Instead of using eval() we now use a proper VM Context - As a result, any scripting errors will now give a more useful filename and line number. - However, some things may break, if they are dependant on variables we are not allowing in the context. - BREAKING CHANGES: - `ssid_sessions[socket.ssid]` is now `session_data` - `require` is no longer allowed in user scripts - add star service - change how we handle modules for services in the VM - fixed wtv-disk:/sync always failed the first time - implement production-like wtv-star handling (when a service port becomes unavailable, it requests the url over the wtv-star port to show an error page) - renamed WTVDownloadList.js to WTVDisk.js - a bit more work on WTVNews (created class) - probably more stuff I can't remember
52 lines
1.8 KiB
JavaScript
52 lines
1.8 KiB
JavaScript
const { WTVShared } = require(classPath + "/WTVShared.js");
|
|
var wtvshared = new WTVShared(null, true);
|
|
const fs = require('fs');
|
|
|
|
function showUsage() {
|
|
console.log(" * Usage:", process.argv[0], process.argv[1], "<file to CompB64>");
|
|
process.exit(1);
|
|
}
|
|
|
|
if (process.argv) {
|
|
if (process.argv[2]) {
|
|
var reverse = false;
|
|
var file = process.argv[2];
|
|
if (file == "-d") {
|
|
file = process.argv[3];
|
|
reverse = true;
|
|
}
|
|
if (fs.existsSync(file)) {
|
|
console.log(` * Processing ${file} ...`)
|
|
if (reverse) {
|
|
var outfile = file.replace(/\.cb64\.txt/,'') + ".dec.txt";
|
|
var encodedData = fs.readFileSync(file);
|
|
var rawdata = wtvshared.unpackCompressedB64(encodedData);
|
|
try {
|
|
fs.writeFileSync(outfile, rawdata);
|
|
console.log(` * Successfully decoded into ${outfile}`)
|
|
} catch (e) {
|
|
console.error("Error processing file:", e)
|
|
process.exit(1);
|
|
}
|
|
} else {
|
|
var outfile = file + ".cb64.txt";
|
|
var rawdata = fs.readFileSync(file);
|
|
var encodedData = wtvshared.packCompressedB64(rawdata);
|
|
try {
|
|
fs.writeFileSync(outfile, encodedData);
|
|
console.log(` * Successfully encoded into ${outfile}`)
|
|
} catch (e) {
|
|
console.error("Error processing file:", e)
|
|
process.exit(1);
|
|
}
|
|
}
|
|
} else {
|
|
console.error(` * Could not find file ${file}`)
|
|
showUsage();
|
|
}
|
|
} else {
|
|
showUsage();
|
|
}
|
|
} else {
|
|
showUsage();
|
|
} |